diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..81f627b --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,9 @@ +--- +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" + assignees: + - rissson diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml new file mode 100644 index 0000000..5d6a15f --- /dev/null +++ b/.github/workflows/update.yml @@ -0,0 +1,48 @@ +--- +name: update + +on: + workflow_dispatch: + schedule: + - cron: "*/15 * * * *" + +permissions: + contents: write + +jobs: + schema: + runs-on: ubuntu-latest + steps: + - id: generate_token + uses: tibdex/github-app-token@v2 + with: + app_id: ${{ secrets.GH_APP_ID }} + private_key: ${{ secrets.GH_APP_PRIVATE_KEY }} + - name: Check out code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ steps.generate_token.outputs.token }} + - uses: actions-rust-lang/setup-rust-toolchain@v1 + - name: Cargo login + env: + CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} + run: cargo login + - name: Check for updates + run: make + - name: Push + id: push + env: + GH_TOKEN: ${{ steps.generate_token.outputs.token }} + # ID from https://api.github.com/users/authentik-automation[bot] + run: | + git config --global user.email "135050075+authentik-automation[bot]@users.noreply.github.com" + git config --global user.name "authentik-automation[bot]" + git add . + git commit -F "diff.test" || exit 0 + git push + version=$(cd version && cargo run) + git tag $version + git push --tags + cargo publish + gh release create $version -F diff.test diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..78dcb6c --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +/target/ +**/*.rs.bk +Cargo.lock +!version/Cargo.lock +diff.test diff --git a/.openapi-generator-ignore b/.openapi-generator-ignore new file mode 100644 index 0000000..7484ee5 --- /dev/null +++ b/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES new file mode 100644 index 0000000..510a98f --- /dev/null +++ b/.openapi-generator/FILES @@ -0,0 +1,1339 @@ +.gitignore +.travis.yml +Cargo.toml +README.md +docs/AccessDeniedChallenge.md +docs/AdminApi.md +docs/AlgEnum.md +docs/App.md +docs/AppEnum.md +docs/AppleChallengeResponseRequest.md +docs/AppleLoginChallenge.md +docs/Application.md +docs/ApplicationRequest.md +docs/AuthModeEnum.md +docs/AuthTypeEnum.md +docs/AuthenticatedSession.md +docs/AuthenticatedSessionAsn.md +docs/AuthenticatedSessionGeoIp.md +docs/AuthenticatedSessionUserAgent.md +docs/AuthenticatedSessionUserAgentDevice.md +docs/AuthenticatedSessionUserAgentOs.md +docs/AuthenticatedSessionUserAgentUserAgent.md +docs/AuthenticationEnum.md +docs/AuthenticatorAttachmentEnum.md +docs/AuthenticatorDuoChallenge.md +docs/AuthenticatorDuoChallengeResponseRequest.md +docs/AuthenticatorDuoStage.md +docs/AuthenticatorDuoStageDeviceImportResponse.md +docs/AuthenticatorDuoStageManualDeviceImportRequest.md +docs/AuthenticatorDuoStageRequest.md +docs/AuthenticatorSmsChallenge.md +docs/AuthenticatorSmsChallengeResponseRequest.md +docs/AuthenticatorSmsStage.md +docs/AuthenticatorSmsStageRequest.md +docs/AuthenticatorStaticChallenge.md +docs/AuthenticatorStaticChallengeResponseRequest.md +docs/AuthenticatorStaticStage.md +docs/AuthenticatorStaticStageRequest.md +docs/AuthenticatorTotpChallenge.md +docs/AuthenticatorTotpChallengeResponseRequest.md +docs/AuthenticatorTotpStage.md +docs/AuthenticatorTotpStageRequest.md +docs/AuthenticatorValidateStage.md +docs/AuthenticatorValidateStageRequest.md +docs/AuthenticatorValidationChallenge.md +docs/AuthenticatorValidationChallengeResponseRequest.md +docs/AuthenticatorWebAuthnChallenge.md +docs/AuthenticatorWebAuthnChallengeResponseRequest.md +docs/AuthenticatorWebAuthnStage.md +docs/AuthenticatorWebAuthnStageRequest.md +docs/AuthenticatorsApi.md +docs/AutoSubmitChallengeResponseRequest.md +docs/AutosubmitChallenge.md +docs/BackendsEnum.md +docs/BindingTypeEnum.md +docs/BlueprintFile.md +docs/BlueprintInstance.md +docs/BlueprintInstanceRequest.md +docs/BlueprintInstanceStatusEnum.md +docs/Brand.md +docs/BrandRequest.md +docs/Cache.md +docs/CapabilitiesEnum.md +docs/CaptchaChallenge.md +docs/CaptchaChallengeResponseRequest.md +docs/CaptchaStage.md +docs/CaptchaStageRequest.md +docs/CertificateData.md +docs/CertificateGenerationRequest.md +docs/CertificateKeyPair.md +docs/CertificateKeyPairRequest.md +docs/ChallengeTypes.md +docs/ClientTypeEnum.md +docs/Config.md +docs/ConnectionToken.md +docs/ConnectionTokenRequest.md +docs/ConsentChallenge.md +docs/ConsentChallengeResponseRequest.md +docs/ConsentPermission.md +docs/ConsentStage.md +docs/ConsentStageModeEnum.md +docs/ConsentStageRequest.md +docs/ContextualFlowInfo.md +docs/ContextualFlowInfoLayoutEnum.md +docs/Coordinate.md +docs/CoreApi.md +docs/CountryCodeEnum.md +docs/CryptoApi.md +docs/CurrentBrand.md +docs/DeniedActionEnum.md +docs/DenyStage.md +docs/DenyStageRequest.md +docs/DetailedCountry.md +docs/DetailedCountryField.md +docs/DetailedCountryFieldRequest.md +docs/Device.md +docs/DeviceChallenge.md +docs/DeviceChallengeRequest.md +docs/DeviceClassesEnum.md +docs/DigestAlgorithmEnum.md +docs/DigitsEnum.md +docs/DockerServiceConnection.md +docs/DockerServiceConnectionRequest.md +docs/Domain.md +docs/DomainRequest.md +docs/DummyChallenge.md +docs/DummyChallengeResponseRequest.md +docs/DummyPolicy.md +docs/DummyPolicyRequest.md +docs/DummyStage.md +docs/DummyStageRequest.md +docs/DuoDevice.md +docs/DuoDeviceEnrollmentStatus.md +docs/DuoDeviceRequest.md +docs/DuoResponseEnum.md +docs/EmailChallenge.md +docs/EmailChallengeResponseRequest.md +docs/EmailStage.md +docs/EmailStageRequest.md +docs/Endpoint.md +docs/EndpointRequest.md +docs/EnterpriseApi.md +docs/ErrorDetail.md +docs/ErrorReportingConfig.md +docs/Event.md +docs/EventActions.md +docs/EventMatcherPolicy.md +docs/EventMatcherPolicyRequest.md +docs/EventRequest.md +docs/EventTopPerUser.md +docs/EventsApi.md +docs/ExpiringBaseGrantModel.md +docs/ExpressionPolicy.md +docs/ExpressionPolicyRequest.md +docs/ExtraRoleObjectPermission.md +docs/ExtraRoleObjectPermissionRequest.md +docs/ExtraUserObjectPermission.md +docs/ExtraUserObjectPermissionRequest.md +docs/FilePathRequest.md +docs/Flow.md +docs/FlowChallengeResponseRequest.md +docs/FlowDesignationEnum.md +docs/FlowDiagram.md +docs/FlowErrorChallenge.md +docs/FlowImportResult.md +docs/FlowInspection.md +docs/FlowInspectorPlan.md +docs/FlowLayoutEnum.md +docs/FlowRequest.md +docs/FlowSet.md +docs/FlowSetRequest.md +docs/FlowStageBinding.md +docs/FlowStageBindingRequest.md +docs/FlowsApi.md +docs/FooterLink.md +docs/GenericError.md +docs/GeoIpPolicy.md +docs/GeoIpPolicyRequest.md +docs/GeoipBindingEnum.md +docs/GoogleWorkspaceProvider.md +docs/GoogleWorkspaceProviderGroup.md +docs/GoogleWorkspaceProviderGroupRequest.md +docs/GoogleWorkspaceProviderMapping.md +docs/GoogleWorkspaceProviderMappingRequest.md +docs/GoogleWorkspaceProviderRequest.md +docs/GoogleWorkspaceProviderUser.md +docs/GoogleWorkspaceProviderUserRequest.md +docs/Group.md +docs/GroupMatchingModeEnum.md +docs/GroupMember.md +docs/GroupMemberRequest.md +docs/GroupOAuthSourceConnection.md +docs/GroupPlexSourceConnection.md +docs/GroupRequest.md +docs/GroupSamlSourceConnection.md +docs/IdentificationChallenge.md +docs/IdentificationChallengeResponseRequest.md +docs/IdentificationStage.md +docs/IdentificationStageRequest.md +docs/InstallId.md +docs/IntentEnum.md +docs/InvalidResponseActionEnum.md +docs/Invitation.md +docs/InvitationRequest.md +docs/InvitationStage.md +docs/InvitationStageRequest.md +docs/IssuerModeEnum.md +docs/KubernetesServiceConnection.md +docs/KubernetesServiceConnectionRequest.md +docs/LdapCheckAccess.md +docs/LdapDebug.md +docs/LdapOutpostConfig.md +docs/LdapProvider.md +docs/LdapProviderRequest.md +docs/LdapSource.md +docs/LdapSourcePropertyMapping.md +docs/LdapSourcePropertyMappingRequest.md +docs/LdapSourceRequest.md +docs/LdapapiAccessMode.md +docs/License.md +docs/LicenseFlagsEnum.md +docs/LicenseForecast.md +docs/LicenseRequest.md +docs/LicenseSummary.md +docs/LicenseSummaryStatusEnum.md +docs/Link.md +docs/LogEvent.md +docs/LogLevelEnum.md +docs/LoginChallengeTypes.md +docs/LoginMetrics.md +docs/LoginSource.md +docs/ManagedApi.md +docs/Metadata.md +docs/MicrosoftEntraProvider.md +docs/MicrosoftEntraProviderGroup.md +docs/MicrosoftEntraProviderGroupRequest.md +docs/MicrosoftEntraProviderMapping.md +docs/MicrosoftEntraProviderMappingRequest.md +docs/MicrosoftEntraProviderRequest.md +docs/MicrosoftEntraProviderUser.md +docs/MicrosoftEntraProviderUserRequest.md +docs/ModelEnum.md +docs/ModelRequest.md +docs/NameIdPolicyEnum.md +docs/NetworkBindingEnum.md +docs/NotConfiguredActionEnum.md +docs/Notification.md +docs/NotificationRequest.md +docs/NotificationRule.md +docs/NotificationRuleRequest.md +docs/NotificationTransport.md +docs/NotificationTransportModeEnum.md +docs/NotificationTransportRequest.md +docs/NotificationTransportTest.md +docs/NotificationWebhookMapping.md +docs/NotificationWebhookMappingRequest.md +docs/OAuth2Provider.md +docs/OAuth2ProviderRequest.md +docs/OAuth2ProviderSetupUrls.md +docs/OAuthDeviceCodeChallenge.md +docs/OAuthDeviceCodeChallengeResponseRequest.md +docs/OAuthDeviceCodeFinishChallenge.md +docs/OAuthDeviceCodeFinishChallengeResponseRequest.md +docs/OAuthSource.md +docs/OAuthSourcePropertyMapping.md +docs/OAuthSourcePropertyMappingRequest.md +docs/OAuthSourceRequest.md +docs/Oauth2Api.md +docs/OpenIdConnectConfiguration.md +docs/OutgoingSyncDeleteAction.md +docs/Outpost.md +docs/OutpostDefaultConfig.md +docs/OutpostHealth.md +docs/OutpostRequest.md +docs/OutpostTypeEnum.md +docs/OutpostsApi.md +docs/PaginatedApplicationList.md +docs/PaginatedAuthenticatedSessionList.md +docs/PaginatedAuthenticatorDuoStageList.md +docs/PaginatedAuthenticatorSmsStageList.md +docs/PaginatedAuthenticatorStaticStageList.md +docs/PaginatedAuthenticatorTotpStageList.md +docs/PaginatedAuthenticatorValidateStageList.md +docs/PaginatedAuthenticatorWebAuthnStageList.md +docs/PaginatedBlueprintInstanceList.md +docs/PaginatedBrandList.md +docs/PaginatedCaptchaStageList.md +docs/PaginatedCertificateKeyPairList.md +docs/PaginatedConnectionTokenList.md +docs/PaginatedConsentStageList.md +docs/PaginatedDenyStageList.md +docs/PaginatedDockerServiceConnectionList.md +docs/PaginatedDomainList.md +docs/PaginatedDummyPolicyList.md +docs/PaginatedDummyStageList.md +docs/PaginatedDuoDeviceList.md +docs/PaginatedEmailStageList.md +docs/PaginatedEndpointList.md +docs/PaginatedEventList.md +docs/PaginatedEventMatcherPolicyList.md +docs/PaginatedExpiringBaseGrantModelList.md +docs/PaginatedExpressionPolicyList.md +docs/PaginatedExtraRoleObjectPermissionList.md +docs/PaginatedExtraUserObjectPermissionList.md +docs/PaginatedFlowList.md +docs/PaginatedFlowStageBindingList.md +docs/PaginatedGeoIpPolicyList.md +docs/PaginatedGoogleWorkspaceProviderGroupList.md +docs/PaginatedGoogleWorkspaceProviderList.md +docs/PaginatedGoogleWorkspaceProviderMappingList.md +docs/PaginatedGoogleWorkspaceProviderUserList.md +docs/PaginatedGroupList.md +docs/PaginatedGroupOAuthSourceConnectionList.md +docs/PaginatedGroupPlexSourceConnectionList.md +docs/PaginatedGroupSamlSourceConnectionList.md +docs/PaginatedIdentificationStageList.md +docs/PaginatedInvitationList.md +docs/PaginatedInvitationStageList.md +docs/PaginatedKubernetesServiceConnectionList.md +docs/PaginatedLdapOutpostConfigList.md +docs/PaginatedLdapProviderList.md +docs/PaginatedLdapSourceList.md +docs/PaginatedLdapSourcePropertyMappingList.md +docs/PaginatedLicenseList.md +docs/PaginatedMicrosoftEntraProviderGroupList.md +docs/PaginatedMicrosoftEntraProviderList.md +docs/PaginatedMicrosoftEntraProviderMappingList.md +docs/PaginatedMicrosoftEntraProviderUserList.md +docs/PaginatedNotificationList.md +docs/PaginatedNotificationRuleList.md +docs/PaginatedNotificationTransportList.md +docs/PaginatedNotificationWebhookMappingList.md +docs/PaginatedOAuth2ProviderList.md +docs/PaginatedOAuthSourceList.md +docs/PaginatedOAuthSourcePropertyMappingList.md +docs/PaginatedOutpostList.md +docs/PaginatedPasswordExpiryPolicyList.md +docs/PaginatedPasswordPolicyList.md +docs/PaginatedPasswordStageList.md +docs/PaginatedPermissionList.md +docs/PaginatedPlexSourceList.md +docs/PaginatedPlexSourcePropertyMappingList.md +docs/PaginatedPolicyBindingList.md +docs/PaginatedPolicyList.md +docs/PaginatedPromptList.md +docs/PaginatedPromptStageList.md +docs/PaginatedPropertyMappingList.md +docs/PaginatedProviderList.md +docs/PaginatedProxyOutpostConfigList.md +docs/PaginatedProxyProviderList.md +docs/PaginatedRacPropertyMappingList.md +docs/PaginatedRacProviderList.md +docs/PaginatedRadiusOutpostConfigList.md +docs/PaginatedRadiusProviderList.md +docs/PaginatedRadiusProviderPropertyMappingList.md +docs/PaginatedReputationList.md +docs/PaginatedReputationPolicyList.md +docs/PaginatedRoleAssignedObjectPermissionList.md +docs/PaginatedRoleList.md +docs/PaginatedSamlPropertyMappingList.md +docs/PaginatedSamlProviderList.md +docs/PaginatedSamlSourceList.md +docs/PaginatedSamlSourcePropertyMappingList.md +docs/PaginatedScimMappingList.md +docs/PaginatedScimProviderGroupList.md +docs/PaginatedScimProviderList.md +docs/PaginatedScimProviderUserList.md +docs/PaginatedScimSourceGroupList.md +docs/PaginatedScimSourceList.md +docs/PaginatedScimSourcePropertyMappingList.md +docs/PaginatedScimSourceUserList.md +docs/PaginatedScopeMappingList.md +docs/PaginatedServiceConnectionList.md +docs/PaginatedSmsDeviceList.md +docs/PaginatedSourceList.md +docs/PaginatedSourceStageList.md +docs/PaginatedStageList.md +docs/PaginatedStaticDeviceList.md +docs/PaginatedSystemTaskList.md +docs/PaginatedTenantList.md +docs/PaginatedTokenList.md +docs/PaginatedTokenModelList.md +docs/PaginatedTotpDeviceList.md +docs/PaginatedUserAssignedObjectPermissionList.md +docs/PaginatedUserConsentList.md +docs/PaginatedUserDeleteStageList.md +docs/PaginatedUserList.md +docs/PaginatedUserLoginStageList.md +docs/PaginatedUserLogoutStageList.md +docs/PaginatedUserOAuthSourceConnectionList.md +docs/PaginatedUserPlexSourceConnectionList.md +docs/PaginatedUserSamlSourceConnectionList.md +docs/PaginatedUserSourceConnectionList.md +docs/PaginatedUserWriteStageList.md +docs/PaginatedWebAuthnDeviceList.md +docs/PaginatedWebAuthnDeviceTypeList.md +docs/Pagination.md +docs/PasswordChallenge.md +docs/PasswordChallengeResponseRequest.md +docs/PasswordExpiryPolicy.md +docs/PasswordExpiryPolicyRequest.md +docs/PasswordPolicy.md +docs/PasswordPolicyRequest.md +docs/PasswordStage.md +docs/PasswordStageRequest.md +docs/PatchedApplicationRequest.md +docs/PatchedAuthenticatorDuoStageRequest.md +docs/PatchedAuthenticatorSmsStageRequest.md +docs/PatchedAuthenticatorStaticStageRequest.md +docs/PatchedAuthenticatorTotpStageRequest.md +docs/PatchedAuthenticatorValidateStageRequest.md +docs/PatchedAuthenticatorWebAuthnStageRequest.md +docs/PatchedBlueprintInstanceRequest.md +docs/PatchedBrandRequest.md +docs/PatchedCaptchaStageRequest.md +docs/PatchedCertificateKeyPairRequest.md +docs/PatchedConnectionTokenRequest.md +docs/PatchedConsentStageRequest.md +docs/PatchedDenyStageRequest.md +docs/PatchedDockerServiceConnectionRequest.md +docs/PatchedDomainRequest.md +docs/PatchedDummyPolicyRequest.md +docs/PatchedDummyStageRequest.md +docs/PatchedDuoDeviceRequest.md +docs/PatchedEmailStageRequest.md +docs/PatchedEndpointRequest.md +docs/PatchedEventMatcherPolicyRequest.md +docs/PatchedEventRequest.md +docs/PatchedExpressionPolicyRequest.md +docs/PatchedExtraRoleObjectPermissionRequest.md +docs/PatchedExtraUserObjectPermissionRequest.md +docs/PatchedFlowRequest.md +docs/PatchedFlowStageBindingRequest.md +docs/PatchedGeoIpPolicyRequest.md +docs/PatchedGoogleWorkspaceProviderMappingRequest.md +docs/PatchedGoogleWorkspaceProviderRequest.md +docs/PatchedGroupRequest.md +docs/PatchedIdentificationStageRequest.md +docs/PatchedInvitationRequest.md +docs/PatchedInvitationStageRequest.md +docs/PatchedKubernetesServiceConnectionRequest.md +docs/PatchedLdapProviderRequest.md +docs/PatchedLdapSourcePropertyMappingRequest.md +docs/PatchedLdapSourceRequest.md +docs/PatchedLicenseRequest.md +docs/PatchedMicrosoftEntraProviderMappingRequest.md +docs/PatchedMicrosoftEntraProviderRequest.md +docs/PatchedNotificationRequest.md +docs/PatchedNotificationRuleRequest.md +docs/PatchedNotificationTransportRequest.md +docs/PatchedNotificationWebhookMappingRequest.md +docs/PatchedOAuth2ProviderRequest.md +docs/PatchedOAuthSourcePropertyMappingRequest.md +docs/PatchedOAuthSourceRequest.md +docs/PatchedOutpostRequest.md +docs/PatchedPasswordExpiryPolicyRequest.md +docs/PatchedPasswordPolicyRequest.md +docs/PatchedPasswordStageRequest.md +docs/PatchedPermissionAssignRequest.md +docs/PatchedPlexSourcePropertyMappingRequest.md +docs/PatchedPlexSourceRequest.md +docs/PatchedPolicyBindingRequest.md +docs/PatchedPromptRequest.md +docs/PatchedPromptStageRequest.md +docs/PatchedProxyProviderRequest.md +docs/PatchedRacPropertyMappingRequest.md +docs/PatchedRacProviderRequest.md +docs/PatchedRadiusProviderPropertyMappingRequest.md +docs/PatchedRadiusProviderRequest.md +docs/PatchedReputationPolicyRequest.md +docs/PatchedRoleRequest.md +docs/PatchedSamlPropertyMappingRequest.md +docs/PatchedSamlProviderRequest.md +docs/PatchedSamlSourcePropertyMappingRequest.md +docs/PatchedSamlSourceRequest.md +docs/PatchedScimMappingRequest.md +docs/PatchedScimProviderRequest.md +docs/PatchedScimSourceGroupRequest.md +docs/PatchedScimSourcePropertyMappingRequest.md +docs/PatchedScimSourceRequest.md +docs/PatchedScimSourceUserRequest.md +docs/PatchedScopeMappingRequest.md +docs/PatchedSettingsRequest.md +docs/PatchedSmsDeviceRequest.md +docs/PatchedSourceStageRequest.md +docs/PatchedStaticDeviceRequest.md +docs/PatchedTenantRequest.md +docs/PatchedTokenRequest.md +docs/PatchedTotpDeviceRequest.md +docs/PatchedUserDeleteStageRequest.md +docs/PatchedUserLoginStageRequest.md +docs/PatchedUserLogoutStageRequest.md +docs/PatchedUserOAuthSourceConnectionRequest.md +docs/PatchedUserPlexSourceConnectionRequest.md +docs/PatchedUserRequest.md +docs/PatchedUserSamlSourceConnectionRequest.md +docs/PatchedUserWriteStageRequest.md +docs/PatchedWebAuthnDeviceRequest.md +docs/Permission.md +docs/PermissionAssignRequest.md +docs/PermissionAssignResult.md +docs/PlexAuthenticationChallenge.md +docs/PlexAuthenticationChallengeResponseRequest.md +docs/PlexSource.md +docs/PlexSourcePropertyMapping.md +docs/PlexSourcePropertyMappingRequest.md +docs/PlexSourceRequest.md +docs/PlexTokenRedeemRequest.md +docs/PoliciesApi.md +docs/Policy.md +docs/PolicyBinding.md +docs/PolicyBindingRequest.md +docs/PolicyEngineMode.md +docs/PolicyRequest.md +docs/PolicyTestRequest.md +docs/PolicyTestResult.md +docs/Prompt.md +docs/PromptChallenge.md +docs/PromptChallengeResponseRequest.md +docs/PromptRequest.md +docs/PromptStage.md +docs/PromptStageRequest.md +docs/PromptTypeEnum.md +docs/PropertyMapping.md +docs/PropertyMappingPreview.md +docs/PropertyMappingTestRequest.md +docs/PropertyMappingTestResult.md +docs/PropertymappingsApi.md +docs/ProtocolEnum.md +docs/Provider.md +docs/ProviderEnum.md +docs/ProviderModelEnum.md +docs/ProviderRequest.md +docs/ProviderTypeEnum.md +docs/ProvidersApi.md +docs/ProxyMode.md +docs/ProxyOutpostConfig.md +docs/ProxyProvider.md +docs/ProxyProviderRequest.md +docs/RacApi.md +docs/RacPropertyMapping.md +docs/RacPropertyMappingRequest.md +docs/RacProvider.md +docs/RacProviderRequest.md +docs/RadiusCheckAccess.md +docs/RadiusOutpostConfig.md +docs/RadiusProvider.md +docs/RadiusProviderPropertyMapping.md +docs/RadiusProviderPropertyMappingRequest.md +docs/RadiusProviderRequest.md +docs/RbacApi.md +docs/RedirectChallenge.md +docs/Reputation.md +docs/ReputationPolicy.md +docs/ReputationPolicyRequest.md +docs/ResidentKeyRequirementEnum.md +docs/Role.md +docs/RoleAssignedObjectPermission.md +docs/RoleObjectPermission.md +docs/RoleRequest.md +docs/RootApi.md +docs/SamlMetadata.md +docs/SamlPropertyMapping.md +docs/SamlPropertyMappingRequest.md +docs/SamlProvider.md +docs/SamlProviderRequest.md +docs/SamlSource.md +docs/SamlSourcePropertyMapping.md +docs/SamlSourcePropertyMappingRequest.md +docs/SamlSourceRequest.md +docs/SchemaApi.md +docs/ScimMapping.md +docs/ScimMappingRequest.md +docs/ScimProvider.md +docs/ScimProviderGroup.md +docs/ScimProviderGroupRequest.md +docs/ScimProviderRequest.md +docs/ScimProviderUser.md +docs/ScimProviderUserRequest.md +docs/ScimSource.md +docs/ScimSourceGroup.md +docs/ScimSourceGroupRequest.md +docs/ScimSourcePropertyMapping.md +docs/ScimSourcePropertyMappingRequest.md +docs/ScimSourceRequest.md +docs/ScimSourceUser.md +docs/ScimSourceUserRequest.md +docs/ScopeMapping.md +docs/ScopeMappingRequest.md +docs/SelectableStage.md +docs/ServiceConnection.md +docs/ServiceConnectionRequest.md +docs/ServiceConnectionState.md +docs/SessionUser.md +docs/Settings.md +docs/SettingsRequest.md +docs/SeverityEnum.md +docs/ShellChallenge.md +docs/SignatureAlgorithmEnum.md +docs/SmsDevice.md +docs/SmsDeviceRequest.md +docs/Source.md +docs/SourceRequest.md +docs/SourceStage.md +docs/SourceStageRequest.md +docs/SourceType.md +docs/SourcesApi.md +docs/SpBindingEnum.md +docs/Stage.md +docs/StagePrompt.md +docs/StageRequest.md +docs/StagesApi.md +docs/StaticDevice.md +docs/StaticDeviceRequest.md +docs/StaticDeviceToken.md +docs/StaticDeviceTokenRequest.md +docs/SubModeEnum.md +docs/SyncObjectModelEnum.md +docs/SyncObjectRequest.md +docs/SyncObjectResult.md +docs/SyncStatus.md +docs/SystemInfo.md +docs/SystemInfoRuntime.md +docs/SystemTask.md +docs/SystemTaskStatusEnum.md +docs/Tenant.md +docs/TenantAdminGroupRequestRequest.md +docs/TenantRecoveryKeyRequestRequest.md +docs/TenantRecoveryKeyResponse.md +docs/TenantRequest.md +docs/TenantsApi.md +docs/Token.md +docs/TokenModel.md +docs/TokenRequest.md +docs/TokenSetKeyRequest.md +docs/TokenView.md +docs/TotpDevice.md +docs/TotpDeviceRequest.md +docs/TransactionApplicationRequest.md +docs/TransactionApplicationResponse.md +docs/TypeCreate.md +docs/UiThemeEnum.md +docs/UsedBy.md +docs/UsedByActionEnum.md +docs/User.md +docs/UserAccountRequest.md +docs/UserAssignedObjectPermission.md +docs/UserConsent.md +docs/UserCreationModeEnum.md +docs/UserDeleteStage.md +docs/UserDeleteStageRequest.md +docs/UserFieldsEnum.md +docs/UserGroup.md +docs/UserGroupRequest.md +docs/UserLoginChallenge.md +docs/UserLoginChallengeResponseRequest.md +docs/UserLoginStage.md +docs/UserLoginStageRequest.md +docs/UserLogoutStage.md +docs/UserLogoutStageRequest.md +docs/UserMatchingModeEnum.md +docs/UserMetrics.md +docs/UserOAuthSourceConnection.md +docs/UserOAuthSourceConnectionRequest.md +docs/UserObjectPermission.md +docs/UserPasswordSetRequest.md +docs/UserPath.md +docs/UserPlexSourceConnection.md +docs/UserPlexSourceConnectionRequest.md +docs/UserRequest.md +docs/UserSamlSourceConnection.md +docs/UserSamlSourceConnectionRequest.md +docs/UserSelf.md +docs/UserSelfGroups.md +docs/UserServiceAccountRequest.md +docs/UserServiceAccountResponse.md +docs/UserSetting.md +docs/UserSourceConnection.md +docs/UserTypeEnum.md +docs/UserVerificationEnum.md +docs/UserWriteStage.md +docs/UserWriteStageRequest.md +docs/ValidationError.md +docs/Version.md +docs/WebAuthnDevice.md +docs/WebAuthnDeviceRequest.md +docs/WebAuthnDeviceType.md +docs/WebAuthnDeviceTypeRequest.md +docs/Workers.md +git_push.sh +src/apis/admin_api.rs +src/apis/authenticators_api.rs +src/apis/configuration.rs +src/apis/core_api.rs +src/apis/crypto_api.rs +src/apis/enterprise_api.rs +src/apis/events_api.rs +src/apis/flows_api.rs +src/apis/managed_api.rs +src/apis/mod.rs +src/apis/oauth2_api.rs +src/apis/outposts_api.rs +src/apis/policies_api.rs +src/apis/propertymappings_api.rs +src/apis/providers_api.rs +src/apis/rac_api.rs +src/apis/rbac_api.rs +src/apis/root_api.rs +src/apis/schema_api.rs +src/apis/sources_api.rs +src/apis/stages_api.rs +src/apis/tenants_api.rs +src/lib.rs +src/models/access_denied_challenge.rs +src/models/alg_enum.rs +src/models/app.rs +src/models/app_enum.rs +src/models/apple_challenge_response_request.rs +src/models/apple_login_challenge.rs +src/models/application.rs +src/models/application_request.rs +src/models/auth_mode_enum.rs +src/models/auth_type_enum.rs +src/models/authenticated_session.rs +src/models/authenticated_session_asn.rs +src/models/authenticated_session_geo_ip.rs +src/models/authenticated_session_user_agent.rs +src/models/authenticated_session_user_agent_device.rs +src/models/authenticated_session_user_agent_os.rs +src/models/authenticated_session_user_agent_user_agent.rs +src/models/authentication_enum.rs +src/models/authenticator_attachment_enum.rs +src/models/authenticator_duo_challenge.rs +src/models/authenticator_duo_challenge_response_request.rs +src/models/authenticator_duo_stage.rs +src/models/authenticator_duo_stage_device_import_response.rs +src/models/authenticator_duo_stage_manual_device_import_request.rs +src/models/authenticator_duo_stage_request.rs +src/models/authenticator_sms_challenge.rs +src/models/authenticator_sms_challenge_response_request.rs +src/models/authenticator_sms_stage.rs +src/models/authenticator_sms_stage_request.rs +src/models/authenticator_static_challenge.rs +src/models/authenticator_static_challenge_response_request.rs +src/models/authenticator_static_stage.rs +src/models/authenticator_static_stage_request.rs +src/models/authenticator_totp_challenge.rs +src/models/authenticator_totp_challenge_response_request.rs +src/models/authenticator_totp_stage.rs +src/models/authenticator_totp_stage_request.rs +src/models/authenticator_validate_stage.rs +src/models/authenticator_validate_stage_request.rs +src/models/authenticator_validation_challenge.rs +src/models/authenticator_validation_challenge_response_request.rs +src/models/authenticator_web_authn_challenge.rs +src/models/authenticator_web_authn_challenge_response_request.rs +src/models/authenticator_web_authn_stage.rs +src/models/authenticator_web_authn_stage_request.rs +src/models/auto_submit_challenge_response_request.rs +src/models/autosubmit_challenge.rs +src/models/backends_enum.rs +src/models/binding_type_enum.rs +src/models/blueprint_file.rs +src/models/blueprint_instance.rs +src/models/blueprint_instance_request.rs +src/models/blueprint_instance_status_enum.rs +src/models/brand.rs +src/models/brand_request.rs +src/models/cache.rs +src/models/capabilities_enum.rs +src/models/captcha_challenge.rs +src/models/captcha_challenge_response_request.rs +src/models/captcha_stage.rs +src/models/captcha_stage_request.rs +src/models/certificate_data.rs +src/models/certificate_generation_request.rs +src/models/certificate_key_pair.rs +src/models/certificate_key_pair_request.rs +src/models/challenge_types.rs +src/models/client_type_enum.rs +src/models/config.rs +src/models/connection_token.rs +src/models/connection_token_request.rs +src/models/consent_challenge.rs +src/models/consent_challenge_response_request.rs +src/models/consent_permission.rs +src/models/consent_stage.rs +src/models/consent_stage_mode_enum.rs +src/models/consent_stage_request.rs +src/models/contextual_flow_info.rs +src/models/contextual_flow_info_layout_enum.rs +src/models/coordinate.rs +src/models/country_code_enum.rs +src/models/current_brand.rs +src/models/denied_action_enum.rs +src/models/deny_stage.rs +src/models/deny_stage_request.rs +src/models/detailed_country.rs +src/models/detailed_country_field.rs +src/models/detailed_country_field_request.rs +src/models/device.rs +src/models/device_challenge.rs +src/models/device_challenge_request.rs +src/models/device_classes_enum.rs +src/models/digest_algorithm_enum.rs +src/models/digits_enum.rs +src/models/docker_service_connection.rs +src/models/docker_service_connection_request.rs +src/models/domain.rs +src/models/domain_request.rs +src/models/dummy_challenge.rs +src/models/dummy_challenge_response_request.rs +src/models/dummy_policy.rs +src/models/dummy_policy_request.rs +src/models/dummy_stage.rs +src/models/dummy_stage_request.rs +src/models/duo_device.rs +src/models/duo_device_enrollment_status.rs +src/models/duo_device_request.rs +src/models/duo_response_enum.rs +src/models/email_challenge.rs +src/models/email_challenge_response_request.rs +src/models/email_stage.rs +src/models/email_stage_request.rs +src/models/endpoint.rs +src/models/endpoint_request.rs +src/models/error_detail.rs +src/models/error_reporting_config.rs +src/models/event.rs +src/models/event_actions.rs +src/models/event_matcher_policy.rs +src/models/event_matcher_policy_request.rs +src/models/event_request.rs +src/models/event_top_per_user.rs +src/models/expiring_base_grant_model.rs +src/models/expression_policy.rs +src/models/expression_policy_request.rs +src/models/extra_role_object_permission.rs +src/models/extra_role_object_permission_request.rs +src/models/extra_user_object_permission.rs +src/models/extra_user_object_permission_request.rs +src/models/file_path_request.rs +src/models/flow.rs +src/models/flow_challenge_response_request.rs +src/models/flow_designation_enum.rs +src/models/flow_diagram.rs +src/models/flow_error_challenge.rs +src/models/flow_import_result.rs +src/models/flow_inspection.rs +src/models/flow_inspector_plan.rs +src/models/flow_layout_enum.rs +src/models/flow_request.rs +src/models/flow_set.rs +src/models/flow_set_request.rs +src/models/flow_stage_binding.rs +src/models/flow_stage_binding_request.rs +src/models/footer_link.rs +src/models/generic_error.rs +src/models/geo_ip_policy.rs +src/models/geo_ip_policy_request.rs +src/models/geoip_binding_enum.rs +src/models/google_workspace_provider.rs +src/models/google_workspace_provider_group.rs +src/models/google_workspace_provider_group_request.rs +src/models/google_workspace_provider_mapping.rs +src/models/google_workspace_provider_mapping_request.rs +src/models/google_workspace_provider_request.rs +src/models/google_workspace_provider_user.rs +src/models/google_workspace_provider_user_request.rs +src/models/group.rs +src/models/group_matching_mode_enum.rs +src/models/group_member.rs +src/models/group_member_request.rs +src/models/group_o_auth_source_connection.rs +src/models/group_plex_source_connection.rs +src/models/group_request.rs +src/models/group_saml_source_connection.rs +src/models/identification_challenge.rs +src/models/identification_challenge_response_request.rs +src/models/identification_stage.rs +src/models/identification_stage_request.rs +src/models/install_id.rs +src/models/intent_enum.rs +src/models/invalid_response_action_enum.rs +src/models/invitation.rs +src/models/invitation_request.rs +src/models/invitation_stage.rs +src/models/invitation_stage_request.rs +src/models/issuer_mode_enum.rs +src/models/kubernetes_service_connection.rs +src/models/kubernetes_service_connection_request.rs +src/models/ldap_check_access.rs +src/models/ldap_debug.rs +src/models/ldap_outpost_config.rs +src/models/ldap_provider.rs +src/models/ldap_provider_request.rs +src/models/ldap_source.rs +src/models/ldap_source_property_mapping.rs +src/models/ldap_source_property_mapping_request.rs +src/models/ldap_source_request.rs +src/models/ldapapi_access_mode.rs +src/models/license.rs +src/models/license_flags_enum.rs +src/models/license_forecast.rs +src/models/license_request.rs +src/models/license_summary.rs +src/models/license_summary_status_enum.rs +src/models/link.rs +src/models/log_event.rs +src/models/log_level_enum.rs +src/models/login_challenge_types.rs +src/models/login_metrics.rs +src/models/login_source.rs +src/models/metadata.rs +src/models/microsoft_entra_provider.rs +src/models/microsoft_entra_provider_group.rs +src/models/microsoft_entra_provider_group_request.rs +src/models/microsoft_entra_provider_mapping.rs +src/models/microsoft_entra_provider_mapping_request.rs +src/models/microsoft_entra_provider_request.rs +src/models/microsoft_entra_provider_user.rs +src/models/microsoft_entra_provider_user_request.rs +src/models/mod.rs +src/models/model_enum.rs +src/models/model_request.rs +src/models/name_id_policy_enum.rs +src/models/network_binding_enum.rs +src/models/not_configured_action_enum.rs +src/models/notification.rs +src/models/notification_request.rs +src/models/notification_rule.rs +src/models/notification_rule_request.rs +src/models/notification_transport.rs +src/models/notification_transport_mode_enum.rs +src/models/notification_transport_request.rs +src/models/notification_transport_test.rs +src/models/notification_webhook_mapping.rs +src/models/notification_webhook_mapping_request.rs +src/models/o_auth2_provider.rs +src/models/o_auth2_provider_request.rs +src/models/o_auth2_provider_setup_urls.rs +src/models/o_auth_device_code_challenge.rs +src/models/o_auth_device_code_challenge_response_request.rs +src/models/o_auth_device_code_finish_challenge.rs +src/models/o_auth_device_code_finish_challenge_response_request.rs +src/models/o_auth_source.rs +src/models/o_auth_source_property_mapping.rs +src/models/o_auth_source_property_mapping_request.rs +src/models/o_auth_source_request.rs +src/models/open_id_connect_configuration.rs +src/models/outgoing_sync_delete_action.rs +src/models/outpost.rs +src/models/outpost_default_config.rs +src/models/outpost_health.rs +src/models/outpost_request.rs +src/models/outpost_type_enum.rs +src/models/paginated_application_list.rs +src/models/paginated_authenticated_session_list.rs +src/models/paginated_authenticator_duo_stage_list.rs +src/models/paginated_authenticator_sms_stage_list.rs +src/models/paginated_authenticator_static_stage_list.rs +src/models/paginated_authenticator_totp_stage_list.rs +src/models/paginated_authenticator_validate_stage_list.rs +src/models/paginated_authenticator_web_authn_stage_list.rs +src/models/paginated_blueprint_instance_list.rs +src/models/paginated_brand_list.rs +src/models/paginated_captcha_stage_list.rs +src/models/paginated_certificate_key_pair_list.rs +src/models/paginated_connection_token_list.rs +src/models/paginated_consent_stage_list.rs +src/models/paginated_deny_stage_list.rs +src/models/paginated_docker_service_connection_list.rs +src/models/paginated_domain_list.rs +src/models/paginated_dummy_policy_list.rs +src/models/paginated_dummy_stage_list.rs +src/models/paginated_duo_device_list.rs +src/models/paginated_email_stage_list.rs +src/models/paginated_endpoint_list.rs +src/models/paginated_event_list.rs +src/models/paginated_event_matcher_policy_list.rs +src/models/paginated_expiring_base_grant_model_list.rs +src/models/paginated_expression_policy_list.rs +src/models/paginated_extra_role_object_permission_list.rs +src/models/paginated_extra_user_object_permission_list.rs +src/models/paginated_flow_list.rs +src/models/paginated_flow_stage_binding_list.rs +src/models/paginated_geo_ip_policy_list.rs +src/models/paginated_google_workspace_provider_group_list.rs +src/models/paginated_google_workspace_provider_list.rs +src/models/paginated_google_workspace_provider_mapping_list.rs +src/models/paginated_google_workspace_provider_user_list.rs +src/models/paginated_group_list.rs +src/models/paginated_group_o_auth_source_connection_list.rs +src/models/paginated_group_plex_source_connection_list.rs +src/models/paginated_group_saml_source_connection_list.rs +src/models/paginated_identification_stage_list.rs +src/models/paginated_invitation_list.rs +src/models/paginated_invitation_stage_list.rs +src/models/paginated_kubernetes_service_connection_list.rs +src/models/paginated_ldap_outpost_config_list.rs +src/models/paginated_ldap_provider_list.rs +src/models/paginated_ldap_source_list.rs +src/models/paginated_ldap_source_property_mapping_list.rs +src/models/paginated_license_list.rs +src/models/paginated_microsoft_entra_provider_group_list.rs +src/models/paginated_microsoft_entra_provider_list.rs +src/models/paginated_microsoft_entra_provider_mapping_list.rs +src/models/paginated_microsoft_entra_provider_user_list.rs +src/models/paginated_notification_list.rs +src/models/paginated_notification_rule_list.rs +src/models/paginated_notification_transport_list.rs +src/models/paginated_notification_webhook_mapping_list.rs +src/models/paginated_o_auth2_provider_list.rs +src/models/paginated_o_auth_source_list.rs +src/models/paginated_o_auth_source_property_mapping_list.rs +src/models/paginated_outpost_list.rs +src/models/paginated_password_expiry_policy_list.rs +src/models/paginated_password_policy_list.rs +src/models/paginated_password_stage_list.rs +src/models/paginated_permission_list.rs +src/models/paginated_plex_source_list.rs +src/models/paginated_plex_source_property_mapping_list.rs +src/models/paginated_policy_binding_list.rs +src/models/paginated_policy_list.rs +src/models/paginated_prompt_list.rs +src/models/paginated_prompt_stage_list.rs +src/models/paginated_property_mapping_list.rs +src/models/paginated_provider_list.rs +src/models/paginated_proxy_outpost_config_list.rs +src/models/paginated_proxy_provider_list.rs +src/models/paginated_rac_property_mapping_list.rs +src/models/paginated_rac_provider_list.rs +src/models/paginated_radius_outpost_config_list.rs +src/models/paginated_radius_provider_list.rs +src/models/paginated_radius_provider_property_mapping_list.rs +src/models/paginated_reputation_list.rs +src/models/paginated_reputation_policy_list.rs +src/models/paginated_role_assigned_object_permission_list.rs +src/models/paginated_role_list.rs +src/models/paginated_saml_property_mapping_list.rs +src/models/paginated_saml_provider_list.rs +src/models/paginated_saml_source_list.rs +src/models/paginated_saml_source_property_mapping_list.rs +src/models/paginated_scim_mapping_list.rs +src/models/paginated_scim_provider_group_list.rs +src/models/paginated_scim_provider_list.rs +src/models/paginated_scim_provider_user_list.rs +src/models/paginated_scim_source_group_list.rs +src/models/paginated_scim_source_list.rs +src/models/paginated_scim_source_property_mapping_list.rs +src/models/paginated_scim_source_user_list.rs +src/models/paginated_scope_mapping_list.rs +src/models/paginated_service_connection_list.rs +src/models/paginated_sms_device_list.rs +src/models/paginated_source_list.rs +src/models/paginated_source_stage_list.rs +src/models/paginated_stage_list.rs +src/models/paginated_static_device_list.rs +src/models/paginated_system_task_list.rs +src/models/paginated_tenant_list.rs +src/models/paginated_token_list.rs +src/models/paginated_token_model_list.rs +src/models/paginated_totp_device_list.rs +src/models/paginated_user_assigned_object_permission_list.rs +src/models/paginated_user_consent_list.rs +src/models/paginated_user_delete_stage_list.rs +src/models/paginated_user_list.rs +src/models/paginated_user_login_stage_list.rs +src/models/paginated_user_logout_stage_list.rs +src/models/paginated_user_o_auth_source_connection_list.rs +src/models/paginated_user_plex_source_connection_list.rs +src/models/paginated_user_saml_source_connection_list.rs +src/models/paginated_user_source_connection_list.rs +src/models/paginated_user_write_stage_list.rs +src/models/paginated_web_authn_device_list.rs +src/models/paginated_web_authn_device_type_list.rs +src/models/pagination.rs +src/models/password_challenge.rs +src/models/password_challenge_response_request.rs +src/models/password_expiry_policy.rs +src/models/password_expiry_policy_request.rs +src/models/password_policy.rs +src/models/password_policy_request.rs +src/models/password_stage.rs +src/models/password_stage_request.rs +src/models/patched_application_request.rs +src/models/patched_authenticator_duo_stage_request.rs +src/models/patched_authenticator_sms_stage_request.rs +src/models/patched_authenticator_static_stage_request.rs +src/models/patched_authenticator_totp_stage_request.rs +src/models/patched_authenticator_validate_stage_request.rs +src/models/patched_authenticator_web_authn_stage_request.rs +src/models/patched_blueprint_instance_request.rs +src/models/patched_brand_request.rs +src/models/patched_captcha_stage_request.rs +src/models/patched_certificate_key_pair_request.rs +src/models/patched_connection_token_request.rs +src/models/patched_consent_stage_request.rs +src/models/patched_deny_stage_request.rs +src/models/patched_docker_service_connection_request.rs +src/models/patched_domain_request.rs +src/models/patched_dummy_policy_request.rs +src/models/patched_dummy_stage_request.rs +src/models/patched_duo_device_request.rs +src/models/patched_email_stage_request.rs +src/models/patched_endpoint_request.rs +src/models/patched_event_matcher_policy_request.rs +src/models/patched_event_request.rs +src/models/patched_expression_policy_request.rs +src/models/patched_extra_role_object_permission_request.rs +src/models/patched_extra_user_object_permission_request.rs +src/models/patched_flow_request.rs +src/models/patched_flow_stage_binding_request.rs +src/models/patched_geo_ip_policy_request.rs +src/models/patched_google_workspace_provider_mapping_request.rs +src/models/patched_google_workspace_provider_request.rs +src/models/patched_group_request.rs +src/models/patched_identification_stage_request.rs +src/models/patched_invitation_request.rs +src/models/patched_invitation_stage_request.rs +src/models/patched_kubernetes_service_connection_request.rs +src/models/patched_ldap_provider_request.rs +src/models/patched_ldap_source_property_mapping_request.rs +src/models/patched_ldap_source_request.rs +src/models/patched_license_request.rs +src/models/patched_microsoft_entra_provider_mapping_request.rs +src/models/patched_microsoft_entra_provider_request.rs +src/models/patched_notification_request.rs +src/models/patched_notification_rule_request.rs +src/models/patched_notification_transport_request.rs +src/models/patched_notification_webhook_mapping_request.rs +src/models/patched_o_auth2_provider_request.rs +src/models/patched_o_auth_source_property_mapping_request.rs +src/models/patched_o_auth_source_request.rs +src/models/patched_outpost_request.rs +src/models/patched_password_expiry_policy_request.rs +src/models/patched_password_policy_request.rs +src/models/patched_password_stage_request.rs +src/models/patched_permission_assign_request.rs +src/models/patched_plex_source_property_mapping_request.rs +src/models/patched_plex_source_request.rs +src/models/patched_policy_binding_request.rs +src/models/patched_prompt_request.rs +src/models/patched_prompt_stage_request.rs +src/models/patched_proxy_provider_request.rs +src/models/patched_rac_property_mapping_request.rs +src/models/patched_rac_provider_request.rs +src/models/patched_radius_provider_property_mapping_request.rs +src/models/patched_radius_provider_request.rs +src/models/patched_reputation_policy_request.rs +src/models/patched_role_request.rs +src/models/patched_saml_property_mapping_request.rs +src/models/patched_saml_provider_request.rs +src/models/patched_saml_source_property_mapping_request.rs +src/models/patched_saml_source_request.rs +src/models/patched_scim_mapping_request.rs +src/models/patched_scim_provider_request.rs +src/models/patched_scim_source_group_request.rs +src/models/patched_scim_source_property_mapping_request.rs +src/models/patched_scim_source_request.rs +src/models/patched_scim_source_user_request.rs +src/models/patched_scope_mapping_request.rs +src/models/patched_settings_request.rs +src/models/patched_sms_device_request.rs +src/models/patched_source_stage_request.rs +src/models/patched_static_device_request.rs +src/models/patched_tenant_request.rs +src/models/patched_token_request.rs +src/models/patched_totp_device_request.rs +src/models/patched_user_delete_stage_request.rs +src/models/patched_user_login_stage_request.rs +src/models/patched_user_logout_stage_request.rs +src/models/patched_user_o_auth_source_connection_request.rs +src/models/patched_user_plex_source_connection_request.rs +src/models/patched_user_request.rs +src/models/patched_user_saml_source_connection_request.rs +src/models/patched_user_write_stage_request.rs +src/models/patched_web_authn_device_request.rs +src/models/permission.rs +src/models/permission_assign_request.rs +src/models/permission_assign_result.rs +src/models/plex_authentication_challenge.rs +src/models/plex_authentication_challenge_response_request.rs +src/models/plex_source.rs +src/models/plex_source_property_mapping.rs +src/models/plex_source_property_mapping_request.rs +src/models/plex_source_request.rs +src/models/plex_token_redeem_request.rs +src/models/policy.rs +src/models/policy_binding.rs +src/models/policy_binding_request.rs +src/models/policy_engine_mode.rs +src/models/policy_request.rs +src/models/policy_test_request.rs +src/models/policy_test_result.rs +src/models/prompt.rs +src/models/prompt_challenge.rs +src/models/prompt_challenge_response_request.rs +src/models/prompt_request.rs +src/models/prompt_stage.rs +src/models/prompt_stage_request.rs +src/models/prompt_type_enum.rs +src/models/property_mapping.rs +src/models/property_mapping_preview.rs +src/models/property_mapping_test_request.rs +src/models/property_mapping_test_result.rs +src/models/protocol_enum.rs +src/models/provider.rs +src/models/provider_enum.rs +src/models/provider_model_enum.rs +src/models/provider_request.rs +src/models/provider_type_enum.rs +src/models/proxy_mode.rs +src/models/proxy_outpost_config.rs +src/models/proxy_provider.rs +src/models/proxy_provider_request.rs +src/models/rac_property_mapping.rs +src/models/rac_property_mapping_request.rs +src/models/rac_provider.rs +src/models/rac_provider_request.rs +src/models/radius_check_access.rs +src/models/radius_outpost_config.rs +src/models/radius_provider.rs +src/models/radius_provider_property_mapping.rs +src/models/radius_provider_property_mapping_request.rs +src/models/radius_provider_request.rs +src/models/redirect_challenge.rs +src/models/reputation.rs +src/models/reputation_policy.rs +src/models/reputation_policy_request.rs +src/models/resident_key_requirement_enum.rs +src/models/role.rs +src/models/role_assigned_object_permission.rs +src/models/role_object_permission.rs +src/models/role_request.rs +src/models/saml_metadata.rs +src/models/saml_property_mapping.rs +src/models/saml_property_mapping_request.rs +src/models/saml_provider.rs +src/models/saml_provider_request.rs +src/models/saml_source.rs +src/models/saml_source_property_mapping.rs +src/models/saml_source_property_mapping_request.rs +src/models/saml_source_request.rs +src/models/scim_mapping.rs +src/models/scim_mapping_request.rs +src/models/scim_provider.rs +src/models/scim_provider_group.rs +src/models/scim_provider_group_request.rs +src/models/scim_provider_request.rs +src/models/scim_provider_user.rs +src/models/scim_provider_user_request.rs +src/models/scim_source.rs +src/models/scim_source_group.rs +src/models/scim_source_group_request.rs +src/models/scim_source_property_mapping.rs +src/models/scim_source_property_mapping_request.rs +src/models/scim_source_request.rs +src/models/scim_source_user.rs +src/models/scim_source_user_request.rs +src/models/scope_mapping.rs +src/models/scope_mapping_request.rs +src/models/selectable_stage.rs +src/models/service_connection.rs +src/models/service_connection_request.rs +src/models/service_connection_state.rs +src/models/session_user.rs +src/models/settings.rs +src/models/settings_request.rs +src/models/severity_enum.rs +src/models/shell_challenge.rs +src/models/signature_algorithm_enum.rs +src/models/sms_device.rs +src/models/sms_device_request.rs +src/models/source.rs +src/models/source_request.rs +src/models/source_stage.rs +src/models/source_stage_request.rs +src/models/source_type.rs +src/models/sp_binding_enum.rs +src/models/stage.rs +src/models/stage_prompt.rs +src/models/stage_request.rs +src/models/static_device.rs +src/models/static_device_request.rs +src/models/static_device_token.rs +src/models/static_device_token_request.rs +src/models/sub_mode_enum.rs +src/models/sync_object_model_enum.rs +src/models/sync_object_request.rs +src/models/sync_object_result.rs +src/models/sync_status.rs +src/models/system_info.rs +src/models/system_info_runtime.rs +src/models/system_task.rs +src/models/system_task_status_enum.rs +src/models/tenant.rs +src/models/tenant_admin_group_request_request.rs +src/models/tenant_recovery_key_request_request.rs +src/models/tenant_recovery_key_response.rs +src/models/tenant_request.rs +src/models/token.rs +src/models/token_model.rs +src/models/token_request.rs +src/models/token_set_key_request.rs +src/models/token_view.rs +src/models/totp_device.rs +src/models/totp_device_request.rs +src/models/transaction_application_request.rs +src/models/transaction_application_response.rs +src/models/type_create.rs +src/models/ui_theme_enum.rs +src/models/used_by.rs +src/models/used_by_action_enum.rs +src/models/user.rs +src/models/user_account_request.rs +src/models/user_assigned_object_permission.rs +src/models/user_consent.rs +src/models/user_creation_mode_enum.rs +src/models/user_delete_stage.rs +src/models/user_delete_stage_request.rs +src/models/user_fields_enum.rs +src/models/user_group.rs +src/models/user_group_request.rs +src/models/user_login_challenge.rs +src/models/user_login_challenge_response_request.rs +src/models/user_login_stage.rs +src/models/user_login_stage_request.rs +src/models/user_logout_stage.rs +src/models/user_logout_stage_request.rs +src/models/user_matching_mode_enum.rs +src/models/user_metrics.rs +src/models/user_o_auth_source_connection.rs +src/models/user_o_auth_source_connection_request.rs +src/models/user_object_permission.rs +src/models/user_password_set_request.rs +src/models/user_path.rs +src/models/user_plex_source_connection.rs +src/models/user_plex_source_connection_request.rs +src/models/user_request.rs +src/models/user_saml_source_connection.rs +src/models/user_saml_source_connection_request.rs +src/models/user_self.rs +src/models/user_self_groups.rs +src/models/user_service_account_request.rs +src/models/user_service_account_response.rs +src/models/user_setting.rs +src/models/user_source_connection.rs +src/models/user_type_enum.rs +src/models/user_verification_enum.rs +src/models/user_write_stage.rs +src/models/user_write_stage_request.rs +src/models/validation_error.rs +src/models/version.rs +src/models/web_authn_device.rs +src/models/web_authn_device_request.rs +src/models/web_authn_device_type.rs +src/models/web_authn_device_type_request.rs +src/models/workers.rs diff --git a/.openapi-generator/VERSION b/.openapi-generator/VERSION new file mode 100644 index 0000000..09a6d30 --- /dev/null +++ b/.openapi-generator/VERSION @@ -0,0 +1 @@ +7.8.0 diff --git a/.rustfmt.toml b/.rustfmt.toml new file mode 100644 index 0000000..2427e56 --- /dev/null +++ b/.rustfmt.toml @@ -0,0 +1,4 @@ +max_width = 120 +newline_style = "Unix" +use_field_init_shorthand = true +use_try_shorthand = true diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..8c2ea0e --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,18 @@ +[package] +name = "authentik-client" +version = "2024.8.3" +authors = ["hello@goauthentik.io"] +description = "Making authentication simple." +license = "MIT" +edition = "2021" +repository = "https://github.com/authentik-community/client-rust.git" + +[dependencies] +serde = { version = "^1.0", features = ["derive"] } +serde_with = { version = "^3.8", default-features = false, features = ["base64", "std", "macros"] } +serde_json = "^1.0" +serde_repr = "^0.1" +url = "^2.5" +uuid = { version = "^1.8", features = ["serde", "v4"] } +reqwest = { version = "^0.12", features = ["json", "multipart"] } +reqwest-middleware = { version = "^0.3", features = ["json", "multipart"] } diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..ad90933 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Authentik Security Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..d313af7 --- /dev/null +++ b/Makefile @@ -0,0 +1,34 @@ +.SHELLFLAGS += -x -e +PWD = $(shell pwd) +UID = $(shell id -u) +GID = $(shell id -g) + +all: clean build + +clean: + rm -rf src/ docs/ + +build: + mv schema.yml schema-old.yml + wget -O schema.yml https://raw.githubusercontent.com/goauthentik/authentik/main/schema.yml + docker run --rm \ + -v "${PWD}:/local" \ + --user "${UID}:${GID}" \ + docker.io/openapitools/openapi-diff:2.1.0-beta.11 \ + --markdown /local/diff.test \ + /local/schema-old.yml /local/schema.yml || echo > diff.test + rm schema-old.yml + docker run --rm \ + -v "${PWD}:/local" \ + --user "${UID}:${GID}" \ + docker.io/openapitools/openapi-generator-cli:v7.8.0 \ + generate \ + -i /local/schema.yml \ + -g rust \ + -o /local \ + -c /local/config.yaml + rm -f .travis.yml git_push.sh + cargo fmt + mv diff.test /tmp/diff.test + echo -e "Update API Client\n\n" > diff.test + cat /tmp/diff.test >> diff.test diff --git a/README.md b/README.md new file mode 100644 index 0000000..7ca26ba --- /dev/null +++ b/README.md @@ -0,0 +1,1569 @@ +

+ authentik logo +

+ +--- + +[![](https://img.shields.io/discord/809154715984199690?label=Discord&style=for-the-badge)](https://discord.gg/jg33eMhnj6) +![Latest version](https://img.shields.io/github/v/tag/goauthentik/authentik?style=for-the-badge) + +# authentik Rust API Client + +This repo contains a generated API client to talk with authentik's API from Rust. + +## Overview +This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [OpenAPI-spec](https://www.openapis.org/) from a remote server, you can easily generate an API client. + +- API version: 2024.8.3 +- Package version: 2024.8.3 + +## Installation + +Put the package under your project folder in a directory named `authentik-client` and add the following to `Cargo.toml` under `[dependencies]`: + +``` +authentik-client = { path = "./authentik-client" } +``` + +## Documentation for API Endpoints + +All URIs are relative to *http://localhost/api/v3* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +*AdminApi* | [**admin_apps_list**](docs/AdminApi.md#admin_apps_list) | **GET** /admin/apps/ | +*AdminApi* | [**admin_metrics_retrieve**](docs/AdminApi.md#admin_metrics_retrieve) | **GET** /admin/metrics/ | +*AdminApi* | [**admin_models_list**](docs/AdminApi.md#admin_models_list) | **GET** /admin/models/ | +*AdminApi* | [**admin_settings_partial_update**](docs/AdminApi.md#admin_settings_partial_update) | **PATCH** /admin/settings/ | +*AdminApi* | [**admin_settings_retrieve**](docs/AdminApi.md#admin_settings_retrieve) | **GET** /admin/settings/ | +*AdminApi* | [**admin_settings_update**](docs/AdminApi.md#admin_settings_update) | **PUT** /admin/settings/ | +*AdminApi* | [**admin_system_create**](docs/AdminApi.md#admin_system_create) | **POST** /admin/system/ | +*AdminApi* | [**admin_system_retrieve**](docs/AdminApi.md#admin_system_retrieve) | **GET** /admin/system/ | +*AdminApi* | [**admin_version_retrieve**](docs/AdminApi.md#admin_version_retrieve) | **GET** /admin/version/ | +*AdminApi* | [**admin_workers_retrieve**](docs/AdminApi.md#admin_workers_retrieve) | **GET** /admin/workers/ | +*AuthenticatorsApi* | [**authenticators_admin_all_list**](docs/AuthenticatorsApi.md#authenticators_admin_all_list) | **GET** /authenticators/admin/all/ | +*AuthenticatorsApi* | [**authenticators_admin_duo_create**](docs/AuthenticatorsApi.md#authenticators_admin_duo_create) | **POST** /authenticators/admin/duo/ | +*AuthenticatorsApi* | [**authenticators_admin_duo_destroy**](docs/AuthenticatorsApi.md#authenticators_admin_duo_destroy) | **DELETE** /authenticators/admin/duo/{id}/ | +*AuthenticatorsApi* | [**authenticators_admin_duo_list**](docs/AuthenticatorsApi.md#authenticators_admin_duo_list) | **GET** /authenticators/admin/duo/ | +*AuthenticatorsApi* | [**authenticators_admin_duo_partial_update**](docs/AuthenticatorsApi.md#authenticators_admin_duo_partial_update) | **PATCH** /authenticators/admin/duo/{id}/ | +*AuthenticatorsApi* | [**authenticators_admin_duo_retrieve**](docs/AuthenticatorsApi.md#authenticators_admin_duo_retrieve) | **GET** /authenticators/admin/duo/{id}/ | +*AuthenticatorsApi* | [**authenticators_admin_duo_update**](docs/AuthenticatorsApi.md#authenticators_admin_duo_update) | **PUT** /authenticators/admin/duo/{id}/ | +*AuthenticatorsApi* | [**authenticators_admin_sms_create**](docs/AuthenticatorsApi.md#authenticators_admin_sms_create) | **POST** /authenticators/admin/sms/ | +*AuthenticatorsApi* | [**authenticators_admin_sms_destroy**](docs/AuthenticatorsApi.md#authenticators_admin_sms_destroy) | **DELETE** /authenticators/admin/sms/{id}/ | +*AuthenticatorsApi* | [**authenticators_admin_sms_list**](docs/AuthenticatorsApi.md#authenticators_admin_sms_list) | **GET** /authenticators/admin/sms/ | +*AuthenticatorsApi* | [**authenticators_admin_sms_partial_update**](docs/AuthenticatorsApi.md#authenticators_admin_sms_partial_update) | **PATCH** /authenticators/admin/sms/{id}/ | +*AuthenticatorsApi* | [**authenticators_admin_sms_retrieve**](docs/AuthenticatorsApi.md#authenticators_admin_sms_retrieve) | **GET** /authenticators/admin/sms/{id}/ | +*AuthenticatorsApi* | [**authenticators_admin_sms_update**](docs/AuthenticatorsApi.md#authenticators_admin_sms_update) | **PUT** /authenticators/admin/sms/{id}/ | +*AuthenticatorsApi* | [**authenticators_admin_static_create**](docs/AuthenticatorsApi.md#authenticators_admin_static_create) | **POST** /authenticators/admin/static/ | +*AuthenticatorsApi* | [**authenticators_admin_static_destroy**](docs/AuthenticatorsApi.md#authenticators_admin_static_destroy) | **DELETE** /authenticators/admin/static/{id}/ | +*AuthenticatorsApi* | [**authenticators_admin_static_list**](docs/AuthenticatorsApi.md#authenticators_admin_static_list) | **GET** /authenticators/admin/static/ | +*AuthenticatorsApi* | [**authenticators_admin_static_partial_update**](docs/AuthenticatorsApi.md#authenticators_admin_static_partial_update) | **PATCH** /authenticators/admin/static/{id}/ | +*AuthenticatorsApi* | [**authenticators_admin_static_retrieve**](docs/AuthenticatorsApi.md#authenticators_admin_static_retrieve) | **GET** /authenticators/admin/static/{id}/ | +*AuthenticatorsApi* | [**authenticators_admin_static_update**](docs/AuthenticatorsApi.md#authenticators_admin_static_update) | **PUT** /authenticators/admin/static/{id}/ | +*AuthenticatorsApi* | [**authenticators_admin_totp_create**](docs/AuthenticatorsApi.md#authenticators_admin_totp_create) | **POST** /authenticators/admin/totp/ | +*AuthenticatorsApi* | [**authenticators_admin_totp_destroy**](docs/AuthenticatorsApi.md#authenticators_admin_totp_destroy) | **DELETE** /authenticators/admin/totp/{id}/ | +*AuthenticatorsApi* | [**authenticators_admin_totp_list**](docs/AuthenticatorsApi.md#authenticators_admin_totp_list) | **GET** /authenticators/admin/totp/ | +*AuthenticatorsApi* | [**authenticators_admin_totp_partial_update**](docs/AuthenticatorsApi.md#authenticators_admin_totp_partial_update) | **PATCH** /authenticators/admin/totp/{id}/ | +*AuthenticatorsApi* | [**authenticators_admin_totp_retrieve**](docs/AuthenticatorsApi.md#authenticators_admin_totp_retrieve) | **GET** /authenticators/admin/totp/{id}/ | +*AuthenticatorsApi* | [**authenticators_admin_totp_update**](docs/AuthenticatorsApi.md#authenticators_admin_totp_update) | **PUT** /authenticators/admin/totp/{id}/ | +*AuthenticatorsApi* | [**authenticators_admin_webauthn_create**](docs/AuthenticatorsApi.md#authenticators_admin_webauthn_create) | **POST** /authenticators/admin/webauthn/ | +*AuthenticatorsApi* | [**authenticators_admin_webauthn_destroy**](docs/AuthenticatorsApi.md#authenticators_admin_webauthn_destroy) | **DELETE** /authenticators/admin/webauthn/{id}/ | +*AuthenticatorsApi* | [**authenticators_admin_webauthn_list**](docs/AuthenticatorsApi.md#authenticators_admin_webauthn_list) | **GET** /authenticators/admin/webauthn/ | +*AuthenticatorsApi* | [**authenticators_admin_webauthn_partial_update**](docs/AuthenticatorsApi.md#authenticators_admin_webauthn_partial_update) | **PATCH** /authenticators/admin/webauthn/{id}/ | +*AuthenticatorsApi* | [**authenticators_admin_webauthn_retrieve**](docs/AuthenticatorsApi.md#authenticators_admin_webauthn_retrieve) | **GET** /authenticators/admin/webauthn/{id}/ | +*AuthenticatorsApi* | [**authenticators_admin_webauthn_update**](docs/AuthenticatorsApi.md#authenticators_admin_webauthn_update) | **PUT** /authenticators/admin/webauthn/{id}/ | +*AuthenticatorsApi* | [**authenticators_all_list**](docs/AuthenticatorsApi.md#authenticators_all_list) | **GET** /authenticators/all/ | +*AuthenticatorsApi* | [**authenticators_duo_destroy**](docs/AuthenticatorsApi.md#authenticators_duo_destroy) | **DELETE** /authenticators/duo/{id}/ | +*AuthenticatorsApi* | [**authenticators_duo_list**](docs/AuthenticatorsApi.md#authenticators_duo_list) | **GET** /authenticators/duo/ | +*AuthenticatorsApi* | [**authenticators_duo_partial_update**](docs/AuthenticatorsApi.md#authenticators_duo_partial_update) | **PATCH** /authenticators/duo/{id}/ | +*AuthenticatorsApi* | [**authenticators_duo_retrieve**](docs/AuthenticatorsApi.md#authenticators_duo_retrieve) | **GET** /authenticators/duo/{id}/ | +*AuthenticatorsApi* | [**authenticators_duo_update**](docs/AuthenticatorsApi.md#authenticators_duo_update) | **PUT** /authenticators/duo/{id}/ | +*AuthenticatorsApi* | [**authenticators_duo_used_by_list**](docs/AuthenticatorsApi.md#authenticators_duo_used_by_list) | **GET** /authenticators/duo/{id}/used_by/ | +*AuthenticatorsApi* | [**authenticators_sms_destroy**](docs/AuthenticatorsApi.md#authenticators_sms_destroy) | **DELETE** /authenticators/sms/{id}/ | +*AuthenticatorsApi* | [**authenticators_sms_list**](docs/AuthenticatorsApi.md#authenticators_sms_list) | **GET** /authenticators/sms/ | +*AuthenticatorsApi* | [**authenticators_sms_partial_update**](docs/AuthenticatorsApi.md#authenticators_sms_partial_update) | **PATCH** /authenticators/sms/{id}/ | +*AuthenticatorsApi* | [**authenticators_sms_retrieve**](docs/AuthenticatorsApi.md#authenticators_sms_retrieve) | **GET** /authenticators/sms/{id}/ | +*AuthenticatorsApi* | [**authenticators_sms_update**](docs/AuthenticatorsApi.md#authenticators_sms_update) | **PUT** /authenticators/sms/{id}/ | +*AuthenticatorsApi* | [**authenticators_sms_used_by_list**](docs/AuthenticatorsApi.md#authenticators_sms_used_by_list) | **GET** /authenticators/sms/{id}/used_by/ | +*AuthenticatorsApi* | [**authenticators_static_destroy**](docs/AuthenticatorsApi.md#authenticators_static_destroy) | **DELETE** /authenticators/static/{id}/ | +*AuthenticatorsApi* | [**authenticators_static_list**](docs/AuthenticatorsApi.md#authenticators_static_list) | **GET** /authenticators/static/ | +*AuthenticatorsApi* | [**authenticators_static_partial_update**](docs/AuthenticatorsApi.md#authenticators_static_partial_update) | **PATCH** /authenticators/static/{id}/ | +*AuthenticatorsApi* | [**authenticators_static_retrieve**](docs/AuthenticatorsApi.md#authenticators_static_retrieve) | **GET** /authenticators/static/{id}/ | +*AuthenticatorsApi* | [**authenticators_static_update**](docs/AuthenticatorsApi.md#authenticators_static_update) | **PUT** /authenticators/static/{id}/ | +*AuthenticatorsApi* | [**authenticators_static_used_by_list**](docs/AuthenticatorsApi.md#authenticators_static_used_by_list) | **GET** /authenticators/static/{id}/used_by/ | +*AuthenticatorsApi* | [**authenticators_totp_destroy**](docs/AuthenticatorsApi.md#authenticators_totp_destroy) | **DELETE** /authenticators/totp/{id}/ | +*AuthenticatorsApi* | [**authenticators_totp_list**](docs/AuthenticatorsApi.md#authenticators_totp_list) | **GET** /authenticators/totp/ | +*AuthenticatorsApi* | [**authenticators_totp_partial_update**](docs/AuthenticatorsApi.md#authenticators_totp_partial_update) | **PATCH** /authenticators/totp/{id}/ | +*AuthenticatorsApi* | [**authenticators_totp_retrieve**](docs/AuthenticatorsApi.md#authenticators_totp_retrieve) | **GET** /authenticators/totp/{id}/ | +*AuthenticatorsApi* | [**authenticators_totp_update**](docs/AuthenticatorsApi.md#authenticators_totp_update) | **PUT** /authenticators/totp/{id}/ | +*AuthenticatorsApi* | [**authenticators_totp_used_by_list**](docs/AuthenticatorsApi.md#authenticators_totp_used_by_list) | **GET** /authenticators/totp/{id}/used_by/ | +*AuthenticatorsApi* | [**authenticators_webauthn_destroy**](docs/AuthenticatorsApi.md#authenticators_webauthn_destroy) | **DELETE** /authenticators/webauthn/{id}/ | +*AuthenticatorsApi* | [**authenticators_webauthn_list**](docs/AuthenticatorsApi.md#authenticators_webauthn_list) | **GET** /authenticators/webauthn/ | +*AuthenticatorsApi* | [**authenticators_webauthn_partial_update**](docs/AuthenticatorsApi.md#authenticators_webauthn_partial_update) | **PATCH** /authenticators/webauthn/{id}/ | +*AuthenticatorsApi* | [**authenticators_webauthn_retrieve**](docs/AuthenticatorsApi.md#authenticators_webauthn_retrieve) | **GET** /authenticators/webauthn/{id}/ | +*AuthenticatorsApi* | [**authenticators_webauthn_update**](docs/AuthenticatorsApi.md#authenticators_webauthn_update) | **PUT** /authenticators/webauthn/{id}/ | +*AuthenticatorsApi* | [**authenticators_webauthn_used_by_list**](docs/AuthenticatorsApi.md#authenticators_webauthn_used_by_list) | **GET** /authenticators/webauthn/{id}/used_by/ | +*CoreApi* | [**core_applications_check_access_retrieve**](docs/CoreApi.md#core_applications_check_access_retrieve) | **GET** /core/applications/{slug}/check_access/ | +*CoreApi* | [**core_applications_create**](docs/CoreApi.md#core_applications_create) | **POST** /core/applications/ | +*CoreApi* | [**core_applications_destroy**](docs/CoreApi.md#core_applications_destroy) | **DELETE** /core/applications/{slug}/ | +*CoreApi* | [**core_applications_list**](docs/CoreApi.md#core_applications_list) | **GET** /core/applications/ | +*CoreApi* | [**core_applications_metrics_list**](docs/CoreApi.md#core_applications_metrics_list) | **GET** /core/applications/{slug}/metrics/ | +*CoreApi* | [**core_applications_partial_update**](docs/CoreApi.md#core_applications_partial_update) | **PATCH** /core/applications/{slug}/ | +*CoreApi* | [**core_applications_retrieve**](docs/CoreApi.md#core_applications_retrieve) | **GET** /core/applications/{slug}/ | +*CoreApi* | [**core_applications_set_icon_create**](docs/CoreApi.md#core_applications_set_icon_create) | **POST** /core/applications/{slug}/set_icon/ | +*CoreApi* | [**core_applications_set_icon_url_create**](docs/CoreApi.md#core_applications_set_icon_url_create) | **POST** /core/applications/{slug}/set_icon_url/ | +*CoreApi* | [**core_applications_update**](docs/CoreApi.md#core_applications_update) | **PUT** /core/applications/{slug}/ | +*CoreApi* | [**core_applications_used_by_list**](docs/CoreApi.md#core_applications_used_by_list) | **GET** /core/applications/{slug}/used_by/ | +*CoreApi* | [**core_authenticated_sessions_destroy**](docs/CoreApi.md#core_authenticated_sessions_destroy) | **DELETE** /core/authenticated_sessions/{uuid}/ | +*CoreApi* | [**core_authenticated_sessions_list**](docs/CoreApi.md#core_authenticated_sessions_list) | **GET** /core/authenticated_sessions/ | +*CoreApi* | [**core_authenticated_sessions_retrieve**](docs/CoreApi.md#core_authenticated_sessions_retrieve) | **GET** /core/authenticated_sessions/{uuid}/ | +*CoreApi* | [**core_authenticated_sessions_used_by_list**](docs/CoreApi.md#core_authenticated_sessions_used_by_list) | **GET** /core/authenticated_sessions/{uuid}/used_by/ | +*CoreApi* | [**core_brands_create**](docs/CoreApi.md#core_brands_create) | **POST** /core/brands/ | +*CoreApi* | [**core_brands_current_retrieve**](docs/CoreApi.md#core_brands_current_retrieve) | **GET** /core/brands/current/ | +*CoreApi* | [**core_brands_destroy**](docs/CoreApi.md#core_brands_destroy) | **DELETE** /core/brands/{brand_uuid}/ | +*CoreApi* | [**core_brands_list**](docs/CoreApi.md#core_brands_list) | **GET** /core/brands/ | +*CoreApi* | [**core_brands_partial_update**](docs/CoreApi.md#core_brands_partial_update) | **PATCH** /core/brands/{brand_uuid}/ | +*CoreApi* | [**core_brands_retrieve**](docs/CoreApi.md#core_brands_retrieve) | **GET** /core/brands/{brand_uuid}/ | +*CoreApi* | [**core_brands_update**](docs/CoreApi.md#core_brands_update) | **PUT** /core/brands/{brand_uuid}/ | +*CoreApi* | [**core_brands_used_by_list**](docs/CoreApi.md#core_brands_used_by_list) | **GET** /core/brands/{brand_uuid}/used_by/ | +*CoreApi* | [**core_groups_add_user_create**](docs/CoreApi.md#core_groups_add_user_create) | **POST** /core/groups/{group_uuid}/add_user/ | +*CoreApi* | [**core_groups_create**](docs/CoreApi.md#core_groups_create) | **POST** /core/groups/ | +*CoreApi* | [**core_groups_destroy**](docs/CoreApi.md#core_groups_destroy) | **DELETE** /core/groups/{group_uuid}/ | +*CoreApi* | [**core_groups_list**](docs/CoreApi.md#core_groups_list) | **GET** /core/groups/ | +*CoreApi* | [**core_groups_partial_update**](docs/CoreApi.md#core_groups_partial_update) | **PATCH** /core/groups/{group_uuid}/ | +*CoreApi* | [**core_groups_remove_user_create**](docs/CoreApi.md#core_groups_remove_user_create) | **POST** /core/groups/{group_uuid}/remove_user/ | +*CoreApi* | [**core_groups_retrieve**](docs/CoreApi.md#core_groups_retrieve) | **GET** /core/groups/{group_uuid}/ | +*CoreApi* | [**core_groups_update**](docs/CoreApi.md#core_groups_update) | **PUT** /core/groups/{group_uuid}/ | +*CoreApi* | [**core_groups_used_by_list**](docs/CoreApi.md#core_groups_used_by_list) | **GET** /core/groups/{group_uuid}/used_by/ | +*CoreApi* | [**core_tokens_create**](docs/CoreApi.md#core_tokens_create) | **POST** /core/tokens/ | +*CoreApi* | [**core_tokens_destroy**](docs/CoreApi.md#core_tokens_destroy) | **DELETE** /core/tokens/{identifier}/ | +*CoreApi* | [**core_tokens_list**](docs/CoreApi.md#core_tokens_list) | **GET** /core/tokens/ | +*CoreApi* | [**core_tokens_partial_update**](docs/CoreApi.md#core_tokens_partial_update) | **PATCH** /core/tokens/{identifier}/ | +*CoreApi* | [**core_tokens_retrieve**](docs/CoreApi.md#core_tokens_retrieve) | **GET** /core/tokens/{identifier}/ | +*CoreApi* | [**core_tokens_set_key_create**](docs/CoreApi.md#core_tokens_set_key_create) | **POST** /core/tokens/{identifier}/set_key/ | +*CoreApi* | [**core_tokens_update**](docs/CoreApi.md#core_tokens_update) | **PUT** /core/tokens/{identifier}/ | +*CoreApi* | [**core_tokens_used_by_list**](docs/CoreApi.md#core_tokens_used_by_list) | **GET** /core/tokens/{identifier}/used_by/ | +*CoreApi* | [**core_tokens_view_key_retrieve**](docs/CoreApi.md#core_tokens_view_key_retrieve) | **GET** /core/tokens/{identifier}/view_key/ | +*CoreApi* | [**core_transactional_applications_update**](docs/CoreApi.md#core_transactional_applications_update) | **PUT** /core/transactional/applications/ | +*CoreApi* | [**core_user_consent_destroy**](docs/CoreApi.md#core_user_consent_destroy) | **DELETE** /core/user_consent/{id}/ | +*CoreApi* | [**core_user_consent_list**](docs/CoreApi.md#core_user_consent_list) | **GET** /core/user_consent/ | +*CoreApi* | [**core_user_consent_retrieve**](docs/CoreApi.md#core_user_consent_retrieve) | **GET** /core/user_consent/{id}/ | +*CoreApi* | [**core_user_consent_used_by_list**](docs/CoreApi.md#core_user_consent_used_by_list) | **GET** /core/user_consent/{id}/used_by/ | +*CoreApi* | [**core_users_create**](docs/CoreApi.md#core_users_create) | **POST** /core/users/ | +*CoreApi* | [**core_users_destroy**](docs/CoreApi.md#core_users_destroy) | **DELETE** /core/users/{id}/ | +*CoreApi* | [**core_users_impersonate_create**](docs/CoreApi.md#core_users_impersonate_create) | **POST** /core/users/{id}/impersonate/ | +*CoreApi* | [**core_users_impersonate_end_retrieve**](docs/CoreApi.md#core_users_impersonate_end_retrieve) | **GET** /core/users/impersonate_end/ | +*CoreApi* | [**core_users_list**](docs/CoreApi.md#core_users_list) | **GET** /core/users/ | +*CoreApi* | [**core_users_me_retrieve**](docs/CoreApi.md#core_users_me_retrieve) | **GET** /core/users/me/ | +*CoreApi* | [**core_users_metrics_retrieve**](docs/CoreApi.md#core_users_metrics_retrieve) | **GET** /core/users/{id}/metrics/ | +*CoreApi* | [**core_users_partial_update**](docs/CoreApi.md#core_users_partial_update) | **PATCH** /core/users/{id}/ | +*CoreApi* | [**core_users_paths_retrieve**](docs/CoreApi.md#core_users_paths_retrieve) | **GET** /core/users/paths/ | +*CoreApi* | [**core_users_recovery_create**](docs/CoreApi.md#core_users_recovery_create) | **POST** /core/users/{id}/recovery/ | +*CoreApi* | [**core_users_recovery_email_create**](docs/CoreApi.md#core_users_recovery_email_create) | **POST** /core/users/{id}/recovery_email/ | +*CoreApi* | [**core_users_retrieve**](docs/CoreApi.md#core_users_retrieve) | **GET** /core/users/{id}/ | +*CoreApi* | [**core_users_service_account_create**](docs/CoreApi.md#core_users_service_account_create) | **POST** /core/users/service_account/ | +*CoreApi* | [**core_users_set_password_create**](docs/CoreApi.md#core_users_set_password_create) | **POST** /core/users/{id}/set_password/ | +*CoreApi* | [**core_users_update**](docs/CoreApi.md#core_users_update) | **PUT** /core/users/{id}/ | +*CoreApi* | [**core_users_used_by_list**](docs/CoreApi.md#core_users_used_by_list) | **GET** /core/users/{id}/used_by/ | +*CryptoApi* | [**crypto_certificatekeypairs_create**](docs/CryptoApi.md#crypto_certificatekeypairs_create) | **POST** /crypto/certificatekeypairs/ | +*CryptoApi* | [**crypto_certificatekeypairs_destroy**](docs/CryptoApi.md#crypto_certificatekeypairs_destroy) | **DELETE** /crypto/certificatekeypairs/{kp_uuid}/ | +*CryptoApi* | [**crypto_certificatekeypairs_generate_create**](docs/CryptoApi.md#crypto_certificatekeypairs_generate_create) | **POST** /crypto/certificatekeypairs/generate/ | +*CryptoApi* | [**crypto_certificatekeypairs_list**](docs/CryptoApi.md#crypto_certificatekeypairs_list) | **GET** /crypto/certificatekeypairs/ | +*CryptoApi* | [**crypto_certificatekeypairs_partial_update**](docs/CryptoApi.md#crypto_certificatekeypairs_partial_update) | **PATCH** /crypto/certificatekeypairs/{kp_uuid}/ | +*CryptoApi* | [**crypto_certificatekeypairs_retrieve**](docs/CryptoApi.md#crypto_certificatekeypairs_retrieve) | **GET** /crypto/certificatekeypairs/{kp_uuid}/ | +*CryptoApi* | [**crypto_certificatekeypairs_update**](docs/CryptoApi.md#crypto_certificatekeypairs_update) | **PUT** /crypto/certificatekeypairs/{kp_uuid}/ | +*CryptoApi* | [**crypto_certificatekeypairs_used_by_list**](docs/CryptoApi.md#crypto_certificatekeypairs_used_by_list) | **GET** /crypto/certificatekeypairs/{kp_uuid}/used_by/ | +*CryptoApi* | [**crypto_certificatekeypairs_view_certificate_retrieve**](docs/CryptoApi.md#crypto_certificatekeypairs_view_certificate_retrieve) | **GET** /crypto/certificatekeypairs/{kp_uuid}/view_certificate/ | +*CryptoApi* | [**crypto_certificatekeypairs_view_private_key_retrieve**](docs/CryptoApi.md#crypto_certificatekeypairs_view_private_key_retrieve) | **GET** /crypto/certificatekeypairs/{kp_uuid}/view_private_key/ | +*EnterpriseApi* | [**enterprise_license_create**](docs/EnterpriseApi.md#enterprise_license_create) | **POST** /enterprise/license/ | +*EnterpriseApi* | [**enterprise_license_destroy**](docs/EnterpriseApi.md#enterprise_license_destroy) | **DELETE** /enterprise/license/{license_uuid}/ | +*EnterpriseApi* | [**enterprise_license_forecast_retrieve**](docs/EnterpriseApi.md#enterprise_license_forecast_retrieve) | **GET** /enterprise/license/forecast/ | +*EnterpriseApi* | [**enterprise_license_install_id_retrieve**](docs/EnterpriseApi.md#enterprise_license_install_id_retrieve) | **GET** /enterprise/license/install_id/ | +*EnterpriseApi* | [**enterprise_license_list**](docs/EnterpriseApi.md#enterprise_license_list) | **GET** /enterprise/license/ | +*EnterpriseApi* | [**enterprise_license_partial_update**](docs/EnterpriseApi.md#enterprise_license_partial_update) | **PATCH** /enterprise/license/{license_uuid}/ | +*EnterpriseApi* | [**enterprise_license_retrieve**](docs/EnterpriseApi.md#enterprise_license_retrieve) | **GET** /enterprise/license/{license_uuid}/ | +*EnterpriseApi* | [**enterprise_license_summary_retrieve**](docs/EnterpriseApi.md#enterprise_license_summary_retrieve) | **GET** /enterprise/license/summary/ | +*EnterpriseApi* | [**enterprise_license_update**](docs/EnterpriseApi.md#enterprise_license_update) | **PUT** /enterprise/license/{license_uuid}/ | +*EnterpriseApi* | [**enterprise_license_used_by_list**](docs/EnterpriseApi.md#enterprise_license_used_by_list) | **GET** /enterprise/license/{license_uuid}/used_by/ | +*EventsApi* | [**events_events_actions_list**](docs/EventsApi.md#events_events_actions_list) | **GET** /events/events/actions/ | +*EventsApi* | [**events_events_create**](docs/EventsApi.md#events_events_create) | **POST** /events/events/ | +*EventsApi* | [**events_events_destroy**](docs/EventsApi.md#events_events_destroy) | **DELETE** /events/events/{event_uuid}/ | +*EventsApi* | [**events_events_list**](docs/EventsApi.md#events_events_list) | **GET** /events/events/ | +*EventsApi* | [**events_events_partial_update**](docs/EventsApi.md#events_events_partial_update) | **PATCH** /events/events/{event_uuid}/ | +*EventsApi* | [**events_events_per_month_list**](docs/EventsApi.md#events_events_per_month_list) | **GET** /events/events/per_month/ | +*EventsApi* | [**events_events_retrieve**](docs/EventsApi.md#events_events_retrieve) | **GET** /events/events/{event_uuid}/ | +*EventsApi* | [**events_events_top_per_user_list**](docs/EventsApi.md#events_events_top_per_user_list) | **GET** /events/events/top_per_user/ | +*EventsApi* | [**events_events_update**](docs/EventsApi.md#events_events_update) | **PUT** /events/events/{event_uuid}/ | +*EventsApi* | [**events_events_volume_list**](docs/EventsApi.md#events_events_volume_list) | **GET** /events/events/volume/ | +*EventsApi* | [**events_notifications_destroy**](docs/EventsApi.md#events_notifications_destroy) | **DELETE** /events/notifications/{uuid}/ | +*EventsApi* | [**events_notifications_list**](docs/EventsApi.md#events_notifications_list) | **GET** /events/notifications/ | +*EventsApi* | [**events_notifications_mark_all_seen_create**](docs/EventsApi.md#events_notifications_mark_all_seen_create) | **POST** /events/notifications/mark_all_seen/ | +*EventsApi* | [**events_notifications_partial_update**](docs/EventsApi.md#events_notifications_partial_update) | **PATCH** /events/notifications/{uuid}/ | +*EventsApi* | [**events_notifications_retrieve**](docs/EventsApi.md#events_notifications_retrieve) | **GET** /events/notifications/{uuid}/ | +*EventsApi* | [**events_notifications_update**](docs/EventsApi.md#events_notifications_update) | **PUT** /events/notifications/{uuid}/ | +*EventsApi* | [**events_notifications_used_by_list**](docs/EventsApi.md#events_notifications_used_by_list) | **GET** /events/notifications/{uuid}/used_by/ | +*EventsApi* | [**events_rules_create**](docs/EventsApi.md#events_rules_create) | **POST** /events/rules/ | +*EventsApi* | [**events_rules_destroy**](docs/EventsApi.md#events_rules_destroy) | **DELETE** /events/rules/{pbm_uuid}/ | +*EventsApi* | [**events_rules_list**](docs/EventsApi.md#events_rules_list) | **GET** /events/rules/ | +*EventsApi* | [**events_rules_partial_update**](docs/EventsApi.md#events_rules_partial_update) | **PATCH** /events/rules/{pbm_uuid}/ | +*EventsApi* | [**events_rules_retrieve**](docs/EventsApi.md#events_rules_retrieve) | **GET** /events/rules/{pbm_uuid}/ | +*EventsApi* | [**events_rules_update**](docs/EventsApi.md#events_rules_update) | **PUT** /events/rules/{pbm_uuid}/ | +*EventsApi* | [**events_rules_used_by_list**](docs/EventsApi.md#events_rules_used_by_list) | **GET** /events/rules/{pbm_uuid}/used_by/ | +*EventsApi* | [**events_system_tasks_list**](docs/EventsApi.md#events_system_tasks_list) | **GET** /events/system_tasks/ | +*EventsApi* | [**events_system_tasks_retrieve**](docs/EventsApi.md#events_system_tasks_retrieve) | **GET** /events/system_tasks/{uuid}/ | +*EventsApi* | [**events_system_tasks_run_create**](docs/EventsApi.md#events_system_tasks_run_create) | **POST** /events/system_tasks/{uuid}/run/ | +*EventsApi* | [**events_transports_create**](docs/EventsApi.md#events_transports_create) | **POST** /events/transports/ | +*EventsApi* | [**events_transports_destroy**](docs/EventsApi.md#events_transports_destroy) | **DELETE** /events/transports/{uuid}/ | +*EventsApi* | [**events_transports_list**](docs/EventsApi.md#events_transports_list) | **GET** /events/transports/ | +*EventsApi* | [**events_transports_partial_update**](docs/EventsApi.md#events_transports_partial_update) | **PATCH** /events/transports/{uuid}/ | +*EventsApi* | [**events_transports_retrieve**](docs/EventsApi.md#events_transports_retrieve) | **GET** /events/transports/{uuid}/ | +*EventsApi* | [**events_transports_test_create**](docs/EventsApi.md#events_transports_test_create) | **POST** /events/transports/{uuid}/test/ | +*EventsApi* | [**events_transports_update**](docs/EventsApi.md#events_transports_update) | **PUT** /events/transports/{uuid}/ | +*EventsApi* | [**events_transports_used_by_list**](docs/EventsApi.md#events_transports_used_by_list) | **GET** /events/transports/{uuid}/used_by/ | +*FlowsApi* | [**flows_bindings_create**](docs/FlowsApi.md#flows_bindings_create) | **POST** /flows/bindings/ | +*FlowsApi* | [**flows_bindings_destroy**](docs/FlowsApi.md#flows_bindings_destroy) | **DELETE** /flows/bindings/{fsb_uuid}/ | +*FlowsApi* | [**flows_bindings_list**](docs/FlowsApi.md#flows_bindings_list) | **GET** /flows/bindings/ | +*FlowsApi* | [**flows_bindings_partial_update**](docs/FlowsApi.md#flows_bindings_partial_update) | **PATCH** /flows/bindings/{fsb_uuid}/ | +*FlowsApi* | [**flows_bindings_retrieve**](docs/FlowsApi.md#flows_bindings_retrieve) | **GET** /flows/bindings/{fsb_uuid}/ | +*FlowsApi* | [**flows_bindings_update**](docs/FlowsApi.md#flows_bindings_update) | **PUT** /flows/bindings/{fsb_uuid}/ | +*FlowsApi* | [**flows_bindings_used_by_list**](docs/FlowsApi.md#flows_bindings_used_by_list) | **GET** /flows/bindings/{fsb_uuid}/used_by/ | +*FlowsApi* | [**flows_executor_get**](docs/FlowsApi.md#flows_executor_get) | **GET** /flows/executor/{flow_slug}/ | +*FlowsApi* | [**flows_executor_solve**](docs/FlowsApi.md#flows_executor_solve) | **POST** /flows/executor/{flow_slug}/ | +*FlowsApi* | [**flows_inspector_get**](docs/FlowsApi.md#flows_inspector_get) | **GET** /flows/inspector/{flow_slug}/ | +*FlowsApi* | [**flows_instances_cache_clear_create**](docs/FlowsApi.md#flows_instances_cache_clear_create) | **POST** /flows/instances/cache_clear/ | +*FlowsApi* | [**flows_instances_cache_info_retrieve**](docs/FlowsApi.md#flows_instances_cache_info_retrieve) | **GET** /flows/instances/cache_info/ | +*FlowsApi* | [**flows_instances_create**](docs/FlowsApi.md#flows_instances_create) | **POST** /flows/instances/ | +*FlowsApi* | [**flows_instances_destroy**](docs/FlowsApi.md#flows_instances_destroy) | **DELETE** /flows/instances/{slug}/ | +*FlowsApi* | [**flows_instances_diagram_retrieve**](docs/FlowsApi.md#flows_instances_diagram_retrieve) | **GET** /flows/instances/{slug}/diagram/ | +*FlowsApi* | [**flows_instances_execute_retrieve**](docs/FlowsApi.md#flows_instances_execute_retrieve) | **GET** /flows/instances/{slug}/execute/ | +*FlowsApi* | [**flows_instances_export_retrieve**](docs/FlowsApi.md#flows_instances_export_retrieve) | **GET** /flows/instances/{slug}/export/ | +*FlowsApi* | [**flows_instances_import_create**](docs/FlowsApi.md#flows_instances_import_create) | **POST** /flows/instances/import/ | +*FlowsApi* | [**flows_instances_list**](docs/FlowsApi.md#flows_instances_list) | **GET** /flows/instances/ | +*FlowsApi* | [**flows_instances_partial_update**](docs/FlowsApi.md#flows_instances_partial_update) | **PATCH** /flows/instances/{slug}/ | +*FlowsApi* | [**flows_instances_retrieve**](docs/FlowsApi.md#flows_instances_retrieve) | **GET** /flows/instances/{slug}/ | +*FlowsApi* | [**flows_instances_set_background_create**](docs/FlowsApi.md#flows_instances_set_background_create) | **POST** /flows/instances/{slug}/set_background/ | +*FlowsApi* | [**flows_instances_set_background_url_create**](docs/FlowsApi.md#flows_instances_set_background_url_create) | **POST** /flows/instances/{slug}/set_background_url/ | +*FlowsApi* | [**flows_instances_update**](docs/FlowsApi.md#flows_instances_update) | **PUT** /flows/instances/{slug}/ | +*FlowsApi* | [**flows_instances_used_by_list**](docs/FlowsApi.md#flows_instances_used_by_list) | **GET** /flows/instances/{slug}/used_by/ | +*ManagedApi* | [**managed_blueprints_apply_create**](docs/ManagedApi.md#managed_blueprints_apply_create) | **POST** /managed/blueprints/{instance_uuid}/apply/ | +*ManagedApi* | [**managed_blueprints_available_list**](docs/ManagedApi.md#managed_blueprints_available_list) | **GET** /managed/blueprints/available/ | +*ManagedApi* | [**managed_blueprints_create**](docs/ManagedApi.md#managed_blueprints_create) | **POST** /managed/blueprints/ | +*ManagedApi* | [**managed_blueprints_destroy**](docs/ManagedApi.md#managed_blueprints_destroy) | **DELETE** /managed/blueprints/{instance_uuid}/ | +*ManagedApi* | [**managed_blueprints_list**](docs/ManagedApi.md#managed_blueprints_list) | **GET** /managed/blueprints/ | +*ManagedApi* | [**managed_blueprints_partial_update**](docs/ManagedApi.md#managed_blueprints_partial_update) | **PATCH** /managed/blueprints/{instance_uuid}/ | +*ManagedApi* | [**managed_blueprints_retrieve**](docs/ManagedApi.md#managed_blueprints_retrieve) | **GET** /managed/blueprints/{instance_uuid}/ | +*ManagedApi* | [**managed_blueprints_update**](docs/ManagedApi.md#managed_blueprints_update) | **PUT** /managed/blueprints/{instance_uuid}/ | +*ManagedApi* | [**managed_blueprints_used_by_list**](docs/ManagedApi.md#managed_blueprints_used_by_list) | **GET** /managed/blueprints/{instance_uuid}/used_by/ | +*Oauth2Api* | [**oauth2_access_tokens_destroy**](docs/Oauth2Api.md#oauth2_access_tokens_destroy) | **DELETE** /oauth2/access_tokens/{id}/ | +*Oauth2Api* | [**oauth2_access_tokens_list**](docs/Oauth2Api.md#oauth2_access_tokens_list) | **GET** /oauth2/access_tokens/ | +*Oauth2Api* | [**oauth2_access_tokens_retrieve**](docs/Oauth2Api.md#oauth2_access_tokens_retrieve) | **GET** /oauth2/access_tokens/{id}/ | +*Oauth2Api* | [**oauth2_access_tokens_used_by_list**](docs/Oauth2Api.md#oauth2_access_tokens_used_by_list) | **GET** /oauth2/access_tokens/{id}/used_by/ | +*Oauth2Api* | [**oauth2_authorization_codes_destroy**](docs/Oauth2Api.md#oauth2_authorization_codes_destroy) | **DELETE** /oauth2/authorization_codes/{id}/ | +*Oauth2Api* | [**oauth2_authorization_codes_list**](docs/Oauth2Api.md#oauth2_authorization_codes_list) | **GET** /oauth2/authorization_codes/ | +*Oauth2Api* | [**oauth2_authorization_codes_retrieve**](docs/Oauth2Api.md#oauth2_authorization_codes_retrieve) | **GET** /oauth2/authorization_codes/{id}/ | +*Oauth2Api* | [**oauth2_authorization_codes_used_by_list**](docs/Oauth2Api.md#oauth2_authorization_codes_used_by_list) | **GET** /oauth2/authorization_codes/{id}/used_by/ | +*Oauth2Api* | [**oauth2_refresh_tokens_destroy**](docs/Oauth2Api.md#oauth2_refresh_tokens_destroy) | **DELETE** /oauth2/refresh_tokens/{id}/ | +*Oauth2Api* | [**oauth2_refresh_tokens_list**](docs/Oauth2Api.md#oauth2_refresh_tokens_list) | **GET** /oauth2/refresh_tokens/ | +*Oauth2Api* | [**oauth2_refresh_tokens_retrieve**](docs/Oauth2Api.md#oauth2_refresh_tokens_retrieve) | **GET** /oauth2/refresh_tokens/{id}/ | +*Oauth2Api* | [**oauth2_refresh_tokens_used_by_list**](docs/Oauth2Api.md#oauth2_refresh_tokens_used_by_list) | **GET** /oauth2/refresh_tokens/{id}/used_by/ | +*OutpostsApi* | [**outposts_instances_create**](docs/OutpostsApi.md#outposts_instances_create) | **POST** /outposts/instances/ | +*OutpostsApi* | [**outposts_instances_default_settings_retrieve**](docs/OutpostsApi.md#outposts_instances_default_settings_retrieve) | **GET** /outposts/instances/default_settings/ | +*OutpostsApi* | [**outposts_instances_destroy**](docs/OutpostsApi.md#outposts_instances_destroy) | **DELETE** /outposts/instances/{uuid}/ | +*OutpostsApi* | [**outposts_instances_health_list**](docs/OutpostsApi.md#outposts_instances_health_list) | **GET** /outposts/instances/{uuid}/health/ | +*OutpostsApi* | [**outposts_instances_list**](docs/OutpostsApi.md#outposts_instances_list) | **GET** /outposts/instances/ | +*OutpostsApi* | [**outposts_instances_partial_update**](docs/OutpostsApi.md#outposts_instances_partial_update) | **PATCH** /outposts/instances/{uuid}/ | +*OutpostsApi* | [**outposts_instances_retrieve**](docs/OutpostsApi.md#outposts_instances_retrieve) | **GET** /outposts/instances/{uuid}/ | +*OutpostsApi* | [**outposts_instances_update**](docs/OutpostsApi.md#outposts_instances_update) | **PUT** /outposts/instances/{uuid}/ | +*OutpostsApi* | [**outposts_instances_used_by_list**](docs/OutpostsApi.md#outposts_instances_used_by_list) | **GET** /outposts/instances/{uuid}/used_by/ | +*OutpostsApi* | [**outposts_ldap_access_check**](docs/OutpostsApi.md#outposts_ldap_access_check) | **GET** /outposts/ldap/{id}/check_access/ | +*OutpostsApi* | [**outposts_ldap_list**](docs/OutpostsApi.md#outposts_ldap_list) | **GET** /outposts/ldap/ | +*OutpostsApi* | [**outposts_proxy_list**](docs/OutpostsApi.md#outposts_proxy_list) | **GET** /outposts/proxy/ | +*OutpostsApi* | [**outposts_radius_access_check**](docs/OutpostsApi.md#outposts_radius_access_check) | **GET** /outposts/radius/{id}/check_access/ | +*OutpostsApi* | [**outposts_radius_list**](docs/OutpostsApi.md#outposts_radius_list) | **GET** /outposts/radius/ | +*OutpostsApi* | [**outposts_service_connections_all_destroy**](docs/OutpostsApi.md#outposts_service_connections_all_destroy) | **DELETE** /outposts/service_connections/all/{uuid}/ | +*OutpostsApi* | [**outposts_service_connections_all_list**](docs/OutpostsApi.md#outposts_service_connections_all_list) | **GET** /outposts/service_connections/all/ | +*OutpostsApi* | [**outposts_service_connections_all_retrieve**](docs/OutpostsApi.md#outposts_service_connections_all_retrieve) | **GET** /outposts/service_connections/all/{uuid}/ | +*OutpostsApi* | [**outposts_service_connections_all_state_retrieve**](docs/OutpostsApi.md#outposts_service_connections_all_state_retrieve) | **GET** /outposts/service_connections/all/{uuid}/state/ | +*OutpostsApi* | [**outposts_service_connections_all_types_list**](docs/OutpostsApi.md#outposts_service_connections_all_types_list) | **GET** /outposts/service_connections/all/types/ | +*OutpostsApi* | [**outposts_service_connections_all_used_by_list**](docs/OutpostsApi.md#outposts_service_connections_all_used_by_list) | **GET** /outposts/service_connections/all/{uuid}/used_by/ | +*OutpostsApi* | [**outposts_service_connections_docker_create**](docs/OutpostsApi.md#outposts_service_connections_docker_create) | **POST** /outposts/service_connections/docker/ | +*OutpostsApi* | [**outposts_service_connections_docker_destroy**](docs/OutpostsApi.md#outposts_service_connections_docker_destroy) | **DELETE** /outposts/service_connections/docker/{uuid}/ | +*OutpostsApi* | [**outposts_service_connections_docker_list**](docs/OutpostsApi.md#outposts_service_connections_docker_list) | **GET** /outposts/service_connections/docker/ | +*OutpostsApi* | [**outposts_service_connections_docker_partial_update**](docs/OutpostsApi.md#outposts_service_connections_docker_partial_update) | **PATCH** /outposts/service_connections/docker/{uuid}/ | +*OutpostsApi* | [**outposts_service_connections_docker_retrieve**](docs/OutpostsApi.md#outposts_service_connections_docker_retrieve) | **GET** /outposts/service_connections/docker/{uuid}/ | +*OutpostsApi* | [**outposts_service_connections_docker_update**](docs/OutpostsApi.md#outposts_service_connections_docker_update) | **PUT** /outposts/service_connections/docker/{uuid}/ | +*OutpostsApi* | [**outposts_service_connections_docker_used_by_list**](docs/OutpostsApi.md#outposts_service_connections_docker_used_by_list) | **GET** /outposts/service_connections/docker/{uuid}/used_by/ | +*OutpostsApi* | [**outposts_service_connections_kubernetes_create**](docs/OutpostsApi.md#outposts_service_connections_kubernetes_create) | **POST** /outposts/service_connections/kubernetes/ | +*OutpostsApi* | [**outposts_service_connections_kubernetes_destroy**](docs/OutpostsApi.md#outposts_service_connections_kubernetes_destroy) | **DELETE** /outposts/service_connections/kubernetes/{uuid}/ | +*OutpostsApi* | [**outposts_service_connections_kubernetes_list**](docs/OutpostsApi.md#outposts_service_connections_kubernetes_list) | **GET** /outposts/service_connections/kubernetes/ | +*OutpostsApi* | [**outposts_service_connections_kubernetes_partial_update**](docs/OutpostsApi.md#outposts_service_connections_kubernetes_partial_update) | **PATCH** /outposts/service_connections/kubernetes/{uuid}/ | +*OutpostsApi* | [**outposts_service_connections_kubernetes_retrieve**](docs/OutpostsApi.md#outposts_service_connections_kubernetes_retrieve) | **GET** /outposts/service_connections/kubernetes/{uuid}/ | +*OutpostsApi* | [**outposts_service_connections_kubernetes_update**](docs/OutpostsApi.md#outposts_service_connections_kubernetes_update) | **PUT** /outposts/service_connections/kubernetes/{uuid}/ | +*OutpostsApi* | [**outposts_service_connections_kubernetes_used_by_list**](docs/OutpostsApi.md#outposts_service_connections_kubernetes_used_by_list) | **GET** /outposts/service_connections/kubernetes/{uuid}/used_by/ | +*PoliciesApi* | [**policies_all_cache_clear_create**](docs/PoliciesApi.md#policies_all_cache_clear_create) | **POST** /policies/all/cache_clear/ | +*PoliciesApi* | [**policies_all_cache_info_retrieve**](docs/PoliciesApi.md#policies_all_cache_info_retrieve) | **GET** /policies/all/cache_info/ | +*PoliciesApi* | [**policies_all_destroy**](docs/PoliciesApi.md#policies_all_destroy) | **DELETE** /policies/all/{policy_uuid}/ | +*PoliciesApi* | [**policies_all_list**](docs/PoliciesApi.md#policies_all_list) | **GET** /policies/all/ | +*PoliciesApi* | [**policies_all_retrieve**](docs/PoliciesApi.md#policies_all_retrieve) | **GET** /policies/all/{policy_uuid}/ | +*PoliciesApi* | [**policies_all_test_create**](docs/PoliciesApi.md#policies_all_test_create) | **POST** /policies/all/{policy_uuid}/test/ | +*PoliciesApi* | [**policies_all_types_list**](docs/PoliciesApi.md#policies_all_types_list) | **GET** /policies/all/types/ | +*PoliciesApi* | [**policies_all_used_by_list**](docs/PoliciesApi.md#policies_all_used_by_list) | **GET** /policies/all/{policy_uuid}/used_by/ | +*PoliciesApi* | [**policies_bindings_create**](docs/PoliciesApi.md#policies_bindings_create) | **POST** /policies/bindings/ | +*PoliciesApi* | [**policies_bindings_destroy**](docs/PoliciesApi.md#policies_bindings_destroy) | **DELETE** /policies/bindings/{policy_binding_uuid}/ | +*PoliciesApi* | [**policies_bindings_list**](docs/PoliciesApi.md#policies_bindings_list) | **GET** /policies/bindings/ | +*PoliciesApi* | [**policies_bindings_partial_update**](docs/PoliciesApi.md#policies_bindings_partial_update) | **PATCH** /policies/bindings/{policy_binding_uuid}/ | +*PoliciesApi* | [**policies_bindings_retrieve**](docs/PoliciesApi.md#policies_bindings_retrieve) | **GET** /policies/bindings/{policy_binding_uuid}/ | +*PoliciesApi* | [**policies_bindings_update**](docs/PoliciesApi.md#policies_bindings_update) | **PUT** /policies/bindings/{policy_binding_uuid}/ | +*PoliciesApi* | [**policies_bindings_used_by_list**](docs/PoliciesApi.md#policies_bindings_used_by_list) | **GET** /policies/bindings/{policy_binding_uuid}/used_by/ | +*PoliciesApi* | [**policies_dummy_create**](docs/PoliciesApi.md#policies_dummy_create) | **POST** /policies/dummy/ | +*PoliciesApi* | [**policies_dummy_destroy**](docs/PoliciesApi.md#policies_dummy_destroy) | **DELETE** /policies/dummy/{policy_uuid}/ | +*PoliciesApi* | [**policies_dummy_list**](docs/PoliciesApi.md#policies_dummy_list) | **GET** /policies/dummy/ | +*PoliciesApi* | [**policies_dummy_partial_update**](docs/PoliciesApi.md#policies_dummy_partial_update) | **PATCH** /policies/dummy/{policy_uuid}/ | +*PoliciesApi* | [**policies_dummy_retrieve**](docs/PoliciesApi.md#policies_dummy_retrieve) | **GET** /policies/dummy/{policy_uuid}/ | +*PoliciesApi* | [**policies_dummy_update**](docs/PoliciesApi.md#policies_dummy_update) | **PUT** /policies/dummy/{policy_uuid}/ | +*PoliciesApi* | [**policies_dummy_used_by_list**](docs/PoliciesApi.md#policies_dummy_used_by_list) | **GET** /policies/dummy/{policy_uuid}/used_by/ | +*PoliciesApi* | [**policies_event_matcher_create**](docs/PoliciesApi.md#policies_event_matcher_create) | **POST** /policies/event_matcher/ | +*PoliciesApi* | [**policies_event_matcher_destroy**](docs/PoliciesApi.md#policies_event_matcher_destroy) | **DELETE** /policies/event_matcher/{policy_uuid}/ | +*PoliciesApi* | [**policies_event_matcher_list**](docs/PoliciesApi.md#policies_event_matcher_list) | **GET** /policies/event_matcher/ | +*PoliciesApi* | [**policies_event_matcher_partial_update**](docs/PoliciesApi.md#policies_event_matcher_partial_update) | **PATCH** /policies/event_matcher/{policy_uuid}/ | +*PoliciesApi* | [**policies_event_matcher_retrieve**](docs/PoliciesApi.md#policies_event_matcher_retrieve) | **GET** /policies/event_matcher/{policy_uuid}/ | +*PoliciesApi* | [**policies_event_matcher_update**](docs/PoliciesApi.md#policies_event_matcher_update) | **PUT** /policies/event_matcher/{policy_uuid}/ | +*PoliciesApi* | [**policies_event_matcher_used_by_list**](docs/PoliciesApi.md#policies_event_matcher_used_by_list) | **GET** /policies/event_matcher/{policy_uuid}/used_by/ | +*PoliciesApi* | [**policies_expression_create**](docs/PoliciesApi.md#policies_expression_create) | **POST** /policies/expression/ | +*PoliciesApi* | [**policies_expression_destroy**](docs/PoliciesApi.md#policies_expression_destroy) | **DELETE** /policies/expression/{policy_uuid}/ | +*PoliciesApi* | [**policies_expression_list**](docs/PoliciesApi.md#policies_expression_list) | **GET** /policies/expression/ | +*PoliciesApi* | [**policies_expression_partial_update**](docs/PoliciesApi.md#policies_expression_partial_update) | **PATCH** /policies/expression/{policy_uuid}/ | +*PoliciesApi* | [**policies_expression_retrieve**](docs/PoliciesApi.md#policies_expression_retrieve) | **GET** /policies/expression/{policy_uuid}/ | +*PoliciesApi* | [**policies_expression_update**](docs/PoliciesApi.md#policies_expression_update) | **PUT** /policies/expression/{policy_uuid}/ | +*PoliciesApi* | [**policies_expression_used_by_list**](docs/PoliciesApi.md#policies_expression_used_by_list) | **GET** /policies/expression/{policy_uuid}/used_by/ | +*PoliciesApi* | [**policies_geoip_create**](docs/PoliciesApi.md#policies_geoip_create) | **POST** /policies/geoip/ | +*PoliciesApi* | [**policies_geoip_destroy**](docs/PoliciesApi.md#policies_geoip_destroy) | **DELETE** /policies/geoip/{policy_uuid}/ | +*PoliciesApi* | [**policies_geoip_iso3166_list**](docs/PoliciesApi.md#policies_geoip_iso3166_list) | **GET** /policies/geoip_iso3166/ | +*PoliciesApi* | [**policies_geoip_list**](docs/PoliciesApi.md#policies_geoip_list) | **GET** /policies/geoip/ | +*PoliciesApi* | [**policies_geoip_partial_update**](docs/PoliciesApi.md#policies_geoip_partial_update) | **PATCH** /policies/geoip/{policy_uuid}/ | +*PoliciesApi* | [**policies_geoip_retrieve**](docs/PoliciesApi.md#policies_geoip_retrieve) | **GET** /policies/geoip/{policy_uuid}/ | +*PoliciesApi* | [**policies_geoip_update**](docs/PoliciesApi.md#policies_geoip_update) | **PUT** /policies/geoip/{policy_uuid}/ | +*PoliciesApi* | [**policies_geoip_used_by_list**](docs/PoliciesApi.md#policies_geoip_used_by_list) | **GET** /policies/geoip/{policy_uuid}/used_by/ | +*PoliciesApi* | [**policies_password_create**](docs/PoliciesApi.md#policies_password_create) | **POST** /policies/password/ | +*PoliciesApi* | [**policies_password_destroy**](docs/PoliciesApi.md#policies_password_destroy) | **DELETE** /policies/password/{policy_uuid}/ | +*PoliciesApi* | [**policies_password_expiry_create**](docs/PoliciesApi.md#policies_password_expiry_create) | **POST** /policies/password_expiry/ | +*PoliciesApi* | [**policies_password_expiry_destroy**](docs/PoliciesApi.md#policies_password_expiry_destroy) | **DELETE** /policies/password_expiry/{policy_uuid}/ | +*PoliciesApi* | [**policies_password_expiry_list**](docs/PoliciesApi.md#policies_password_expiry_list) | **GET** /policies/password_expiry/ | +*PoliciesApi* | [**policies_password_expiry_partial_update**](docs/PoliciesApi.md#policies_password_expiry_partial_update) | **PATCH** /policies/password_expiry/{policy_uuid}/ | +*PoliciesApi* | [**policies_password_expiry_retrieve**](docs/PoliciesApi.md#policies_password_expiry_retrieve) | **GET** /policies/password_expiry/{policy_uuid}/ | +*PoliciesApi* | [**policies_password_expiry_update**](docs/PoliciesApi.md#policies_password_expiry_update) | **PUT** /policies/password_expiry/{policy_uuid}/ | +*PoliciesApi* | [**policies_password_expiry_used_by_list**](docs/PoliciesApi.md#policies_password_expiry_used_by_list) | **GET** /policies/password_expiry/{policy_uuid}/used_by/ | +*PoliciesApi* | [**policies_password_list**](docs/PoliciesApi.md#policies_password_list) | **GET** /policies/password/ | +*PoliciesApi* | [**policies_password_partial_update**](docs/PoliciesApi.md#policies_password_partial_update) | **PATCH** /policies/password/{policy_uuid}/ | +*PoliciesApi* | [**policies_password_retrieve**](docs/PoliciesApi.md#policies_password_retrieve) | **GET** /policies/password/{policy_uuid}/ | +*PoliciesApi* | [**policies_password_update**](docs/PoliciesApi.md#policies_password_update) | **PUT** /policies/password/{policy_uuid}/ | +*PoliciesApi* | [**policies_password_used_by_list**](docs/PoliciesApi.md#policies_password_used_by_list) | **GET** /policies/password/{policy_uuid}/used_by/ | +*PoliciesApi* | [**policies_reputation_create**](docs/PoliciesApi.md#policies_reputation_create) | **POST** /policies/reputation/ | +*PoliciesApi* | [**policies_reputation_destroy**](docs/PoliciesApi.md#policies_reputation_destroy) | **DELETE** /policies/reputation/{policy_uuid}/ | +*PoliciesApi* | [**policies_reputation_list**](docs/PoliciesApi.md#policies_reputation_list) | **GET** /policies/reputation/ | +*PoliciesApi* | [**policies_reputation_partial_update**](docs/PoliciesApi.md#policies_reputation_partial_update) | **PATCH** /policies/reputation/{policy_uuid}/ | +*PoliciesApi* | [**policies_reputation_retrieve**](docs/PoliciesApi.md#policies_reputation_retrieve) | **GET** /policies/reputation/{policy_uuid}/ | +*PoliciesApi* | [**policies_reputation_scores_destroy**](docs/PoliciesApi.md#policies_reputation_scores_destroy) | **DELETE** /policies/reputation/scores/{reputation_uuid}/ | +*PoliciesApi* | [**policies_reputation_scores_list**](docs/PoliciesApi.md#policies_reputation_scores_list) | **GET** /policies/reputation/scores/ | +*PoliciesApi* | [**policies_reputation_scores_retrieve**](docs/PoliciesApi.md#policies_reputation_scores_retrieve) | **GET** /policies/reputation/scores/{reputation_uuid}/ | +*PoliciesApi* | [**policies_reputation_scores_used_by_list**](docs/PoliciesApi.md#policies_reputation_scores_used_by_list) | **GET** /policies/reputation/scores/{reputation_uuid}/used_by/ | +*PoliciesApi* | [**policies_reputation_update**](docs/PoliciesApi.md#policies_reputation_update) | **PUT** /policies/reputation/{policy_uuid}/ | +*PoliciesApi* | [**policies_reputation_used_by_list**](docs/PoliciesApi.md#policies_reputation_used_by_list) | **GET** /policies/reputation/{policy_uuid}/used_by/ | +*PropertymappingsApi* | [**propertymappings_all_destroy**](docs/PropertymappingsApi.md#propertymappings_all_destroy) | **DELETE** /propertymappings/all/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_all_list**](docs/PropertymappingsApi.md#propertymappings_all_list) | **GET** /propertymappings/all/ | +*PropertymappingsApi* | [**propertymappings_all_retrieve**](docs/PropertymappingsApi.md#propertymappings_all_retrieve) | **GET** /propertymappings/all/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_all_test_create**](docs/PropertymappingsApi.md#propertymappings_all_test_create) | **POST** /propertymappings/all/{pm_uuid}/test/ | +*PropertymappingsApi* | [**propertymappings_all_types_list**](docs/PropertymappingsApi.md#propertymappings_all_types_list) | **GET** /propertymappings/all/types/ | +*PropertymappingsApi* | [**propertymappings_all_used_by_list**](docs/PropertymappingsApi.md#propertymappings_all_used_by_list) | **GET** /propertymappings/all/{pm_uuid}/used_by/ | +*PropertymappingsApi* | [**propertymappings_notification_create**](docs/PropertymappingsApi.md#propertymappings_notification_create) | **POST** /propertymappings/notification/ | +*PropertymappingsApi* | [**propertymappings_notification_destroy**](docs/PropertymappingsApi.md#propertymappings_notification_destroy) | **DELETE** /propertymappings/notification/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_notification_list**](docs/PropertymappingsApi.md#propertymappings_notification_list) | **GET** /propertymappings/notification/ | +*PropertymappingsApi* | [**propertymappings_notification_partial_update**](docs/PropertymappingsApi.md#propertymappings_notification_partial_update) | **PATCH** /propertymappings/notification/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_notification_retrieve**](docs/PropertymappingsApi.md#propertymappings_notification_retrieve) | **GET** /propertymappings/notification/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_notification_update**](docs/PropertymappingsApi.md#propertymappings_notification_update) | **PUT** /propertymappings/notification/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_notification_used_by_list**](docs/PropertymappingsApi.md#propertymappings_notification_used_by_list) | **GET** /propertymappings/notification/{pm_uuid}/used_by/ | +*PropertymappingsApi* | [**propertymappings_provider_google_workspace_create**](docs/PropertymappingsApi.md#propertymappings_provider_google_workspace_create) | **POST** /propertymappings/provider/google_workspace/ | +*PropertymappingsApi* | [**propertymappings_provider_google_workspace_destroy**](docs/PropertymappingsApi.md#propertymappings_provider_google_workspace_destroy) | **DELETE** /propertymappings/provider/google_workspace/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_google_workspace_list**](docs/PropertymappingsApi.md#propertymappings_provider_google_workspace_list) | **GET** /propertymappings/provider/google_workspace/ | +*PropertymappingsApi* | [**propertymappings_provider_google_workspace_partial_update**](docs/PropertymappingsApi.md#propertymappings_provider_google_workspace_partial_update) | **PATCH** /propertymappings/provider/google_workspace/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_google_workspace_retrieve**](docs/PropertymappingsApi.md#propertymappings_provider_google_workspace_retrieve) | **GET** /propertymappings/provider/google_workspace/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_google_workspace_update**](docs/PropertymappingsApi.md#propertymappings_provider_google_workspace_update) | **PUT** /propertymappings/provider/google_workspace/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_google_workspace_used_by_list**](docs/PropertymappingsApi.md#propertymappings_provider_google_workspace_used_by_list) | **GET** /propertymappings/provider/google_workspace/{pm_uuid}/used_by/ | +*PropertymappingsApi* | [**propertymappings_provider_microsoft_entra_create**](docs/PropertymappingsApi.md#propertymappings_provider_microsoft_entra_create) | **POST** /propertymappings/provider/microsoft_entra/ | +*PropertymappingsApi* | [**propertymappings_provider_microsoft_entra_destroy**](docs/PropertymappingsApi.md#propertymappings_provider_microsoft_entra_destroy) | **DELETE** /propertymappings/provider/microsoft_entra/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_microsoft_entra_list**](docs/PropertymappingsApi.md#propertymappings_provider_microsoft_entra_list) | **GET** /propertymappings/provider/microsoft_entra/ | +*PropertymappingsApi* | [**propertymappings_provider_microsoft_entra_partial_update**](docs/PropertymappingsApi.md#propertymappings_provider_microsoft_entra_partial_update) | **PATCH** /propertymappings/provider/microsoft_entra/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_microsoft_entra_retrieve**](docs/PropertymappingsApi.md#propertymappings_provider_microsoft_entra_retrieve) | **GET** /propertymappings/provider/microsoft_entra/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_microsoft_entra_update**](docs/PropertymappingsApi.md#propertymappings_provider_microsoft_entra_update) | **PUT** /propertymappings/provider/microsoft_entra/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_microsoft_entra_used_by_list**](docs/PropertymappingsApi.md#propertymappings_provider_microsoft_entra_used_by_list) | **GET** /propertymappings/provider/microsoft_entra/{pm_uuid}/used_by/ | +*PropertymappingsApi* | [**propertymappings_provider_rac_create**](docs/PropertymappingsApi.md#propertymappings_provider_rac_create) | **POST** /propertymappings/provider/rac/ | +*PropertymappingsApi* | [**propertymappings_provider_rac_destroy**](docs/PropertymappingsApi.md#propertymappings_provider_rac_destroy) | **DELETE** /propertymappings/provider/rac/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_rac_list**](docs/PropertymappingsApi.md#propertymappings_provider_rac_list) | **GET** /propertymappings/provider/rac/ | +*PropertymappingsApi* | [**propertymappings_provider_rac_partial_update**](docs/PropertymappingsApi.md#propertymappings_provider_rac_partial_update) | **PATCH** /propertymappings/provider/rac/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_rac_retrieve**](docs/PropertymappingsApi.md#propertymappings_provider_rac_retrieve) | **GET** /propertymappings/provider/rac/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_rac_update**](docs/PropertymappingsApi.md#propertymappings_provider_rac_update) | **PUT** /propertymappings/provider/rac/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_rac_used_by_list**](docs/PropertymappingsApi.md#propertymappings_provider_rac_used_by_list) | **GET** /propertymappings/provider/rac/{pm_uuid}/used_by/ | +*PropertymappingsApi* | [**propertymappings_provider_radius_create**](docs/PropertymappingsApi.md#propertymappings_provider_radius_create) | **POST** /propertymappings/provider/radius/ | +*PropertymappingsApi* | [**propertymappings_provider_radius_destroy**](docs/PropertymappingsApi.md#propertymappings_provider_radius_destroy) | **DELETE** /propertymappings/provider/radius/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_radius_list**](docs/PropertymappingsApi.md#propertymappings_provider_radius_list) | **GET** /propertymappings/provider/radius/ | +*PropertymappingsApi* | [**propertymappings_provider_radius_partial_update**](docs/PropertymappingsApi.md#propertymappings_provider_radius_partial_update) | **PATCH** /propertymappings/provider/radius/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_radius_retrieve**](docs/PropertymappingsApi.md#propertymappings_provider_radius_retrieve) | **GET** /propertymappings/provider/radius/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_radius_update**](docs/PropertymappingsApi.md#propertymappings_provider_radius_update) | **PUT** /propertymappings/provider/radius/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_radius_used_by_list**](docs/PropertymappingsApi.md#propertymappings_provider_radius_used_by_list) | **GET** /propertymappings/provider/radius/{pm_uuid}/used_by/ | +*PropertymappingsApi* | [**propertymappings_provider_saml_create**](docs/PropertymappingsApi.md#propertymappings_provider_saml_create) | **POST** /propertymappings/provider/saml/ | +*PropertymappingsApi* | [**propertymappings_provider_saml_destroy**](docs/PropertymappingsApi.md#propertymappings_provider_saml_destroy) | **DELETE** /propertymappings/provider/saml/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_saml_list**](docs/PropertymappingsApi.md#propertymappings_provider_saml_list) | **GET** /propertymappings/provider/saml/ | +*PropertymappingsApi* | [**propertymappings_provider_saml_partial_update**](docs/PropertymappingsApi.md#propertymappings_provider_saml_partial_update) | **PATCH** /propertymappings/provider/saml/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_saml_retrieve**](docs/PropertymappingsApi.md#propertymappings_provider_saml_retrieve) | **GET** /propertymappings/provider/saml/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_saml_update**](docs/PropertymappingsApi.md#propertymappings_provider_saml_update) | **PUT** /propertymappings/provider/saml/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_saml_used_by_list**](docs/PropertymappingsApi.md#propertymappings_provider_saml_used_by_list) | **GET** /propertymappings/provider/saml/{pm_uuid}/used_by/ | +*PropertymappingsApi* | [**propertymappings_provider_scim_create**](docs/PropertymappingsApi.md#propertymappings_provider_scim_create) | **POST** /propertymappings/provider/scim/ | +*PropertymappingsApi* | [**propertymappings_provider_scim_destroy**](docs/PropertymappingsApi.md#propertymappings_provider_scim_destroy) | **DELETE** /propertymappings/provider/scim/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_scim_list**](docs/PropertymappingsApi.md#propertymappings_provider_scim_list) | **GET** /propertymappings/provider/scim/ | +*PropertymappingsApi* | [**propertymappings_provider_scim_partial_update**](docs/PropertymappingsApi.md#propertymappings_provider_scim_partial_update) | **PATCH** /propertymappings/provider/scim/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_scim_retrieve**](docs/PropertymappingsApi.md#propertymappings_provider_scim_retrieve) | **GET** /propertymappings/provider/scim/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_scim_update**](docs/PropertymappingsApi.md#propertymappings_provider_scim_update) | **PUT** /propertymappings/provider/scim/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_scim_used_by_list**](docs/PropertymappingsApi.md#propertymappings_provider_scim_used_by_list) | **GET** /propertymappings/provider/scim/{pm_uuid}/used_by/ | +*PropertymappingsApi* | [**propertymappings_provider_scope_create**](docs/PropertymappingsApi.md#propertymappings_provider_scope_create) | **POST** /propertymappings/provider/scope/ | +*PropertymappingsApi* | [**propertymappings_provider_scope_destroy**](docs/PropertymappingsApi.md#propertymappings_provider_scope_destroy) | **DELETE** /propertymappings/provider/scope/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_scope_list**](docs/PropertymappingsApi.md#propertymappings_provider_scope_list) | **GET** /propertymappings/provider/scope/ | +*PropertymappingsApi* | [**propertymappings_provider_scope_partial_update**](docs/PropertymappingsApi.md#propertymappings_provider_scope_partial_update) | **PATCH** /propertymappings/provider/scope/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_scope_retrieve**](docs/PropertymappingsApi.md#propertymappings_provider_scope_retrieve) | **GET** /propertymappings/provider/scope/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_scope_update**](docs/PropertymappingsApi.md#propertymappings_provider_scope_update) | **PUT** /propertymappings/provider/scope/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_provider_scope_used_by_list**](docs/PropertymappingsApi.md#propertymappings_provider_scope_used_by_list) | **GET** /propertymappings/provider/scope/{pm_uuid}/used_by/ | +*PropertymappingsApi* | [**propertymappings_source_ldap_create**](docs/PropertymappingsApi.md#propertymappings_source_ldap_create) | **POST** /propertymappings/source/ldap/ | +*PropertymappingsApi* | [**propertymappings_source_ldap_destroy**](docs/PropertymappingsApi.md#propertymappings_source_ldap_destroy) | **DELETE** /propertymappings/source/ldap/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_source_ldap_list**](docs/PropertymappingsApi.md#propertymappings_source_ldap_list) | **GET** /propertymappings/source/ldap/ | +*PropertymappingsApi* | [**propertymappings_source_ldap_partial_update**](docs/PropertymappingsApi.md#propertymappings_source_ldap_partial_update) | **PATCH** /propertymappings/source/ldap/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_source_ldap_retrieve**](docs/PropertymappingsApi.md#propertymappings_source_ldap_retrieve) | **GET** /propertymappings/source/ldap/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_source_ldap_update**](docs/PropertymappingsApi.md#propertymappings_source_ldap_update) | **PUT** /propertymappings/source/ldap/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_source_ldap_used_by_list**](docs/PropertymappingsApi.md#propertymappings_source_ldap_used_by_list) | **GET** /propertymappings/source/ldap/{pm_uuid}/used_by/ | +*PropertymappingsApi* | [**propertymappings_source_oauth_create**](docs/PropertymappingsApi.md#propertymappings_source_oauth_create) | **POST** /propertymappings/source/oauth/ | +*PropertymappingsApi* | [**propertymappings_source_oauth_destroy**](docs/PropertymappingsApi.md#propertymappings_source_oauth_destroy) | **DELETE** /propertymappings/source/oauth/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_source_oauth_list**](docs/PropertymappingsApi.md#propertymappings_source_oauth_list) | **GET** /propertymappings/source/oauth/ | +*PropertymappingsApi* | [**propertymappings_source_oauth_partial_update**](docs/PropertymappingsApi.md#propertymappings_source_oauth_partial_update) | **PATCH** /propertymappings/source/oauth/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_source_oauth_retrieve**](docs/PropertymappingsApi.md#propertymappings_source_oauth_retrieve) | **GET** /propertymappings/source/oauth/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_source_oauth_update**](docs/PropertymappingsApi.md#propertymappings_source_oauth_update) | **PUT** /propertymappings/source/oauth/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_source_oauth_used_by_list**](docs/PropertymappingsApi.md#propertymappings_source_oauth_used_by_list) | **GET** /propertymappings/source/oauth/{pm_uuid}/used_by/ | +*PropertymappingsApi* | [**propertymappings_source_plex_create**](docs/PropertymappingsApi.md#propertymappings_source_plex_create) | **POST** /propertymappings/source/plex/ | +*PropertymappingsApi* | [**propertymappings_source_plex_destroy**](docs/PropertymappingsApi.md#propertymappings_source_plex_destroy) | **DELETE** /propertymappings/source/plex/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_source_plex_list**](docs/PropertymappingsApi.md#propertymappings_source_plex_list) | **GET** /propertymappings/source/plex/ | +*PropertymappingsApi* | [**propertymappings_source_plex_partial_update**](docs/PropertymappingsApi.md#propertymappings_source_plex_partial_update) | **PATCH** /propertymappings/source/plex/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_source_plex_retrieve**](docs/PropertymappingsApi.md#propertymappings_source_plex_retrieve) | **GET** /propertymappings/source/plex/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_source_plex_update**](docs/PropertymappingsApi.md#propertymappings_source_plex_update) | **PUT** /propertymappings/source/plex/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_source_plex_used_by_list**](docs/PropertymappingsApi.md#propertymappings_source_plex_used_by_list) | **GET** /propertymappings/source/plex/{pm_uuid}/used_by/ | +*PropertymappingsApi* | [**propertymappings_source_saml_create**](docs/PropertymappingsApi.md#propertymappings_source_saml_create) | **POST** /propertymappings/source/saml/ | +*PropertymappingsApi* | [**propertymappings_source_saml_destroy**](docs/PropertymappingsApi.md#propertymappings_source_saml_destroy) | **DELETE** /propertymappings/source/saml/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_source_saml_list**](docs/PropertymappingsApi.md#propertymappings_source_saml_list) | **GET** /propertymappings/source/saml/ | +*PropertymappingsApi* | [**propertymappings_source_saml_partial_update**](docs/PropertymappingsApi.md#propertymappings_source_saml_partial_update) | **PATCH** /propertymappings/source/saml/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_source_saml_retrieve**](docs/PropertymappingsApi.md#propertymappings_source_saml_retrieve) | **GET** /propertymappings/source/saml/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_source_saml_update**](docs/PropertymappingsApi.md#propertymappings_source_saml_update) | **PUT** /propertymappings/source/saml/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_source_saml_used_by_list**](docs/PropertymappingsApi.md#propertymappings_source_saml_used_by_list) | **GET** /propertymappings/source/saml/{pm_uuid}/used_by/ | +*PropertymappingsApi* | [**propertymappings_source_scim_create**](docs/PropertymappingsApi.md#propertymappings_source_scim_create) | **POST** /propertymappings/source/scim/ | +*PropertymappingsApi* | [**propertymappings_source_scim_destroy**](docs/PropertymappingsApi.md#propertymappings_source_scim_destroy) | **DELETE** /propertymappings/source/scim/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_source_scim_list**](docs/PropertymappingsApi.md#propertymappings_source_scim_list) | **GET** /propertymappings/source/scim/ | +*PropertymappingsApi* | [**propertymappings_source_scim_partial_update**](docs/PropertymappingsApi.md#propertymappings_source_scim_partial_update) | **PATCH** /propertymappings/source/scim/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_source_scim_retrieve**](docs/PropertymappingsApi.md#propertymappings_source_scim_retrieve) | **GET** /propertymappings/source/scim/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_source_scim_update**](docs/PropertymappingsApi.md#propertymappings_source_scim_update) | **PUT** /propertymappings/source/scim/{pm_uuid}/ | +*PropertymappingsApi* | [**propertymappings_source_scim_used_by_list**](docs/PropertymappingsApi.md#propertymappings_source_scim_used_by_list) | **GET** /propertymappings/source/scim/{pm_uuid}/used_by/ | +*ProvidersApi* | [**providers_all_destroy**](docs/ProvidersApi.md#providers_all_destroy) | **DELETE** /providers/all/{id}/ | +*ProvidersApi* | [**providers_all_list**](docs/ProvidersApi.md#providers_all_list) | **GET** /providers/all/ | +*ProvidersApi* | [**providers_all_retrieve**](docs/ProvidersApi.md#providers_all_retrieve) | **GET** /providers/all/{id}/ | +*ProvidersApi* | [**providers_all_types_list**](docs/ProvidersApi.md#providers_all_types_list) | **GET** /providers/all/types/ | +*ProvidersApi* | [**providers_all_used_by_list**](docs/ProvidersApi.md#providers_all_used_by_list) | **GET** /providers/all/{id}/used_by/ | +*ProvidersApi* | [**providers_google_workspace_create**](docs/ProvidersApi.md#providers_google_workspace_create) | **POST** /providers/google_workspace/ | +*ProvidersApi* | [**providers_google_workspace_destroy**](docs/ProvidersApi.md#providers_google_workspace_destroy) | **DELETE** /providers/google_workspace/{id}/ | +*ProvidersApi* | [**providers_google_workspace_groups_create**](docs/ProvidersApi.md#providers_google_workspace_groups_create) | **POST** /providers/google_workspace_groups/ | +*ProvidersApi* | [**providers_google_workspace_groups_destroy**](docs/ProvidersApi.md#providers_google_workspace_groups_destroy) | **DELETE** /providers/google_workspace_groups/{id}/ | +*ProvidersApi* | [**providers_google_workspace_groups_list**](docs/ProvidersApi.md#providers_google_workspace_groups_list) | **GET** /providers/google_workspace_groups/ | +*ProvidersApi* | [**providers_google_workspace_groups_retrieve**](docs/ProvidersApi.md#providers_google_workspace_groups_retrieve) | **GET** /providers/google_workspace_groups/{id}/ | +*ProvidersApi* | [**providers_google_workspace_groups_used_by_list**](docs/ProvidersApi.md#providers_google_workspace_groups_used_by_list) | **GET** /providers/google_workspace_groups/{id}/used_by/ | +*ProvidersApi* | [**providers_google_workspace_list**](docs/ProvidersApi.md#providers_google_workspace_list) | **GET** /providers/google_workspace/ | +*ProvidersApi* | [**providers_google_workspace_partial_update**](docs/ProvidersApi.md#providers_google_workspace_partial_update) | **PATCH** /providers/google_workspace/{id}/ | +*ProvidersApi* | [**providers_google_workspace_retrieve**](docs/ProvidersApi.md#providers_google_workspace_retrieve) | **GET** /providers/google_workspace/{id}/ | +*ProvidersApi* | [**providers_google_workspace_sync_object_create**](docs/ProvidersApi.md#providers_google_workspace_sync_object_create) | **POST** /providers/google_workspace/{id}/sync/object/ | +*ProvidersApi* | [**providers_google_workspace_sync_status_retrieve**](docs/ProvidersApi.md#providers_google_workspace_sync_status_retrieve) | **GET** /providers/google_workspace/{id}/sync/status/ | +*ProvidersApi* | [**providers_google_workspace_update**](docs/ProvidersApi.md#providers_google_workspace_update) | **PUT** /providers/google_workspace/{id}/ | +*ProvidersApi* | [**providers_google_workspace_used_by_list**](docs/ProvidersApi.md#providers_google_workspace_used_by_list) | **GET** /providers/google_workspace/{id}/used_by/ | +*ProvidersApi* | [**providers_google_workspace_users_create**](docs/ProvidersApi.md#providers_google_workspace_users_create) | **POST** /providers/google_workspace_users/ | +*ProvidersApi* | [**providers_google_workspace_users_destroy**](docs/ProvidersApi.md#providers_google_workspace_users_destroy) | **DELETE** /providers/google_workspace_users/{id}/ | +*ProvidersApi* | [**providers_google_workspace_users_list**](docs/ProvidersApi.md#providers_google_workspace_users_list) | **GET** /providers/google_workspace_users/ | +*ProvidersApi* | [**providers_google_workspace_users_retrieve**](docs/ProvidersApi.md#providers_google_workspace_users_retrieve) | **GET** /providers/google_workspace_users/{id}/ | +*ProvidersApi* | [**providers_google_workspace_users_used_by_list**](docs/ProvidersApi.md#providers_google_workspace_users_used_by_list) | **GET** /providers/google_workspace_users/{id}/used_by/ | +*ProvidersApi* | [**providers_ldap_create**](docs/ProvidersApi.md#providers_ldap_create) | **POST** /providers/ldap/ | +*ProvidersApi* | [**providers_ldap_destroy**](docs/ProvidersApi.md#providers_ldap_destroy) | **DELETE** /providers/ldap/{id}/ | +*ProvidersApi* | [**providers_ldap_list**](docs/ProvidersApi.md#providers_ldap_list) | **GET** /providers/ldap/ | +*ProvidersApi* | [**providers_ldap_partial_update**](docs/ProvidersApi.md#providers_ldap_partial_update) | **PATCH** /providers/ldap/{id}/ | +*ProvidersApi* | [**providers_ldap_retrieve**](docs/ProvidersApi.md#providers_ldap_retrieve) | **GET** /providers/ldap/{id}/ | +*ProvidersApi* | [**providers_ldap_update**](docs/ProvidersApi.md#providers_ldap_update) | **PUT** /providers/ldap/{id}/ | +*ProvidersApi* | [**providers_ldap_used_by_list**](docs/ProvidersApi.md#providers_ldap_used_by_list) | **GET** /providers/ldap/{id}/used_by/ | +*ProvidersApi* | [**providers_microsoft_entra_create**](docs/ProvidersApi.md#providers_microsoft_entra_create) | **POST** /providers/microsoft_entra/ | +*ProvidersApi* | [**providers_microsoft_entra_destroy**](docs/ProvidersApi.md#providers_microsoft_entra_destroy) | **DELETE** /providers/microsoft_entra/{id}/ | +*ProvidersApi* | [**providers_microsoft_entra_groups_create**](docs/ProvidersApi.md#providers_microsoft_entra_groups_create) | **POST** /providers/microsoft_entra_groups/ | +*ProvidersApi* | [**providers_microsoft_entra_groups_destroy**](docs/ProvidersApi.md#providers_microsoft_entra_groups_destroy) | **DELETE** /providers/microsoft_entra_groups/{id}/ | +*ProvidersApi* | [**providers_microsoft_entra_groups_list**](docs/ProvidersApi.md#providers_microsoft_entra_groups_list) | **GET** /providers/microsoft_entra_groups/ | +*ProvidersApi* | [**providers_microsoft_entra_groups_retrieve**](docs/ProvidersApi.md#providers_microsoft_entra_groups_retrieve) | **GET** /providers/microsoft_entra_groups/{id}/ | +*ProvidersApi* | [**providers_microsoft_entra_groups_used_by_list**](docs/ProvidersApi.md#providers_microsoft_entra_groups_used_by_list) | **GET** /providers/microsoft_entra_groups/{id}/used_by/ | +*ProvidersApi* | [**providers_microsoft_entra_list**](docs/ProvidersApi.md#providers_microsoft_entra_list) | **GET** /providers/microsoft_entra/ | +*ProvidersApi* | [**providers_microsoft_entra_partial_update**](docs/ProvidersApi.md#providers_microsoft_entra_partial_update) | **PATCH** /providers/microsoft_entra/{id}/ | +*ProvidersApi* | [**providers_microsoft_entra_retrieve**](docs/ProvidersApi.md#providers_microsoft_entra_retrieve) | **GET** /providers/microsoft_entra/{id}/ | +*ProvidersApi* | [**providers_microsoft_entra_sync_object_create**](docs/ProvidersApi.md#providers_microsoft_entra_sync_object_create) | **POST** /providers/microsoft_entra/{id}/sync/object/ | +*ProvidersApi* | [**providers_microsoft_entra_sync_status_retrieve**](docs/ProvidersApi.md#providers_microsoft_entra_sync_status_retrieve) | **GET** /providers/microsoft_entra/{id}/sync/status/ | +*ProvidersApi* | [**providers_microsoft_entra_update**](docs/ProvidersApi.md#providers_microsoft_entra_update) | **PUT** /providers/microsoft_entra/{id}/ | +*ProvidersApi* | [**providers_microsoft_entra_used_by_list**](docs/ProvidersApi.md#providers_microsoft_entra_used_by_list) | **GET** /providers/microsoft_entra/{id}/used_by/ | +*ProvidersApi* | [**providers_microsoft_entra_users_create**](docs/ProvidersApi.md#providers_microsoft_entra_users_create) | **POST** /providers/microsoft_entra_users/ | +*ProvidersApi* | [**providers_microsoft_entra_users_destroy**](docs/ProvidersApi.md#providers_microsoft_entra_users_destroy) | **DELETE** /providers/microsoft_entra_users/{id}/ | +*ProvidersApi* | [**providers_microsoft_entra_users_list**](docs/ProvidersApi.md#providers_microsoft_entra_users_list) | **GET** /providers/microsoft_entra_users/ | +*ProvidersApi* | [**providers_microsoft_entra_users_retrieve**](docs/ProvidersApi.md#providers_microsoft_entra_users_retrieve) | **GET** /providers/microsoft_entra_users/{id}/ | +*ProvidersApi* | [**providers_microsoft_entra_users_used_by_list**](docs/ProvidersApi.md#providers_microsoft_entra_users_used_by_list) | **GET** /providers/microsoft_entra_users/{id}/used_by/ | +*ProvidersApi* | [**providers_oauth2_create**](docs/ProvidersApi.md#providers_oauth2_create) | **POST** /providers/oauth2/ | +*ProvidersApi* | [**providers_oauth2_destroy**](docs/ProvidersApi.md#providers_oauth2_destroy) | **DELETE** /providers/oauth2/{id}/ | +*ProvidersApi* | [**providers_oauth2_list**](docs/ProvidersApi.md#providers_oauth2_list) | **GET** /providers/oauth2/ | +*ProvidersApi* | [**providers_oauth2_partial_update**](docs/ProvidersApi.md#providers_oauth2_partial_update) | **PATCH** /providers/oauth2/{id}/ | +*ProvidersApi* | [**providers_oauth2_preview_user_retrieve**](docs/ProvidersApi.md#providers_oauth2_preview_user_retrieve) | **GET** /providers/oauth2/{id}/preview_user/ | +*ProvidersApi* | [**providers_oauth2_retrieve**](docs/ProvidersApi.md#providers_oauth2_retrieve) | **GET** /providers/oauth2/{id}/ | +*ProvidersApi* | [**providers_oauth2_setup_urls_retrieve**](docs/ProvidersApi.md#providers_oauth2_setup_urls_retrieve) | **GET** /providers/oauth2/{id}/setup_urls/ | +*ProvidersApi* | [**providers_oauth2_update**](docs/ProvidersApi.md#providers_oauth2_update) | **PUT** /providers/oauth2/{id}/ | +*ProvidersApi* | [**providers_oauth2_used_by_list**](docs/ProvidersApi.md#providers_oauth2_used_by_list) | **GET** /providers/oauth2/{id}/used_by/ | +*ProvidersApi* | [**providers_proxy_create**](docs/ProvidersApi.md#providers_proxy_create) | **POST** /providers/proxy/ | +*ProvidersApi* | [**providers_proxy_destroy**](docs/ProvidersApi.md#providers_proxy_destroy) | **DELETE** /providers/proxy/{id}/ | +*ProvidersApi* | [**providers_proxy_list**](docs/ProvidersApi.md#providers_proxy_list) | **GET** /providers/proxy/ | +*ProvidersApi* | [**providers_proxy_partial_update**](docs/ProvidersApi.md#providers_proxy_partial_update) | **PATCH** /providers/proxy/{id}/ | +*ProvidersApi* | [**providers_proxy_retrieve**](docs/ProvidersApi.md#providers_proxy_retrieve) | **GET** /providers/proxy/{id}/ | +*ProvidersApi* | [**providers_proxy_update**](docs/ProvidersApi.md#providers_proxy_update) | **PUT** /providers/proxy/{id}/ | +*ProvidersApi* | [**providers_proxy_used_by_list**](docs/ProvidersApi.md#providers_proxy_used_by_list) | **GET** /providers/proxy/{id}/used_by/ | +*ProvidersApi* | [**providers_rac_create**](docs/ProvidersApi.md#providers_rac_create) | **POST** /providers/rac/ | +*ProvidersApi* | [**providers_rac_destroy**](docs/ProvidersApi.md#providers_rac_destroy) | **DELETE** /providers/rac/{id}/ | +*ProvidersApi* | [**providers_rac_list**](docs/ProvidersApi.md#providers_rac_list) | **GET** /providers/rac/ | +*ProvidersApi* | [**providers_rac_partial_update**](docs/ProvidersApi.md#providers_rac_partial_update) | **PATCH** /providers/rac/{id}/ | +*ProvidersApi* | [**providers_rac_retrieve**](docs/ProvidersApi.md#providers_rac_retrieve) | **GET** /providers/rac/{id}/ | +*ProvidersApi* | [**providers_rac_update**](docs/ProvidersApi.md#providers_rac_update) | **PUT** /providers/rac/{id}/ | +*ProvidersApi* | [**providers_rac_used_by_list**](docs/ProvidersApi.md#providers_rac_used_by_list) | **GET** /providers/rac/{id}/used_by/ | +*ProvidersApi* | [**providers_radius_create**](docs/ProvidersApi.md#providers_radius_create) | **POST** /providers/radius/ | +*ProvidersApi* | [**providers_radius_destroy**](docs/ProvidersApi.md#providers_radius_destroy) | **DELETE** /providers/radius/{id}/ | +*ProvidersApi* | [**providers_radius_list**](docs/ProvidersApi.md#providers_radius_list) | **GET** /providers/radius/ | +*ProvidersApi* | [**providers_radius_partial_update**](docs/ProvidersApi.md#providers_radius_partial_update) | **PATCH** /providers/radius/{id}/ | +*ProvidersApi* | [**providers_radius_retrieve**](docs/ProvidersApi.md#providers_radius_retrieve) | **GET** /providers/radius/{id}/ | +*ProvidersApi* | [**providers_radius_update**](docs/ProvidersApi.md#providers_radius_update) | **PUT** /providers/radius/{id}/ | +*ProvidersApi* | [**providers_radius_used_by_list**](docs/ProvidersApi.md#providers_radius_used_by_list) | **GET** /providers/radius/{id}/used_by/ | +*ProvidersApi* | [**providers_saml_create**](docs/ProvidersApi.md#providers_saml_create) | **POST** /providers/saml/ | +*ProvidersApi* | [**providers_saml_destroy**](docs/ProvidersApi.md#providers_saml_destroy) | **DELETE** /providers/saml/{id}/ | +*ProvidersApi* | [**providers_saml_import_metadata_create**](docs/ProvidersApi.md#providers_saml_import_metadata_create) | **POST** /providers/saml/import_metadata/ | +*ProvidersApi* | [**providers_saml_list**](docs/ProvidersApi.md#providers_saml_list) | **GET** /providers/saml/ | +*ProvidersApi* | [**providers_saml_metadata_retrieve**](docs/ProvidersApi.md#providers_saml_metadata_retrieve) | **GET** /providers/saml/{id}/metadata/ | +*ProvidersApi* | [**providers_saml_partial_update**](docs/ProvidersApi.md#providers_saml_partial_update) | **PATCH** /providers/saml/{id}/ | +*ProvidersApi* | [**providers_saml_preview_user_retrieve**](docs/ProvidersApi.md#providers_saml_preview_user_retrieve) | **GET** /providers/saml/{id}/preview_user/ | +*ProvidersApi* | [**providers_saml_retrieve**](docs/ProvidersApi.md#providers_saml_retrieve) | **GET** /providers/saml/{id}/ | +*ProvidersApi* | [**providers_saml_update**](docs/ProvidersApi.md#providers_saml_update) | **PUT** /providers/saml/{id}/ | +*ProvidersApi* | [**providers_saml_used_by_list**](docs/ProvidersApi.md#providers_saml_used_by_list) | **GET** /providers/saml/{id}/used_by/ | +*ProvidersApi* | [**providers_scim_create**](docs/ProvidersApi.md#providers_scim_create) | **POST** /providers/scim/ | +*ProvidersApi* | [**providers_scim_destroy**](docs/ProvidersApi.md#providers_scim_destroy) | **DELETE** /providers/scim/{id}/ | +*ProvidersApi* | [**providers_scim_groups_create**](docs/ProvidersApi.md#providers_scim_groups_create) | **POST** /providers/scim_groups/ | +*ProvidersApi* | [**providers_scim_groups_destroy**](docs/ProvidersApi.md#providers_scim_groups_destroy) | **DELETE** /providers/scim_groups/{id}/ | +*ProvidersApi* | [**providers_scim_groups_list**](docs/ProvidersApi.md#providers_scim_groups_list) | **GET** /providers/scim_groups/ | +*ProvidersApi* | [**providers_scim_groups_retrieve**](docs/ProvidersApi.md#providers_scim_groups_retrieve) | **GET** /providers/scim_groups/{id}/ | +*ProvidersApi* | [**providers_scim_groups_used_by_list**](docs/ProvidersApi.md#providers_scim_groups_used_by_list) | **GET** /providers/scim_groups/{id}/used_by/ | +*ProvidersApi* | [**providers_scim_list**](docs/ProvidersApi.md#providers_scim_list) | **GET** /providers/scim/ | +*ProvidersApi* | [**providers_scim_partial_update**](docs/ProvidersApi.md#providers_scim_partial_update) | **PATCH** /providers/scim/{id}/ | +*ProvidersApi* | [**providers_scim_retrieve**](docs/ProvidersApi.md#providers_scim_retrieve) | **GET** /providers/scim/{id}/ | +*ProvidersApi* | [**providers_scim_sync_object_create**](docs/ProvidersApi.md#providers_scim_sync_object_create) | **POST** /providers/scim/{id}/sync/object/ | +*ProvidersApi* | [**providers_scim_sync_status_retrieve**](docs/ProvidersApi.md#providers_scim_sync_status_retrieve) | **GET** /providers/scim/{id}/sync/status/ | +*ProvidersApi* | [**providers_scim_update**](docs/ProvidersApi.md#providers_scim_update) | **PUT** /providers/scim/{id}/ | +*ProvidersApi* | [**providers_scim_used_by_list**](docs/ProvidersApi.md#providers_scim_used_by_list) | **GET** /providers/scim/{id}/used_by/ | +*ProvidersApi* | [**providers_scim_users_create**](docs/ProvidersApi.md#providers_scim_users_create) | **POST** /providers/scim_users/ | +*ProvidersApi* | [**providers_scim_users_destroy**](docs/ProvidersApi.md#providers_scim_users_destroy) | **DELETE** /providers/scim_users/{id}/ | +*ProvidersApi* | [**providers_scim_users_list**](docs/ProvidersApi.md#providers_scim_users_list) | **GET** /providers/scim_users/ | +*ProvidersApi* | [**providers_scim_users_retrieve**](docs/ProvidersApi.md#providers_scim_users_retrieve) | **GET** /providers/scim_users/{id}/ | +*ProvidersApi* | [**providers_scim_users_used_by_list**](docs/ProvidersApi.md#providers_scim_users_used_by_list) | **GET** /providers/scim_users/{id}/used_by/ | +*RacApi* | [**rac_connection_tokens_destroy**](docs/RacApi.md#rac_connection_tokens_destroy) | **DELETE** /rac/connection_tokens/{connection_token_uuid}/ | +*RacApi* | [**rac_connection_tokens_list**](docs/RacApi.md#rac_connection_tokens_list) | **GET** /rac/connection_tokens/ | +*RacApi* | [**rac_connection_tokens_partial_update**](docs/RacApi.md#rac_connection_tokens_partial_update) | **PATCH** /rac/connection_tokens/{connection_token_uuid}/ | +*RacApi* | [**rac_connection_tokens_retrieve**](docs/RacApi.md#rac_connection_tokens_retrieve) | **GET** /rac/connection_tokens/{connection_token_uuid}/ | +*RacApi* | [**rac_connection_tokens_update**](docs/RacApi.md#rac_connection_tokens_update) | **PUT** /rac/connection_tokens/{connection_token_uuid}/ | +*RacApi* | [**rac_connection_tokens_used_by_list**](docs/RacApi.md#rac_connection_tokens_used_by_list) | **GET** /rac/connection_tokens/{connection_token_uuid}/used_by/ | +*RacApi* | [**rac_endpoints_create**](docs/RacApi.md#rac_endpoints_create) | **POST** /rac/endpoints/ | +*RacApi* | [**rac_endpoints_destroy**](docs/RacApi.md#rac_endpoints_destroy) | **DELETE** /rac/endpoints/{pbm_uuid}/ | +*RacApi* | [**rac_endpoints_list**](docs/RacApi.md#rac_endpoints_list) | **GET** /rac/endpoints/ | +*RacApi* | [**rac_endpoints_partial_update**](docs/RacApi.md#rac_endpoints_partial_update) | **PATCH** /rac/endpoints/{pbm_uuid}/ | +*RacApi* | [**rac_endpoints_retrieve**](docs/RacApi.md#rac_endpoints_retrieve) | **GET** /rac/endpoints/{pbm_uuid}/ | +*RacApi* | [**rac_endpoints_update**](docs/RacApi.md#rac_endpoints_update) | **PUT** /rac/endpoints/{pbm_uuid}/ | +*RacApi* | [**rac_endpoints_used_by_list**](docs/RacApi.md#rac_endpoints_used_by_list) | **GET** /rac/endpoints/{pbm_uuid}/used_by/ | +*RbacApi* | [**rbac_permissions_assigned_by_roles_assign**](docs/RbacApi.md#rbac_permissions_assigned_by_roles_assign) | **POST** /rbac/permissions/assigned_by_roles/{uuid}/assign/ | +*RbacApi* | [**rbac_permissions_assigned_by_roles_list**](docs/RbacApi.md#rbac_permissions_assigned_by_roles_list) | **GET** /rbac/permissions/assigned_by_roles/ | +*RbacApi* | [**rbac_permissions_assigned_by_roles_unassign_partial_update**](docs/RbacApi.md#rbac_permissions_assigned_by_roles_unassign_partial_update) | **PATCH** /rbac/permissions/assigned_by_roles/{uuid}/unassign/ | +*RbacApi* | [**rbac_permissions_assigned_by_users_assign**](docs/RbacApi.md#rbac_permissions_assigned_by_users_assign) | **POST** /rbac/permissions/assigned_by_users/{id}/assign/ | +*RbacApi* | [**rbac_permissions_assigned_by_users_list**](docs/RbacApi.md#rbac_permissions_assigned_by_users_list) | **GET** /rbac/permissions/assigned_by_users/ | +*RbacApi* | [**rbac_permissions_assigned_by_users_unassign_partial_update**](docs/RbacApi.md#rbac_permissions_assigned_by_users_unassign_partial_update) | **PATCH** /rbac/permissions/assigned_by_users/{id}/unassign/ | +*RbacApi* | [**rbac_permissions_list**](docs/RbacApi.md#rbac_permissions_list) | **GET** /rbac/permissions/ | +*RbacApi* | [**rbac_permissions_retrieve**](docs/RbacApi.md#rbac_permissions_retrieve) | **GET** /rbac/permissions/{id}/ | +*RbacApi* | [**rbac_permissions_roles_destroy**](docs/RbacApi.md#rbac_permissions_roles_destroy) | **DELETE** /rbac/permissions/roles/{id}/ | +*RbacApi* | [**rbac_permissions_roles_list**](docs/RbacApi.md#rbac_permissions_roles_list) | **GET** /rbac/permissions/roles/ | +*RbacApi* | [**rbac_permissions_roles_partial_update**](docs/RbacApi.md#rbac_permissions_roles_partial_update) | **PATCH** /rbac/permissions/roles/{id}/ | +*RbacApi* | [**rbac_permissions_roles_retrieve**](docs/RbacApi.md#rbac_permissions_roles_retrieve) | **GET** /rbac/permissions/roles/{id}/ | +*RbacApi* | [**rbac_permissions_roles_update**](docs/RbacApi.md#rbac_permissions_roles_update) | **PUT** /rbac/permissions/roles/{id}/ | +*RbacApi* | [**rbac_permissions_users_destroy**](docs/RbacApi.md#rbac_permissions_users_destroy) | **DELETE** /rbac/permissions/users/{id}/ | +*RbacApi* | [**rbac_permissions_users_list**](docs/RbacApi.md#rbac_permissions_users_list) | **GET** /rbac/permissions/users/ | +*RbacApi* | [**rbac_permissions_users_partial_update**](docs/RbacApi.md#rbac_permissions_users_partial_update) | **PATCH** /rbac/permissions/users/{id}/ | +*RbacApi* | [**rbac_permissions_users_retrieve**](docs/RbacApi.md#rbac_permissions_users_retrieve) | **GET** /rbac/permissions/users/{id}/ | +*RbacApi* | [**rbac_permissions_users_update**](docs/RbacApi.md#rbac_permissions_users_update) | **PUT** /rbac/permissions/users/{id}/ | +*RbacApi* | [**rbac_roles_create**](docs/RbacApi.md#rbac_roles_create) | **POST** /rbac/roles/ | +*RbacApi* | [**rbac_roles_destroy**](docs/RbacApi.md#rbac_roles_destroy) | **DELETE** /rbac/roles/{uuid}/ | +*RbacApi* | [**rbac_roles_list**](docs/RbacApi.md#rbac_roles_list) | **GET** /rbac/roles/ | +*RbacApi* | [**rbac_roles_partial_update**](docs/RbacApi.md#rbac_roles_partial_update) | **PATCH** /rbac/roles/{uuid}/ | +*RbacApi* | [**rbac_roles_retrieve**](docs/RbacApi.md#rbac_roles_retrieve) | **GET** /rbac/roles/{uuid}/ | +*RbacApi* | [**rbac_roles_update**](docs/RbacApi.md#rbac_roles_update) | **PUT** /rbac/roles/{uuid}/ | +*RbacApi* | [**rbac_roles_used_by_list**](docs/RbacApi.md#rbac_roles_used_by_list) | **GET** /rbac/roles/{uuid}/used_by/ | +*RootApi* | [**root_config_retrieve**](docs/RootApi.md#root_config_retrieve) | **GET** /root/config/ | +*SchemaApi* | [**schema_retrieve**](docs/SchemaApi.md#schema_retrieve) | **GET** /schema/ | +*SourcesApi* | [**sources_all_destroy**](docs/SourcesApi.md#sources_all_destroy) | **DELETE** /sources/all/{slug}/ | +*SourcesApi* | [**sources_all_list**](docs/SourcesApi.md#sources_all_list) | **GET** /sources/all/ | +*SourcesApi* | [**sources_all_retrieve**](docs/SourcesApi.md#sources_all_retrieve) | **GET** /sources/all/{slug}/ | +*SourcesApi* | [**sources_all_set_icon_create**](docs/SourcesApi.md#sources_all_set_icon_create) | **POST** /sources/all/{slug}/set_icon/ | +*SourcesApi* | [**sources_all_set_icon_url_create**](docs/SourcesApi.md#sources_all_set_icon_url_create) | **POST** /sources/all/{slug}/set_icon_url/ | +*SourcesApi* | [**sources_all_types_list**](docs/SourcesApi.md#sources_all_types_list) | **GET** /sources/all/types/ | +*SourcesApi* | [**sources_all_used_by_list**](docs/SourcesApi.md#sources_all_used_by_list) | **GET** /sources/all/{slug}/used_by/ | +*SourcesApi* | [**sources_all_user_settings_list**](docs/SourcesApi.md#sources_all_user_settings_list) | **GET** /sources/all/user_settings/ | +*SourcesApi* | [**sources_group_connections_oauth_create**](docs/SourcesApi.md#sources_group_connections_oauth_create) | **POST** /sources/group_connections/oauth/ | +*SourcesApi* | [**sources_group_connections_oauth_destroy**](docs/SourcesApi.md#sources_group_connections_oauth_destroy) | **DELETE** /sources/group_connections/oauth/{id}/ | +*SourcesApi* | [**sources_group_connections_oauth_list**](docs/SourcesApi.md#sources_group_connections_oauth_list) | **GET** /sources/group_connections/oauth/ | +*SourcesApi* | [**sources_group_connections_oauth_partial_update**](docs/SourcesApi.md#sources_group_connections_oauth_partial_update) | **PATCH** /sources/group_connections/oauth/{id}/ | +*SourcesApi* | [**sources_group_connections_oauth_retrieve**](docs/SourcesApi.md#sources_group_connections_oauth_retrieve) | **GET** /sources/group_connections/oauth/{id}/ | +*SourcesApi* | [**sources_group_connections_oauth_update**](docs/SourcesApi.md#sources_group_connections_oauth_update) | **PUT** /sources/group_connections/oauth/{id}/ | +*SourcesApi* | [**sources_group_connections_oauth_used_by_list**](docs/SourcesApi.md#sources_group_connections_oauth_used_by_list) | **GET** /sources/group_connections/oauth/{id}/used_by/ | +*SourcesApi* | [**sources_group_connections_plex_create**](docs/SourcesApi.md#sources_group_connections_plex_create) | **POST** /sources/group_connections/plex/ | +*SourcesApi* | [**sources_group_connections_plex_destroy**](docs/SourcesApi.md#sources_group_connections_plex_destroy) | **DELETE** /sources/group_connections/plex/{id}/ | +*SourcesApi* | [**sources_group_connections_plex_list**](docs/SourcesApi.md#sources_group_connections_plex_list) | **GET** /sources/group_connections/plex/ | +*SourcesApi* | [**sources_group_connections_plex_partial_update**](docs/SourcesApi.md#sources_group_connections_plex_partial_update) | **PATCH** /sources/group_connections/plex/{id}/ | +*SourcesApi* | [**sources_group_connections_plex_retrieve**](docs/SourcesApi.md#sources_group_connections_plex_retrieve) | **GET** /sources/group_connections/plex/{id}/ | +*SourcesApi* | [**sources_group_connections_plex_update**](docs/SourcesApi.md#sources_group_connections_plex_update) | **PUT** /sources/group_connections/plex/{id}/ | +*SourcesApi* | [**sources_group_connections_plex_used_by_list**](docs/SourcesApi.md#sources_group_connections_plex_used_by_list) | **GET** /sources/group_connections/plex/{id}/used_by/ | +*SourcesApi* | [**sources_group_connections_saml_destroy**](docs/SourcesApi.md#sources_group_connections_saml_destroy) | **DELETE** /sources/group_connections/saml/{id}/ | +*SourcesApi* | [**sources_group_connections_saml_list**](docs/SourcesApi.md#sources_group_connections_saml_list) | **GET** /sources/group_connections/saml/ | +*SourcesApi* | [**sources_group_connections_saml_partial_update**](docs/SourcesApi.md#sources_group_connections_saml_partial_update) | **PATCH** /sources/group_connections/saml/{id}/ | +*SourcesApi* | [**sources_group_connections_saml_retrieve**](docs/SourcesApi.md#sources_group_connections_saml_retrieve) | **GET** /sources/group_connections/saml/{id}/ | +*SourcesApi* | [**sources_group_connections_saml_update**](docs/SourcesApi.md#sources_group_connections_saml_update) | **PUT** /sources/group_connections/saml/{id}/ | +*SourcesApi* | [**sources_group_connections_saml_used_by_list**](docs/SourcesApi.md#sources_group_connections_saml_used_by_list) | **GET** /sources/group_connections/saml/{id}/used_by/ | +*SourcesApi* | [**sources_ldap_create**](docs/SourcesApi.md#sources_ldap_create) | **POST** /sources/ldap/ | +*SourcesApi* | [**sources_ldap_debug_retrieve**](docs/SourcesApi.md#sources_ldap_debug_retrieve) | **GET** /sources/ldap/{slug}/debug/ | +*SourcesApi* | [**sources_ldap_destroy**](docs/SourcesApi.md#sources_ldap_destroy) | **DELETE** /sources/ldap/{slug}/ | +*SourcesApi* | [**sources_ldap_list**](docs/SourcesApi.md#sources_ldap_list) | **GET** /sources/ldap/ | +*SourcesApi* | [**sources_ldap_partial_update**](docs/SourcesApi.md#sources_ldap_partial_update) | **PATCH** /sources/ldap/{slug}/ | +*SourcesApi* | [**sources_ldap_retrieve**](docs/SourcesApi.md#sources_ldap_retrieve) | **GET** /sources/ldap/{slug}/ | +*SourcesApi* | [**sources_ldap_sync_status_retrieve**](docs/SourcesApi.md#sources_ldap_sync_status_retrieve) | **GET** /sources/ldap/{slug}/sync/status/ | +*SourcesApi* | [**sources_ldap_update**](docs/SourcesApi.md#sources_ldap_update) | **PUT** /sources/ldap/{slug}/ | +*SourcesApi* | [**sources_ldap_used_by_list**](docs/SourcesApi.md#sources_ldap_used_by_list) | **GET** /sources/ldap/{slug}/used_by/ | +*SourcesApi* | [**sources_oauth_create**](docs/SourcesApi.md#sources_oauth_create) | **POST** /sources/oauth/ | +*SourcesApi* | [**sources_oauth_destroy**](docs/SourcesApi.md#sources_oauth_destroy) | **DELETE** /sources/oauth/{slug}/ | +*SourcesApi* | [**sources_oauth_list**](docs/SourcesApi.md#sources_oauth_list) | **GET** /sources/oauth/ | +*SourcesApi* | [**sources_oauth_partial_update**](docs/SourcesApi.md#sources_oauth_partial_update) | **PATCH** /sources/oauth/{slug}/ | +*SourcesApi* | [**sources_oauth_retrieve**](docs/SourcesApi.md#sources_oauth_retrieve) | **GET** /sources/oauth/{slug}/ | +*SourcesApi* | [**sources_oauth_source_types_list**](docs/SourcesApi.md#sources_oauth_source_types_list) | **GET** /sources/oauth/source_types/ | +*SourcesApi* | [**sources_oauth_update**](docs/SourcesApi.md#sources_oauth_update) | **PUT** /sources/oauth/{slug}/ | +*SourcesApi* | [**sources_oauth_used_by_list**](docs/SourcesApi.md#sources_oauth_used_by_list) | **GET** /sources/oauth/{slug}/used_by/ | +*SourcesApi* | [**sources_plex_create**](docs/SourcesApi.md#sources_plex_create) | **POST** /sources/plex/ | +*SourcesApi* | [**sources_plex_destroy**](docs/SourcesApi.md#sources_plex_destroy) | **DELETE** /sources/plex/{slug}/ | +*SourcesApi* | [**sources_plex_list**](docs/SourcesApi.md#sources_plex_list) | **GET** /sources/plex/ | +*SourcesApi* | [**sources_plex_partial_update**](docs/SourcesApi.md#sources_plex_partial_update) | **PATCH** /sources/plex/{slug}/ | +*SourcesApi* | [**sources_plex_redeem_token_authenticated_create**](docs/SourcesApi.md#sources_plex_redeem_token_authenticated_create) | **POST** /sources/plex/redeem_token_authenticated/ | +*SourcesApi* | [**sources_plex_redeem_token_create**](docs/SourcesApi.md#sources_plex_redeem_token_create) | **POST** /sources/plex/redeem_token/ | +*SourcesApi* | [**sources_plex_retrieve**](docs/SourcesApi.md#sources_plex_retrieve) | **GET** /sources/plex/{slug}/ | +*SourcesApi* | [**sources_plex_update**](docs/SourcesApi.md#sources_plex_update) | **PUT** /sources/plex/{slug}/ | +*SourcesApi* | [**sources_plex_used_by_list**](docs/SourcesApi.md#sources_plex_used_by_list) | **GET** /sources/plex/{slug}/used_by/ | +*SourcesApi* | [**sources_saml_create**](docs/SourcesApi.md#sources_saml_create) | **POST** /sources/saml/ | +*SourcesApi* | [**sources_saml_destroy**](docs/SourcesApi.md#sources_saml_destroy) | **DELETE** /sources/saml/{slug}/ | +*SourcesApi* | [**sources_saml_list**](docs/SourcesApi.md#sources_saml_list) | **GET** /sources/saml/ | +*SourcesApi* | [**sources_saml_metadata_retrieve**](docs/SourcesApi.md#sources_saml_metadata_retrieve) | **GET** /sources/saml/{slug}/metadata/ | +*SourcesApi* | [**sources_saml_partial_update**](docs/SourcesApi.md#sources_saml_partial_update) | **PATCH** /sources/saml/{slug}/ | +*SourcesApi* | [**sources_saml_retrieve**](docs/SourcesApi.md#sources_saml_retrieve) | **GET** /sources/saml/{slug}/ | +*SourcesApi* | [**sources_saml_update**](docs/SourcesApi.md#sources_saml_update) | **PUT** /sources/saml/{slug}/ | +*SourcesApi* | [**sources_saml_used_by_list**](docs/SourcesApi.md#sources_saml_used_by_list) | **GET** /sources/saml/{slug}/used_by/ | +*SourcesApi* | [**sources_scim_create**](docs/SourcesApi.md#sources_scim_create) | **POST** /sources/scim/ | +*SourcesApi* | [**sources_scim_destroy**](docs/SourcesApi.md#sources_scim_destroy) | **DELETE** /sources/scim/{slug}/ | +*SourcesApi* | [**sources_scim_groups_create**](docs/SourcesApi.md#sources_scim_groups_create) | **POST** /sources/scim_groups/ | +*SourcesApi* | [**sources_scim_groups_destroy**](docs/SourcesApi.md#sources_scim_groups_destroy) | **DELETE** /sources/scim_groups/{id}/ | +*SourcesApi* | [**sources_scim_groups_list**](docs/SourcesApi.md#sources_scim_groups_list) | **GET** /sources/scim_groups/ | +*SourcesApi* | [**sources_scim_groups_partial_update**](docs/SourcesApi.md#sources_scim_groups_partial_update) | **PATCH** /sources/scim_groups/{id}/ | +*SourcesApi* | [**sources_scim_groups_retrieve**](docs/SourcesApi.md#sources_scim_groups_retrieve) | **GET** /sources/scim_groups/{id}/ | +*SourcesApi* | [**sources_scim_groups_update**](docs/SourcesApi.md#sources_scim_groups_update) | **PUT** /sources/scim_groups/{id}/ | +*SourcesApi* | [**sources_scim_groups_used_by_list**](docs/SourcesApi.md#sources_scim_groups_used_by_list) | **GET** /sources/scim_groups/{id}/used_by/ | +*SourcesApi* | [**sources_scim_list**](docs/SourcesApi.md#sources_scim_list) | **GET** /sources/scim/ | +*SourcesApi* | [**sources_scim_partial_update**](docs/SourcesApi.md#sources_scim_partial_update) | **PATCH** /sources/scim/{slug}/ | +*SourcesApi* | [**sources_scim_retrieve**](docs/SourcesApi.md#sources_scim_retrieve) | **GET** /sources/scim/{slug}/ | +*SourcesApi* | [**sources_scim_update**](docs/SourcesApi.md#sources_scim_update) | **PUT** /sources/scim/{slug}/ | +*SourcesApi* | [**sources_scim_used_by_list**](docs/SourcesApi.md#sources_scim_used_by_list) | **GET** /sources/scim/{slug}/used_by/ | +*SourcesApi* | [**sources_scim_users_create**](docs/SourcesApi.md#sources_scim_users_create) | **POST** /sources/scim_users/ | +*SourcesApi* | [**sources_scim_users_destroy**](docs/SourcesApi.md#sources_scim_users_destroy) | **DELETE** /sources/scim_users/{id}/ | +*SourcesApi* | [**sources_scim_users_list**](docs/SourcesApi.md#sources_scim_users_list) | **GET** /sources/scim_users/ | +*SourcesApi* | [**sources_scim_users_partial_update**](docs/SourcesApi.md#sources_scim_users_partial_update) | **PATCH** /sources/scim_users/{id}/ | +*SourcesApi* | [**sources_scim_users_retrieve**](docs/SourcesApi.md#sources_scim_users_retrieve) | **GET** /sources/scim_users/{id}/ | +*SourcesApi* | [**sources_scim_users_update**](docs/SourcesApi.md#sources_scim_users_update) | **PUT** /sources/scim_users/{id}/ | +*SourcesApi* | [**sources_scim_users_used_by_list**](docs/SourcesApi.md#sources_scim_users_used_by_list) | **GET** /sources/scim_users/{id}/used_by/ | +*SourcesApi* | [**sources_user_connections_all_destroy**](docs/SourcesApi.md#sources_user_connections_all_destroy) | **DELETE** /sources/user_connections/all/{id}/ | +*SourcesApi* | [**sources_user_connections_all_list**](docs/SourcesApi.md#sources_user_connections_all_list) | **GET** /sources/user_connections/all/ | +*SourcesApi* | [**sources_user_connections_all_partial_update**](docs/SourcesApi.md#sources_user_connections_all_partial_update) | **PATCH** /sources/user_connections/all/{id}/ | +*SourcesApi* | [**sources_user_connections_all_retrieve**](docs/SourcesApi.md#sources_user_connections_all_retrieve) | **GET** /sources/user_connections/all/{id}/ | +*SourcesApi* | [**sources_user_connections_all_update**](docs/SourcesApi.md#sources_user_connections_all_update) | **PUT** /sources/user_connections/all/{id}/ | +*SourcesApi* | [**sources_user_connections_all_used_by_list**](docs/SourcesApi.md#sources_user_connections_all_used_by_list) | **GET** /sources/user_connections/all/{id}/used_by/ | +*SourcesApi* | [**sources_user_connections_oauth_create**](docs/SourcesApi.md#sources_user_connections_oauth_create) | **POST** /sources/user_connections/oauth/ | +*SourcesApi* | [**sources_user_connections_oauth_destroy**](docs/SourcesApi.md#sources_user_connections_oauth_destroy) | **DELETE** /sources/user_connections/oauth/{id}/ | +*SourcesApi* | [**sources_user_connections_oauth_list**](docs/SourcesApi.md#sources_user_connections_oauth_list) | **GET** /sources/user_connections/oauth/ | +*SourcesApi* | [**sources_user_connections_oauth_partial_update**](docs/SourcesApi.md#sources_user_connections_oauth_partial_update) | **PATCH** /sources/user_connections/oauth/{id}/ | +*SourcesApi* | [**sources_user_connections_oauth_retrieve**](docs/SourcesApi.md#sources_user_connections_oauth_retrieve) | **GET** /sources/user_connections/oauth/{id}/ | +*SourcesApi* | [**sources_user_connections_oauth_update**](docs/SourcesApi.md#sources_user_connections_oauth_update) | **PUT** /sources/user_connections/oauth/{id}/ | +*SourcesApi* | [**sources_user_connections_oauth_used_by_list**](docs/SourcesApi.md#sources_user_connections_oauth_used_by_list) | **GET** /sources/user_connections/oauth/{id}/used_by/ | +*SourcesApi* | [**sources_user_connections_plex_create**](docs/SourcesApi.md#sources_user_connections_plex_create) | **POST** /sources/user_connections/plex/ | +*SourcesApi* | [**sources_user_connections_plex_destroy**](docs/SourcesApi.md#sources_user_connections_plex_destroy) | **DELETE** /sources/user_connections/plex/{id}/ | +*SourcesApi* | [**sources_user_connections_plex_list**](docs/SourcesApi.md#sources_user_connections_plex_list) | **GET** /sources/user_connections/plex/ | +*SourcesApi* | [**sources_user_connections_plex_partial_update**](docs/SourcesApi.md#sources_user_connections_plex_partial_update) | **PATCH** /sources/user_connections/plex/{id}/ | +*SourcesApi* | [**sources_user_connections_plex_retrieve**](docs/SourcesApi.md#sources_user_connections_plex_retrieve) | **GET** /sources/user_connections/plex/{id}/ | +*SourcesApi* | [**sources_user_connections_plex_update**](docs/SourcesApi.md#sources_user_connections_plex_update) | **PUT** /sources/user_connections/plex/{id}/ | +*SourcesApi* | [**sources_user_connections_plex_used_by_list**](docs/SourcesApi.md#sources_user_connections_plex_used_by_list) | **GET** /sources/user_connections/plex/{id}/used_by/ | +*SourcesApi* | [**sources_user_connections_saml_create**](docs/SourcesApi.md#sources_user_connections_saml_create) | **POST** /sources/user_connections/saml/ | +*SourcesApi* | [**sources_user_connections_saml_destroy**](docs/SourcesApi.md#sources_user_connections_saml_destroy) | **DELETE** /sources/user_connections/saml/{id}/ | +*SourcesApi* | [**sources_user_connections_saml_list**](docs/SourcesApi.md#sources_user_connections_saml_list) | **GET** /sources/user_connections/saml/ | +*SourcesApi* | [**sources_user_connections_saml_partial_update**](docs/SourcesApi.md#sources_user_connections_saml_partial_update) | **PATCH** /sources/user_connections/saml/{id}/ | +*SourcesApi* | [**sources_user_connections_saml_retrieve**](docs/SourcesApi.md#sources_user_connections_saml_retrieve) | **GET** /sources/user_connections/saml/{id}/ | +*SourcesApi* | [**sources_user_connections_saml_update**](docs/SourcesApi.md#sources_user_connections_saml_update) | **PUT** /sources/user_connections/saml/{id}/ | +*SourcesApi* | [**sources_user_connections_saml_used_by_list**](docs/SourcesApi.md#sources_user_connections_saml_used_by_list) | **GET** /sources/user_connections/saml/{id}/used_by/ | +*StagesApi* | [**stages_all_destroy**](docs/StagesApi.md#stages_all_destroy) | **DELETE** /stages/all/{stage_uuid}/ | +*StagesApi* | [**stages_all_list**](docs/StagesApi.md#stages_all_list) | **GET** /stages/all/ | +*StagesApi* | [**stages_all_retrieve**](docs/StagesApi.md#stages_all_retrieve) | **GET** /stages/all/{stage_uuid}/ | +*StagesApi* | [**stages_all_types_list**](docs/StagesApi.md#stages_all_types_list) | **GET** /stages/all/types/ | +*StagesApi* | [**stages_all_used_by_list**](docs/StagesApi.md#stages_all_used_by_list) | **GET** /stages/all/{stage_uuid}/used_by/ | +*StagesApi* | [**stages_all_user_settings_list**](docs/StagesApi.md#stages_all_user_settings_list) | **GET** /stages/all/user_settings/ | +*StagesApi* | [**stages_authenticator_duo_create**](docs/StagesApi.md#stages_authenticator_duo_create) | **POST** /stages/authenticator/duo/ | +*StagesApi* | [**stages_authenticator_duo_destroy**](docs/StagesApi.md#stages_authenticator_duo_destroy) | **DELETE** /stages/authenticator/duo/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_duo_enrollment_status_create**](docs/StagesApi.md#stages_authenticator_duo_enrollment_status_create) | **POST** /stages/authenticator/duo/{stage_uuid}/enrollment_status/ | +*StagesApi* | [**stages_authenticator_duo_import_device_manual_create**](docs/StagesApi.md#stages_authenticator_duo_import_device_manual_create) | **POST** /stages/authenticator/duo/{stage_uuid}/import_device_manual/ | +*StagesApi* | [**stages_authenticator_duo_import_devices_automatic_create**](docs/StagesApi.md#stages_authenticator_duo_import_devices_automatic_create) | **POST** /stages/authenticator/duo/{stage_uuid}/import_devices_automatic/ | +*StagesApi* | [**stages_authenticator_duo_list**](docs/StagesApi.md#stages_authenticator_duo_list) | **GET** /stages/authenticator/duo/ | +*StagesApi* | [**stages_authenticator_duo_partial_update**](docs/StagesApi.md#stages_authenticator_duo_partial_update) | **PATCH** /stages/authenticator/duo/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_duo_retrieve**](docs/StagesApi.md#stages_authenticator_duo_retrieve) | **GET** /stages/authenticator/duo/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_duo_update**](docs/StagesApi.md#stages_authenticator_duo_update) | **PUT** /stages/authenticator/duo/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_duo_used_by_list**](docs/StagesApi.md#stages_authenticator_duo_used_by_list) | **GET** /stages/authenticator/duo/{stage_uuid}/used_by/ | +*StagesApi* | [**stages_authenticator_sms_create**](docs/StagesApi.md#stages_authenticator_sms_create) | **POST** /stages/authenticator/sms/ | +*StagesApi* | [**stages_authenticator_sms_destroy**](docs/StagesApi.md#stages_authenticator_sms_destroy) | **DELETE** /stages/authenticator/sms/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_sms_list**](docs/StagesApi.md#stages_authenticator_sms_list) | **GET** /stages/authenticator/sms/ | +*StagesApi* | [**stages_authenticator_sms_partial_update**](docs/StagesApi.md#stages_authenticator_sms_partial_update) | **PATCH** /stages/authenticator/sms/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_sms_retrieve**](docs/StagesApi.md#stages_authenticator_sms_retrieve) | **GET** /stages/authenticator/sms/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_sms_update**](docs/StagesApi.md#stages_authenticator_sms_update) | **PUT** /stages/authenticator/sms/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_sms_used_by_list**](docs/StagesApi.md#stages_authenticator_sms_used_by_list) | **GET** /stages/authenticator/sms/{stage_uuid}/used_by/ | +*StagesApi* | [**stages_authenticator_static_create**](docs/StagesApi.md#stages_authenticator_static_create) | **POST** /stages/authenticator/static/ | +*StagesApi* | [**stages_authenticator_static_destroy**](docs/StagesApi.md#stages_authenticator_static_destroy) | **DELETE** /stages/authenticator/static/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_static_list**](docs/StagesApi.md#stages_authenticator_static_list) | **GET** /stages/authenticator/static/ | +*StagesApi* | [**stages_authenticator_static_partial_update**](docs/StagesApi.md#stages_authenticator_static_partial_update) | **PATCH** /stages/authenticator/static/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_static_retrieve**](docs/StagesApi.md#stages_authenticator_static_retrieve) | **GET** /stages/authenticator/static/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_static_update**](docs/StagesApi.md#stages_authenticator_static_update) | **PUT** /stages/authenticator/static/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_static_used_by_list**](docs/StagesApi.md#stages_authenticator_static_used_by_list) | **GET** /stages/authenticator/static/{stage_uuid}/used_by/ | +*StagesApi* | [**stages_authenticator_totp_create**](docs/StagesApi.md#stages_authenticator_totp_create) | **POST** /stages/authenticator/totp/ | +*StagesApi* | [**stages_authenticator_totp_destroy**](docs/StagesApi.md#stages_authenticator_totp_destroy) | **DELETE** /stages/authenticator/totp/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_totp_list**](docs/StagesApi.md#stages_authenticator_totp_list) | **GET** /stages/authenticator/totp/ | +*StagesApi* | [**stages_authenticator_totp_partial_update**](docs/StagesApi.md#stages_authenticator_totp_partial_update) | **PATCH** /stages/authenticator/totp/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_totp_retrieve**](docs/StagesApi.md#stages_authenticator_totp_retrieve) | **GET** /stages/authenticator/totp/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_totp_update**](docs/StagesApi.md#stages_authenticator_totp_update) | **PUT** /stages/authenticator/totp/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_totp_used_by_list**](docs/StagesApi.md#stages_authenticator_totp_used_by_list) | **GET** /stages/authenticator/totp/{stage_uuid}/used_by/ | +*StagesApi* | [**stages_authenticator_validate_create**](docs/StagesApi.md#stages_authenticator_validate_create) | **POST** /stages/authenticator/validate/ | +*StagesApi* | [**stages_authenticator_validate_destroy**](docs/StagesApi.md#stages_authenticator_validate_destroy) | **DELETE** /stages/authenticator/validate/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_validate_list**](docs/StagesApi.md#stages_authenticator_validate_list) | **GET** /stages/authenticator/validate/ | +*StagesApi* | [**stages_authenticator_validate_partial_update**](docs/StagesApi.md#stages_authenticator_validate_partial_update) | **PATCH** /stages/authenticator/validate/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_validate_retrieve**](docs/StagesApi.md#stages_authenticator_validate_retrieve) | **GET** /stages/authenticator/validate/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_validate_update**](docs/StagesApi.md#stages_authenticator_validate_update) | **PUT** /stages/authenticator/validate/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_validate_used_by_list**](docs/StagesApi.md#stages_authenticator_validate_used_by_list) | **GET** /stages/authenticator/validate/{stage_uuid}/used_by/ | +*StagesApi* | [**stages_authenticator_webauthn_create**](docs/StagesApi.md#stages_authenticator_webauthn_create) | **POST** /stages/authenticator/webauthn/ | +*StagesApi* | [**stages_authenticator_webauthn_destroy**](docs/StagesApi.md#stages_authenticator_webauthn_destroy) | **DELETE** /stages/authenticator/webauthn/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_webauthn_device_types_list**](docs/StagesApi.md#stages_authenticator_webauthn_device_types_list) | **GET** /stages/authenticator/webauthn_device_types/ | +*StagesApi* | [**stages_authenticator_webauthn_device_types_retrieve**](docs/StagesApi.md#stages_authenticator_webauthn_device_types_retrieve) | **GET** /stages/authenticator/webauthn_device_types/{aaguid}/ | +*StagesApi* | [**stages_authenticator_webauthn_list**](docs/StagesApi.md#stages_authenticator_webauthn_list) | **GET** /stages/authenticator/webauthn/ | +*StagesApi* | [**stages_authenticator_webauthn_partial_update**](docs/StagesApi.md#stages_authenticator_webauthn_partial_update) | **PATCH** /stages/authenticator/webauthn/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_webauthn_retrieve**](docs/StagesApi.md#stages_authenticator_webauthn_retrieve) | **GET** /stages/authenticator/webauthn/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_webauthn_update**](docs/StagesApi.md#stages_authenticator_webauthn_update) | **PUT** /stages/authenticator/webauthn/{stage_uuid}/ | +*StagesApi* | [**stages_authenticator_webauthn_used_by_list**](docs/StagesApi.md#stages_authenticator_webauthn_used_by_list) | **GET** /stages/authenticator/webauthn/{stage_uuid}/used_by/ | +*StagesApi* | [**stages_captcha_create**](docs/StagesApi.md#stages_captcha_create) | **POST** /stages/captcha/ | +*StagesApi* | [**stages_captcha_destroy**](docs/StagesApi.md#stages_captcha_destroy) | **DELETE** /stages/captcha/{stage_uuid}/ | +*StagesApi* | [**stages_captcha_list**](docs/StagesApi.md#stages_captcha_list) | **GET** /stages/captcha/ | +*StagesApi* | [**stages_captcha_partial_update**](docs/StagesApi.md#stages_captcha_partial_update) | **PATCH** /stages/captcha/{stage_uuid}/ | +*StagesApi* | [**stages_captcha_retrieve**](docs/StagesApi.md#stages_captcha_retrieve) | **GET** /stages/captcha/{stage_uuid}/ | +*StagesApi* | [**stages_captcha_update**](docs/StagesApi.md#stages_captcha_update) | **PUT** /stages/captcha/{stage_uuid}/ | +*StagesApi* | [**stages_captcha_used_by_list**](docs/StagesApi.md#stages_captcha_used_by_list) | **GET** /stages/captcha/{stage_uuid}/used_by/ | +*StagesApi* | [**stages_consent_create**](docs/StagesApi.md#stages_consent_create) | **POST** /stages/consent/ | +*StagesApi* | [**stages_consent_destroy**](docs/StagesApi.md#stages_consent_destroy) | **DELETE** /stages/consent/{stage_uuid}/ | +*StagesApi* | [**stages_consent_list**](docs/StagesApi.md#stages_consent_list) | **GET** /stages/consent/ | +*StagesApi* | [**stages_consent_partial_update**](docs/StagesApi.md#stages_consent_partial_update) | **PATCH** /stages/consent/{stage_uuid}/ | +*StagesApi* | [**stages_consent_retrieve**](docs/StagesApi.md#stages_consent_retrieve) | **GET** /stages/consent/{stage_uuid}/ | +*StagesApi* | [**stages_consent_update**](docs/StagesApi.md#stages_consent_update) | **PUT** /stages/consent/{stage_uuid}/ | +*StagesApi* | [**stages_consent_used_by_list**](docs/StagesApi.md#stages_consent_used_by_list) | **GET** /stages/consent/{stage_uuid}/used_by/ | +*StagesApi* | [**stages_deny_create**](docs/StagesApi.md#stages_deny_create) | **POST** /stages/deny/ | +*StagesApi* | [**stages_deny_destroy**](docs/StagesApi.md#stages_deny_destroy) | **DELETE** /stages/deny/{stage_uuid}/ | +*StagesApi* | [**stages_deny_list**](docs/StagesApi.md#stages_deny_list) | **GET** /stages/deny/ | +*StagesApi* | [**stages_deny_partial_update**](docs/StagesApi.md#stages_deny_partial_update) | **PATCH** /stages/deny/{stage_uuid}/ | +*StagesApi* | [**stages_deny_retrieve**](docs/StagesApi.md#stages_deny_retrieve) | **GET** /stages/deny/{stage_uuid}/ | +*StagesApi* | [**stages_deny_update**](docs/StagesApi.md#stages_deny_update) | **PUT** /stages/deny/{stage_uuid}/ | +*StagesApi* | [**stages_deny_used_by_list**](docs/StagesApi.md#stages_deny_used_by_list) | **GET** /stages/deny/{stage_uuid}/used_by/ | +*StagesApi* | [**stages_dummy_create**](docs/StagesApi.md#stages_dummy_create) | **POST** /stages/dummy/ | +*StagesApi* | [**stages_dummy_destroy**](docs/StagesApi.md#stages_dummy_destroy) | **DELETE** /stages/dummy/{stage_uuid}/ | +*StagesApi* | [**stages_dummy_list**](docs/StagesApi.md#stages_dummy_list) | **GET** /stages/dummy/ | +*StagesApi* | [**stages_dummy_partial_update**](docs/StagesApi.md#stages_dummy_partial_update) | **PATCH** /stages/dummy/{stage_uuid}/ | +*StagesApi* | [**stages_dummy_retrieve**](docs/StagesApi.md#stages_dummy_retrieve) | **GET** /stages/dummy/{stage_uuid}/ | +*StagesApi* | [**stages_dummy_update**](docs/StagesApi.md#stages_dummy_update) | **PUT** /stages/dummy/{stage_uuid}/ | +*StagesApi* | [**stages_dummy_used_by_list**](docs/StagesApi.md#stages_dummy_used_by_list) | **GET** /stages/dummy/{stage_uuid}/used_by/ | +*StagesApi* | [**stages_email_create**](docs/StagesApi.md#stages_email_create) | **POST** /stages/email/ | +*StagesApi* | [**stages_email_destroy**](docs/StagesApi.md#stages_email_destroy) | **DELETE** /stages/email/{stage_uuid}/ | +*StagesApi* | [**stages_email_list**](docs/StagesApi.md#stages_email_list) | **GET** /stages/email/ | +*StagesApi* | [**stages_email_partial_update**](docs/StagesApi.md#stages_email_partial_update) | **PATCH** /stages/email/{stage_uuid}/ | +*StagesApi* | [**stages_email_retrieve**](docs/StagesApi.md#stages_email_retrieve) | **GET** /stages/email/{stage_uuid}/ | +*StagesApi* | [**stages_email_templates_list**](docs/StagesApi.md#stages_email_templates_list) | **GET** /stages/email/templates/ | +*StagesApi* | [**stages_email_update**](docs/StagesApi.md#stages_email_update) | **PUT** /stages/email/{stage_uuid}/ | +*StagesApi* | [**stages_email_used_by_list**](docs/StagesApi.md#stages_email_used_by_list) | **GET** /stages/email/{stage_uuid}/used_by/ | +*StagesApi* | [**stages_identification_create**](docs/StagesApi.md#stages_identification_create) | **POST** /stages/identification/ | +*StagesApi* | [**stages_identification_destroy**](docs/StagesApi.md#stages_identification_destroy) | **DELETE** /stages/identification/{stage_uuid}/ | +*StagesApi* | [**stages_identification_list**](docs/StagesApi.md#stages_identification_list) | **GET** /stages/identification/ | +*StagesApi* | [**stages_identification_partial_update**](docs/StagesApi.md#stages_identification_partial_update) | **PATCH** /stages/identification/{stage_uuid}/ | +*StagesApi* | [**stages_identification_retrieve**](docs/StagesApi.md#stages_identification_retrieve) | **GET** /stages/identification/{stage_uuid}/ | +*StagesApi* | [**stages_identification_update**](docs/StagesApi.md#stages_identification_update) | **PUT** /stages/identification/{stage_uuid}/ | +*StagesApi* | [**stages_identification_used_by_list**](docs/StagesApi.md#stages_identification_used_by_list) | **GET** /stages/identification/{stage_uuid}/used_by/ | +*StagesApi* | [**stages_invitation_invitations_create**](docs/StagesApi.md#stages_invitation_invitations_create) | **POST** /stages/invitation/invitations/ | +*StagesApi* | [**stages_invitation_invitations_destroy**](docs/StagesApi.md#stages_invitation_invitations_destroy) | **DELETE** /stages/invitation/invitations/{invite_uuid}/ | +*StagesApi* | [**stages_invitation_invitations_list**](docs/StagesApi.md#stages_invitation_invitations_list) | **GET** /stages/invitation/invitations/ | +*StagesApi* | [**stages_invitation_invitations_partial_update**](docs/StagesApi.md#stages_invitation_invitations_partial_update) | **PATCH** /stages/invitation/invitations/{invite_uuid}/ | +*StagesApi* | [**stages_invitation_invitations_retrieve**](docs/StagesApi.md#stages_invitation_invitations_retrieve) | **GET** /stages/invitation/invitations/{invite_uuid}/ | +*StagesApi* | [**stages_invitation_invitations_update**](docs/StagesApi.md#stages_invitation_invitations_update) | **PUT** /stages/invitation/invitations/{invite_uuid}/ | +*StagesApi* | [**stages_invitation_invitations_used_by_list**](docs/StagesApi.md#stages_invitation_invitations_used_by_list) | **GET** /stages/invitation/invitations/{invite_uuid}/used_by/ | +*StagesApi* | [**stages_invitation_stages_create**](docs/StagesApi.md#stages_invitation_stages_create) | **POST** /stages/invitation/stages/ | +*StagesApi* | [**stages_invitation_stages_destroy**](docs/StagesApi.md#stages_invitation_stages_destroy) | **DELETE** /stages/invitation/stages/{stage_uuid}/ | +*StagesApi* | [**stages_invitation_stages_list**](docs/StagesApi.md#stages_invitation_stages_list) | **GET** /stages/invitation/stages/ | +*StagesApi* | [**stages_invitation_stages_partial_update**](docs/StagesApi.md#stages_invitation_stages_partial_update) | **PATCH** /stages/invitation/stages/{stage_uuid}/ | +*StagesApi* | [**stages_invitation_stages_retrieve**](docs/StagesApi.md#stages_invitation_stages_retrieve) | **GET** /stages/invitation/stages/{stage_uuid}/ | +*StagesApi* | [**stages_invitation_stages_update**](docs/StagesApi.md#stages_invitation_stages_update) | **PUT** /stages/invitation/stages/{stage_uuid}/ | +*StagesApi* | [**stages_invitation_stages_used_by_list**](docs/StagesApi.md#stages_invitation_stages_used_by_list) | **GET** /stages/invitation/stages/{stage_uuid}/used_by/ | +*StagesApi* | [**stages_password_create**](docs/StagesApi.md#stages_password_create) | **POST** /stages/password/ | +*StagesApi* | [**stages_password_destroy**](docs/StagesApi.md#stages_password_destroy) | **DELETE** /stages/password/{stage_uuid}/ | +*StagesApi* | [**stages_password_list**](docs/StagesApi.md#stages_password_list) | **GET** /stages/password/ | +*StagesApi* | [**stages_password_partial_update**](docs/StagesApi.md#stages_password_partial_update) | **PATCH** /stages/password/{stage_uuid}/ | +*StagesApi* | [**stages_password_retrieve**](docs/StagesApi.md#stages_password_retrieve) | **GET** /stages/password/{stage_uuid}/ | +*StagesApi* | [**stages_password_update**](docs/StagesApi.md#stages_password_update) | **PUT** /stages/password/{stage_uuid}/ | +*StagesApi* | [**stages_password_used_by_list**](docs/StagesApi.md#stages_password_used_by_list) | **GET** /stages/password/{stage_uuid}/used_by/ | +*StagesApi* | [**stages_prompt_prompts_create**](docs/StagesApi.md#stages_prompt_prompts_create) | **POST** /stages/prompt/prompts/ | +*StagesApi* | [**stages_prompt_prompts_destroy**](docs/StagesApi.md#stages_prompt_prompts_destroy) | **DELETE** /stages/prompt/prompts/{prompt_uuid}/ | +*StagesApi* | [**stages_prompt_prompts_list**](docs/StagesApi.md#stages_prompt_prompts_list) | **GET** /stages/prompt/prompts/ | +*StagesApi* | [**stages_prompt_prompts_partial_update**](docs/StagesApi.md#stages_prompt_prompts_partial_update) | **PATCH** /stages/prompt/prompts/{prompt_uuid}/ | +*StagesApi* | [**stages_prompt_prompts_preview_create**](docs/StagesApi.md#stages_prompt_prompts_preview_create) | **POST** /stages/prompt/prompts/preview/ | +*StagesApi* | [**stages_prompt_prompts_retrieve**](docs/StagesApi.md#stages_prompt_prompts_retrieve) | **GET** /stages/prompt/prompts/{prompt_uuid}/ | +*StagesApi* | [**stages_prompt_prompts_update**](docs/StagesApi.md#stages_prompt_prompts_update) | **PUT** /stages/prompt/prompts/{prompt_uuid}/ | +*StagesApi* | [**stages_prompt_prompts_used_by_list**](docs/StagesApi.md#stages_prompt_prompts_used_by_list) | **GET** /stages/prompt/prompts/{prompt_uuid}/used_by/ | +*StagesApi* | [**stages_prompt_stages_create**](docs/StagesApi.md#stages_prompt_stages_create) | **POST** /stages/prompt/stages/ | +*StagesApi* | [**stages_prompt_stages_destroy**](docs/StagesApi.md#stages_prompt_stages_destroy) | **DELETE** /stages/prompt/stages/{stage_uuid}/ | +*StagesApi* | [**stages_prompt_stages_list**](docs/StagesApi.md#stages_prompt_stages_list) | **GET** /stages/prompt/stages/ | +*StagesApi* | [**stages_prompt_stages_partial_update**](docs/StagesApi.md#stages_prompt_stages_partial_update) | **PATCH** /stages/prompt/stages/{stage_uuid}/ | +*StagesApi* | [**stages_prompt_stages_retrieve**](docs/StagesApi.md#stages_prompt_stages_retrieve) | **GET** /stages/prompt/stages/{stage_uuid}/ | +*StagesApi* | [**stages_prompt_stages_update**](docs/StagesApi.md#stages_prompt_stages_update) | **PUT** /stages/prompt/stages/{stage_uuid}/ | +*StagesApi* | [**stages_prompt_stages_used_by_list**](docs/StagesApi.md#stages_prompt_stages_used_by_list) | **GET** /stages/prompt/stages/{stage_uuid}/used_by/ | +*StagesApi* | [**stages_source_create**](docs/StagesApi.md#stages_source_create) | **POST** /stages/source/ | +*StagesApi* | [**stages_source_destroy**](docs/StagesApi.md#stages_source_destroy) | **DELETE** /stages/source/{stage_uuid}/ | +*StagesApi* | [**stages_source_list**](docs/StagesApi.md#stages_source_list) | **GET** /stages/source/ | +*StagesApi* | [**stages_source_partial_update**](docs/StagesApi.md#stages_source_partial_update) | **PATCH** /stages/source/{stage_uuid}/ | +*StagesApi* | [**stages_source_retrieve**](docs/StagesApi.md#stages_source_retrieve) | **GET** /stages/source/{stage_uuid}/ | +*StagesApi* | [**stages_source_update**](docs/StagesApi.md#stages_source_update) | **PUT** /stages/source/{stage_uuid}/ | +*StagesApi* | [**stages_source_used_by_list**](docs/StagesApi.md#stages_source_used_by_list) | **GET** /stages/source/{stage_uuid}/used_by/ | +*StagesApi* | [**stages_user_delete_create**](docs/StagesApi.md#stages_user_delete_create) | **POST** /stages/user_delete/ | +*StagesApi* | [**stages_user_delete_destroy**](docs/StagesApi.md#stages_user_delete_destroy) | **DELETE** /stages/user_delete/{stage_uuid}/ | +*StagesApi* | [**stages_user_delete_list**](docs/StagesApi.md#stages_user_delete_list) | **GET** /stages/user_delete/ | +*StagesApi* | [**stages_user_delete_partial_update**](docs/StagesApi.md#stages_user_delete_partial_update) | **PATCH** /stages/user_delete/{stage_uuid}/ | +*StagesApi* | [**stages_user_delete_retrieve**](docs/StagesApi.md#stages_user_delete_retrieve) | **GET** /stages/user_delete/{stage_uuid}/ | +*StagesApi* | [**stages_user_delete_update**](docs/StagesApi.md#stages_user_delete_update) | **PUT** /stages/user_delete/{stage_uuid}/ | +*StagesApi* | [**stages_user_delete_used_by_list**](docs/StagesApi.md#stages_user_delete_used_by_list) | **GET** /stages/user_delete/{stage_uuid}/used_by/ | +*StagesApi* | [**stages_user_login_create**](docs/StagesApi.md#stages_user_login_create) | **POST** /stages/user_login/ | +*StagesApi* | [**stages_user_login_destroy**](docs/StagesApi.md#stages_user_login_destroy) | **DELETE** /stages/user_login/{stage_uuid}/ | +*StagesApi* | [**stages_user_login_list**](docs/StagesApi.md#stages_user_login_list) | **GET** /stages/user_login/ | +*StagesApi* | [**stages_user_login_partial_update**](docs/StagesApi.md#stages_user_login_partial_update) | **PATCH** /stages/user_login/{stage_uuid}/ | +*StagesApi* | [**stages_user_login_retrieve**](docs/StagesApi.md#stages_user_login_retrieve) | **GET** /stages/user_login/{stage_uuid}/ | +*StagesApi* | [**stages_user_login_update**](docs/StagesApi.md#stages_user_login_update) | **PUT** /stages/user_login/{stage_uuid}/ | +*StagesApi* | [**stages_user_login_used_by_list**](docs/StagesApi.md#stages_user_login_used_by_list) | **GET** /stages/user_login/{stage_uuid}/used_by/ | +*StagesApi* | [**stages_user_logout_create**](docs/StagesApi.md#stages_user_logout_create) | **POST** /stages/user_logout/ | +*StagesApi* | [**stages_user_logout_destroy**](docs/StagesApi.md#stages_user_logout_destroy) | **DELETE** /stages/user_logout/{stage_uuid}/ | +*StagesApi* | [**stages_user_logout_list**](docs/StagesApi.md#stages_user_logout_list) | **GET** /stages/user_logout/ | +*StagesApi* | [**stages_user_logout_partial_update**](docs/StagesApi.md#stages_user_logout_partial_update) | **PATCH** /stages/user_logout/{stage_uuid}/ | +*StagesApi* | [**stages_user_logout_retrieve**](docs/StagesApi.md#stages_user_logout_retrieve) | **GET** /stages/user_logout/{stage_uuid}/ | +*StagesApi* | [**stages_user_logout_update**](docs/StagesApi.md#stages_user_logout_update) | **PUT** /stages/user_logout/{stage_uuid}/ | +*StagesApi* | [**stages_user_logout_used_by_list**](docs/StagesApi.md#stages_user_logout_used_by_list) | **GET** /stages/user_logout/{stage_uuid}/used_by/ | +*StagesApi* | [**stages_user_write_create**](docs/StagesApi.md#stages_user_write_create) | **POST** /stages/user_write/ | +*StagesApi* | [**stages_user_write_destroy**](docs/StagesApi.md#stages_user_write_destroy) | **DELETE** /stages/user_write/{stage_uuid}/ | +*StagesApi* | [**stages_user_write_list**](docs/StagesApi.md#stages_user_write_list) | **GET** /stages/user_write/ | +*StagesApi* | [**stages_user_write_partial_update**](docs/StagesApi.md#stages_user_write_partial_update) | **PATCH** /stages/user_write/{stage_uuid}/ | +*StagesApi* | [**stages_user_write_retrieve**](docs/StagesApi.md#stages_user_write_retrieve) | **GET** /stages/user_write/{stage_uuid}/ | +*StagesApi* | [**stages_user_write_update**](docs/StagesApi.md#stages_user_write_update) | **PUT** /stages/user_write/{stage_uuid}/ | +*StagesApi* | [**stages_user_write_used_by_list**](docs/StagesApi.md#stages_user_write_used_by_list) | **GET** /stages/user_write/{stage_uuid}/used_by/ | +*TenantsApi* | [**tenants_domains_create**](docs/TenantsApi.md#tenants_domains_create) | **POST** /tenants/domains/ | +*TenantsApi* | [**tenants_domains_destroy**](docs/TenantsApi.md#tenants_domains_destroy) | **DELETE** /tenants/domains/{id}/ | +*TenantsApi* | [**tenants_domains_list**](docs/TenantsApi.md#tenants_domains_list) | **GET** /tenants/domains/ | +*TenantsApi* | [**tenants_domains_partial_update**](docs/TenantsApi.md#tenants_domains_partial_update) | **PATCH** /tenants/domains/{id}/ | +*TenantsApi* | [**tenants_domains_retrieve**](docs/TenantsApi.md#tenants_domains_retrieve) | **GET** /tenants/domains/{id}/ | +*TenantsApi* | [**tenants_domains_update**](docs/TenantsApi.md#tenants_domains_update) | **PUT** /tenants/domains/{id}/ | +*TenantsApi* | [**tenants_tenants_create**](docs/TenantsApi.md#tenants_tenants_create) | **POST** /tenants/tenants/ | +*TenantsApi* | [**tenants_tenants_create_admin_group_create**](docs/TenantsApi.md#tenants_tenants_create_admin_group_create) | **POST** /tenants/tenants/{tenant_uuid}/create_admin_group/ | +*TenantsApi* | [**tenants_tenants_create_recovery_key_create**](docs/TenantsApi.md#tenants_tenants_create_recovery_key_create) | **POST** /tenants/tenants/{tenant_uuid}/create_recovery_key/ | +*TenantsApi* | [**tenants_tenants_destroy**](docs/TenantsApi.md#tenants_tenants_destroy) | **DELETE** /tenants/tenants/{tenant_uuid}/ | +*TenantsApi* | [**tenants_tenants_list**](docs/TenantsApi.md#tenants_tenants_list) | **GET** /tenants/tenants/ | +*TenantsApi* | [**tenants_tenants_partial_update**](docs/TenantsApi.md#tenants_tenants_partial_update) | **PATCH** /tenants/tenants/{tenant_uuid}/ | +*TenantsApi* | [**tenants_tenants_retrieve**](docs/TenantsApi.md#tenants_tenants_retrieve) | **GET** /tenants/tenants/{tenant_uuid}/ | +*TenantsApi* | [**tenants_tenants_update**](docs/TenantsApi.md#tenants_tenants_update) | **PUT** /tenants/tenants/{tenant_uuid}/ | + + +## Documentation For Models + + - [AccessDeniedChallenge](docs/AccessDeniedChallenge.md) + - [AlgEnum](docs/AlgEnum.md) + - [App](docs/App.md) + - [AppEnum](docs/AppEnum.md) + - [AppleChallengeResponseRequest](docs/AppleChallengeResponseRequest.md) + - [AppleLoginChallenge](docs/AppleLoginChallenge.md) + - [Application](docs/Application.md) + - [ApplicationRequest](docs/ApplicationRequest.md) + - [AuthModeEnum](docs/AuthModeEnum.md) + - [AuthTypeEnum](docs/AuthTypeEnum.md) + - [AuthenticatedSession](docs/AuthenticatedSession.md) + - [AuthenticatedSessionAsn](docs/AuthenticatedSessionAsn.md) + - [AuthenticatedSessionGeoIp](docs/AuthenticatedSessionGeoIp.md) + - [AuthenticatedSessionUserAgent](docs/AuthenticatedSessionUserAgent.md) + - [AuthenticatedSessionUserAgentDevice](docs/AuthenticatedSessionUserAgentDevice.md) + - [AuthenticatedSessionUserAgentOs](docs/AuthenticatedSessionUserAgentOs.md) + - [AuthenticatedSessionUserAgentUserAgent](docs/AuthenticatedSessionUserAgentUserAgent.md) + - [AuthenticationEnum](docs/AuthenticationEnum.md) + - [AuthenticatorAttachmentEnum](docs/AuthenticatorAttachmentEnum.md) + - [AuthenticatorDuoChallenge](docs/AuthenticatorDuoChallenge.md) + - [AuthenticatorDuoChallengeResponseRequest](docs/AuthenticatorDuoChallengeResponseRequest.md) + - [AuthenticatorDuoStage](docs/AuthenticatorDuoStage.md) + - [AuthenticatorDuoStageDeviceImportResponse](docs/AuthenticatorDuoStageDeviceImportResponse.md) + - [AuthenticatorDuoStageManualDeviceImportRequest](docs/AuthenticatorDuoStageManualDeviceImportRequest.md) + - [AuthenticatorDuoStageRequest](docs/AuthenticatorDuoStageRequest.md) + - [AuthenticatorSmsChallenge](docs/AuthenticatorSmsChallenge.md) + - [AuthenticatorSmsChallengeResponseRequest](docs/AuthenticatorSmsChallengeResponseRequest.md) + - [AuthenticatorSmsStage](docs/AuthenticatorSmsStage.md) + - [AuthenticatorSmsStageRequest](docs/AuthenticatorSmsStageRequest.md) + - [AuthenticatorStaticChallenge](docs/AuthenticatorStaticChallenge.md) + - [AuthenticatorStaticChallengeResponseRequest](docs/AuthenticatorStaticChallengeResponseRequest.md) + - [AuthenticatorStaticStage](docs/AuthenticatorStaticStage.md) + - [AuthenticatorStaticStageRequest](docs/AuthenticatorStaticStageRequest.md) + - [AuthenticatorTotpChallenge](docs/AuthenticatorTotpChallenge.md) + - [AuthenticatorTotpChallengeResponseRequest](docs/AuthenticatorTotpChallengeResponseRequest.md) + - [AuthenticatorTotpStage](docs/AuthenticatorTotpStage.md) + - [AuthenticatorTotpStageRequest](docs/AuthenticatorTotpStageRequest.md) + - [AuthenticatorValidateStage](docs/AuthenticatorValidateStage.md) + - [AuthenticatorValidateStageRequest](docs/AuthenticatorValidateStageRequest.md) + - [AuthenticatorValidationChallenge](docs/AuthenticatorValidationChallenge.md) + - [AuthenticatorValidationChallengeResponseRequest](docs/AuthenticatorValidationChallengeResponseRequest.md) + - [AuthenticatorWebAuthnChallenge](docs/AuthenticatorWebAuthnChallenge.md) + - [AuthenticatorWebAuthnChallengeResponseRequest](docs/AuthenticatorWebAuthnChallengeResponseRequest.md) + - [AuthenticatorWebAuthnStage](docs/AuthenticatorWebAuthnStage.md) + - [AuthenticatorWebAuthnStageRequest](docs/AuthenticatorWebAuthnStageRequest.md) + - [AutoSubmitChallengeResponseRequest](docs/AutoSubmitChallengeResponseRequest.md) + - [AutosubmitChallenge](docs/AutosubmitChallenge.md) + - [BackendsEnum](docs/BackendsEnum.md) + - [BindingTypeEnum](docs/BindingTypeEnum.md) + - [BlueprintFile](docs/BlueprintFile.md) + - [BlueprintInstance](docs/BlueprintInstance.md) + - [BlueprintInstanceRequest](docs/BlueprintInstanceRequest.md) + - [BlueprintInstanceStatusEnum](docs/BlueprintInstanceStatusEnum.md) + - [Brand](docs/Brand.md) + - [BrandRequest](docs/BrandRequest.md) + - [Cache](docs/Cache.md) + - [CapabilitiesEnum](docs/CapabilitiesEnum.md) + - [CaptchaChallenge](docs/CaptchaChallenge.md) + - [CaptchaChallengeResponseRequest](docs/CaptchaChallengeResponseRequest.md) + - [CaptchaStage](docs/CaptchaStage.md) + - [CaptchaStageRequest](docs/CaptchaStageRequest.md) + - [CertificateData](docs/CertificateData.md) + - [CertificateGenerationRequest](docs/CertificateGenerationRequest.md) + - [CertificateKeyPair](docs/CertificateKeyPair.md) + - [CertificateKeyPairRequest](docs/CertificateKeyPairRequest.md) + - [ChallengeTypes](docs/ChallengeTypes.md) + - [ClientTypeEnum](docs/ClientTypeEnum.md) + - [Config](docs/Config.md) + - [ConnectionToken](docs/ConnectionToken.md) + - [ConnectionTokenRequest](docs/ConnectionTokenRequest.md) + - [ConsentChallenge](docs/ConsentChallenge.md) + - [ConsentChallengeResponseRequest](docs/ConsentChallengeResponseRequest.md) + - [ConsentPermission](docs/ConsentPermission.md) + - [ConsentStage](docs/ConsentStage.md) + - [ConsentStageModeEnum](docs/ConsentStageModeEnum.md) + - [ConsentStageRequest](docs/ConsentStageRequest.md) + - [ContextualFlowInfo](docs/ContextualFlowInfo.md) + - [ContextualFlowInfoLayoutEnum](docs/ContextualFlowInfoLayoutEnum.md) + - [Coordinate](docs/Coordinate.md) + - [CountryCodeEnum](docs/CountryCodeEnum.md) + - [CurrentBrand](docs/CurrentBrand.md) + - [DeniedActionEnum](docs/DeniedActionEnum.md) + - [DenyStage](docs/DenyStage.md) + - [DenyStageRequest](docs/DenyStageRequest.md) + - [DetailedCountry](docs/DetailedCountry.md) + - [DetailedCountryField](docs/DetailedCountryField.md) + - [DetailedCountryFieldRequest](docs/DetailedCountryFieldRequest.md) + - [Device](docs/Device.md) + - [DeviceChallenge](docs/DeviceChallenge.md) + - [DeviceChallengeRequest](docs/DeviceChallengeRequest.md) + - [DeviceClassesEnum](docs/DeviceClassesEnum.md) + - [DigestAlgorithmEnum](docs/DigestAlgorithmEnum.md) + - [DigitsEnum](docs/DigitsEnum.md) + - [DockerServiceConnection](docs/DockerServiceConnection.md) + - [DockerServiceConnectionRequest](docs/DockerServiceConnectionRequest.md) + - [Domain](docs/Domain.md) + - [DomainRequest](docs/DomainRequest.md) + - [DummyChallenge](docs/DummyChallenge.md) + - [DummyChallengeResponseRequest](docs/DummyChallengeResponseRequest.md) + - [DummyPolicy](docs/DummyPolicy.md) + - [DummyPolicyRequest](docs/DummyPolicyRequest.md) + - [DummyStage](docs/DummyStage.md) + - [DummyStageRequest](docs/DummyStageRequest.md) + - [DuoDevice](docs/DuoDevice.md) + - [DuoDeviceEnrollmentStatus](docs/DuoDeviceEnrollmentStatus.md) + - [DuoDeviceRequest](docs/DuoDeviceRequest.md) + - [DuoResponseEnum](docs/DuoResponseEnum.md) + - [EmailChallenge](docs/EmailChallenge.md) + - [EmailChallengeResponseRequest](docs/EmailChallengeResponseRequest.md) + - [EmailStage](docs/EmailStage.md) + - [EmailStageRequest](docs/EmailStageRequest.md) + - [Endpoint](docs/Endpoint.md) + - [EndpointRequest](docs/EndpointRequest.md) + - [ErrorDetail](docs/ErrorDetail.md) + - [ErrorReportingConfig](docs/ErrorReportingConfig.md) + - [Event](docs/Event.md) + - [EventActions](docs/EventActions.md) + - [EventMatcherPolicy](docs/EventMatcherPolicy.md) + - [EventMatcherPolicyRequest](docs/EventMatcherPolicyRequest.md) + - [EventRequest](docs/EventRequest.md) + - [EventTopPerUser](docs/EventTopPerUser.md) + - [ExpiringBaseGrantModel](docs/ExpiringBaseGrantModel.md) + - [ExpressionPolicy](docs/ExpressionPolicy.md) + - [ExpressionPolicyRequest](docs/ExpressionPolicyRequest.md) + - [ExtraRoleObjectPermission](docs/ExtraRoleObjectPermission.md) + - [ExtraRoleObjectPermissionRequest](docs/ExtraRoleObjectPermissionRequest.md) + - [ExtraUserObjectPermission](docs/ExtraUserObjectPermission.md) + - [ExtraUserObjectPermissionRequest](docs/ExtraUserObjectPermissionRequest.md) + - [FilePathRequest](docs/FilePathRequest.md) + - [Flow](docs/Flow.md) + - [FlowChallengeResponseRequest](docs/FlowChallengeResponseRequest.md) + - [FlowDesignationEnum](docs/FlowDesignationEnum.md) + - [FlowDiagram](docs/FlowDiagram.md) + - [FlowErrorChallenge](docs/FlowErrorChallenge.md) + - [FlowImportResult](docs/FlowImportResult.md) + - [FlowInspection](docs/FlowInspection.md) + - [FlowInspectorPlan](docs/FlowInspectorPlan.md) + - [FlowLayoutEnum](docs/FlowLayoutEnum.md) + - [FlowRequest](docs/FlowRequest.md) + - [FlowSet](docs/FlowSet.md) + - [FlowSetRequest](docs/FlowSetRequest.md) + - [FlowStageBinding](docs/FlowStageBinding.md) + - [FlowStageBindingRequest](docs/FlowStageBindingRequest.md) + - [FooterLink](docs/FooterLink.md) + - [GenericError](docs/GenericError.md) + - [GeoIpPolicy](docs/GeoIpPolicy.md) + - [GeoIpPolicyRequest](docs/GeoIpPolicyRequest.md) + - [GeoipBindingEnum](docs/GeoipBindingEnum.md) + - [GoogleWorkspaceProvider](docs/GoogleWorkspaceProvider.md) + - [GoogleWorkspaceProviderGroup](docs/GoogleWorkspaceProviderGroup.md) + - [GoogleWorkspaceProviderGroupRequest](docs/GoogleWorkspaceProviderGroupRequest.md) + - [GoogleWorkspaceProviderMapping](docs/GoogleWorkspaceProviderMapping.md) + - [GoogleWorkspaceProviderMappingRequest](docs/GoogleWorkspaceProviderMappingRequest.md) + - [GoogleWorkspaceProviderRequest](docs/GoogleWorkspaceProviderRequest.md) + - [GoogleWorkspaceProviderUser](docs/GoogleWorkspaceProviderUser.md) + - [GoogleWorkspaceProviderUserRequest](docs/GoogleWorkspaceProviderUserRequest.md) + - [Group](docs/Group.md) + - [GroupMatchingModeEnum](docs/GroupMatchingModeEnum.md) + - [GroupMember](docs/GroupMember.md) + - [GroupMemberRequest](docs/GroupMemberRequest.md) + - [GroupOAuthSourceConnection](docs/GroupOAuthSourceConnection.md) + - [GroupPlexSourceConnection](docs/GroupPlexSourceConnection.md) + - [GroupRequest](docs/GroupRequest.md) + - [GroupSamlSourceConnection](docs/GroupSamlSourceConnection.md) + - [IdentificationChallenge](docs/IdentificationChallenge.md) + - [IdentificationChallengeResponseRequest](docs/IdentificationChallengeResponseRequest.md) + - [IdentificationStage](docs/IdentificationStage.md) + - [IdentificationStageRequest](docs/IdentificationStageRequest.md) + - [InstallId](docs/InstallId.md) + - [IntentEnum](docs/IntentEnum.md) + - [InvalidResponseActionEnum](docs/InvalidResponseActionEnum.md) + - [Invitation](docs/Invitation.md) + - [InvitationRequest](docs/InvitationRequest.md) + - [InvitationStage](docs/InvitationStage.md) + - [InvitationStageRequest](docs/InvitationStageRequest.md) + - [IssuerModeEnum](docs/IssuerModeEnum.md) + - [KubernetesServiceConnection](docs/KubernetesServiceConnection.md) + - [KubernetesServiceConnectionRequest](docs/KubernetesServiceConnectionRequest.md) + - [LdapCheckAccess](docs/LdapCheckAccess.md) + - [LdapDebug](docs/LdapDebug.md) + - [LdapOutpostConfig](docs/LdapOutpostConfig.md) + - [LdapProvider](docs/LdapProvider.md) + - [LdapProviderRequest](docs/LdapProviderRequest.md) + - [LdapSource](docs/LdapSource.md) + - [LdapSourcePropertyMapping](docs/LdapSourcePropertyMapping.md) + - [LdapSourcePropertyMappingRequest](docs/LdapSourcePropertyMappingRequest.md) + - [LdapSourceRequest](docs/LdapSourceRequest.md) + - [LdapapiAccessMode](docs/LdapapiAccessMode.md) + - [License](docs/License.md) + - [LicenseFlagsEnum](docs/LicenseFlagsEnum.md) + - [LicenseForecast](docs/LicenseForecast.md) + - [LicenseRequest](docs/LicenseRequest.md) + - [LicenseSummary](docs/LicenseSummary.md) + - [LicenseSummaryStatusEnum](docs/LicenseSummaryStatusEnum.md) + - [Link](docs/Link.md) + - [LogEvent](docs/LogEvent.md) + - [LogLevelEnum](docs/LogLevelEnum.md) + - [LoginChallengeTypes](docs/LoginChallengeTypes.md) + - [LoginMetrics](docs/LoginMetrics.md) + - [LoginSource](docs/LoginSource.md) + - [Metadata](docs/Metadata.md) + - [MicrosoftEntraProvider](docs/MicrosoftEntraProvider.md) + - [MicrosoftEntraProviderGroup](docs/MicrosoftEntraProviderGroup.md) + - [MicrosoftEntraProviderGroupRequest](docs/MicrosoftEntraProviderGroupRequest.md) + - [MicrosoftEntraProviderMapping](docs/MicrosoftEntraProviderMapping.md) + - [MicrosoftEntraProviderMappingRequest](docs/MicrosoftEntraProviderMappingRequest.md) + - [MicrosoftEntraProviderRequest](docs/MicrosoftEntraProviderRequest.md) + - [MicrosoftEntraProviderUser](docs/MicrosoftEntraProviderUser.md) + - [MicrosoftEntraProviderUserRequest](docs/MicrosoftEntraProviderUserRequest.md) + - [ModelEnum](docs/ModelEnum.md) + - [ModelRequest](docs/ModelRequest.md) + - [NameIdPolicyEnum](docs/NameIdPolicyEnum.md) + - [NetworkBindingEnum](docs/NetworkBindingEnum.md) + - [NotConfiguredActionEnum](docs/NotConfiguredActionEnum.md) + - [Notification](docs/Notification.md) + - [NotificationRequest](docs/NotificationRequest.md) + - [NotificationRule](docs/NotificationRule.md) + - [NotificationRuleRequest](docs/NotificationRuleRequest.md) + - [NotificationTransport](docs/NotificationTransport.md) + - [NotificationTransportModeEnum](docs/NotificationTransportModeEnum.md) + - [NotificationTransportRequest](docs/NotificationTransportRequest.md) + - [NotificationTransportTest](docs/NotificationTransportTest.md) + - [NotificationWebhookMapping](docs/NotificationWebhookMapping.md) + - [NotificationWebhookMappingRequest](docs/NotificationWebhookMappingRequest.md) + - [OAuth2Provider](docs/OAuth2Provider.md) + - [OAuth2ProviderRequest](docs/OAuth2ProviderRequest.md) + - [OAuth2ProviderSetupUrls](docs/OAuth2ProviderSetupUrls.md) + - [OAuthDeviceCodeChallenge](docs/OAuthDeviceCodeChallenge.md) + - [OAuthDeviceCodeChallengeResponseRequest](docs/OAuthDeviceCodeChallengeResponseRequest.md) + - [OAuthDeviceCodeFinishChallenge](docs/OAuthDeviceCodeFinishChallenge.md) + - [OAuthDeviceCodeFinishChallengeResponseRequest](docs/OAuthDeviceCodeFinishChallengeResponseRequest.md) + - [OAuthSource](docs/OAuthSource.md) + - [OAuthSourcePropertyMapping](docs/OAuthSourcePropertyMapping.md) + - [OAuthSourcePropertyMappingRequest](docs/OAuthSourcePropertyMappingRequest.md) + - [OAuthSourceRequest](docs/OAuthSourceRequest.md) + - [OpenIdConnectConfiguration](docs/OpenIdConnectConfiguration.md) + - [OutgoingSyncDeleteAction](docs/OutgoingSyncDeleteAction.md) + - [Outpost](docs/Outpost.md) + - [OutpostDefaultConfig](docs/OutpostDefaultConfig.md) + - [OutpostHealth](docs/OutpostHealth.md) + - [OutpostRequest](docs/OutpostRequest.md) + - [OutpostTypeEnum](docs/OutpostTypeEnum.md) + - [PaginatedApplicationList](docs/PaginatedApplicationList.md) + - [PaginatedAuthenticatedSessionList](docs/PaginatedAuthenticatedSessionList.md) + - [PaginatedAuthenticatorDuoStageList](docs/PaginatedAuthenticatorDuoStageList.md) + - [PaginatedAuthenticatorSmsStageList](docs/PaginatedAuthenticatorSmsStageList.md) + - [PaginatedAuthenticatorStaticStageList](docs/PaginatedAuthenticatorStaticStageList.md) + - [PaginatedAuthenticatorTotpStageList](docs/PaginatedAuthenticatorTotpStageList.md) + - [PaginatedAuthenticatorValidateStageList](docs/PaginatedAuthenticatorValidateStageList.md) + - [PaginatedAuthenticatorWebAuthnStageList](docs/PaginatedAuthenticatorWebAuthnStageList.md) + - [PaginatedBlueprintInstanceList](docs/PaginatedBlueprintInstanceList.md) + - [PaginatedBrandList](docs/PaginatedBrandList.md) + - [PaginatedCaptchaStageList](docs/PaginatedCaptchaStageList.md) + - [PaginatedCertificateKeyPairList](docs/PaginatedCertificateKeyPairList.md) + - [PaginatedConnectionTokenList](docs/PaginatedConnectionTokenList.md) + - [PaginatedConsentStageList](docs/PaginatedConsentStageList.md) + - [PaginatedDenyStageList](docs/PaginatedDenyStageList.md) + - [PaginatedDockerServiceConnectionList](docs/PaginatedDockerServiceConnectionList.md) + - [PaginatedDomainList](docs/PaginatedDomainList.md) + - [PaginatedDummyPolicyList](docs/PaginatedDummyPolicyList.md) + - [PaginatedDummyStageList](docs/PaginatedDummyStageList.md) + - [PaginatedDuoDeviceList](docs/PaginatedDuoDeviceList.md) + - [PaginatedEmailStageList](docs/PaginatedEmailStageList.md) + - [PaginatedEndpointList](docs/PaginatedEndpointList.md) + - [PaginatedEventList](docs/PaginatedEventList.md) + - [PaginatedEventMatcherPolicyList](docs/PaginatedEventMatcherPolicyList.md) + - [PaginatedExpiringBaseGrantModelList](docs/PaginatedExpiringBaseGrantModelList.md) + - [PaginatedExpressionPolicyList](docs/PaginatedExpressionPolicyList.md) + - [PaginatedExtraRoleObjectPermissionList](docs/PaginatedExtraRoleObjectPermissionList.md) + - [PaginatedExtraUserObjectPermissionList](docs/PaginatedExtraUserObjectPermissionList.md) + - [PaginatedFlowList](docs/PaginatedFlowList.md) + - [PaginatedFlowStageBindingList](docs/PaginatedFlowStageBindingList.md) + - [PaginatedGeoIpPolicyList](docs/PaginatedGeoIpPolicyList.md) + - [PaginatedGoogleWorkspaceProviderGroupList](docs/PaginatedGoogleWorkspaceProviderGroupList.md) + - [PaginatedGoogleWorkspaceProviderList](docs/PaginatedGoogleWorkspaceProviderList.md) + - [PaginatedGoogleWorkspaceProviderMappingList](docs/PaginatedGoogleWorkspaceProviderMappingList.md) + - [PaginatedGoogleWorkspaceProviderUserList](docs/PaginatedGoogleWorkspaceProviderUserList.md) + - [PaginatedGroupList](docs/PaginatedGroupList.md) + - [PaginatedGroupOAuthSourceConnectionList](docs/PaginatedGroupOAuthSourceConnectionList.md) + - [PaginatedGroupPlexSourceConnectionList](docs/PaginatedGroupPlexSourceConnectionList.md) + - [PaginatedGroupSamlSourceConnectionList](docs/PaginatedGroupSamlSourceConnectionList.md) + - [PaginatedIdentificationStageList](docs/PaginatedIdentificationStageList.md) + - [PaginatedInvitationList](docs/PaginatedInvitationList.md) + - [PaginatedInvitationStageList](docs/PaginatedInvitationStageList.md) + - [PaginatedKubernetesServiceConnectionList](docs/PaginatedKubernetesServiceConnectionList.md) + - [PaginatedLdapOutpostConfigList](docs/PaginatedLdapOutpostConfigList.md) + - [PaginatedLdapProviderList](docs/PaginatedLdapProviderList.md) + - [PaginatedLdapSourceList](docs/PaginatedLdapSourceList.md) + - [PaginatedLdapSourcePropertyMappingList](docs/PaginatedLdapSourcePropertyMappingList.md) + - [PaginatedLicenseList](docs/PaginatedLicenseList.md) + - [PaginatedMicrosoftEntraProviderGroupList](docs/PaginatedMicrosoftEntraProviderGroupList.md) + - [PaginatedMicrosoftEntraProviderList](docs/PaginatedMicrosoftEntraProviderList.md) + - [PaginatedMicrosoftEntraProviderMappingList](docs/PaginatedMicrosoftEntraProviderMappingList.md) + - [PaginatedMicrosoftEntraProviderUserList](docs/PaginatedMicrosoftEntraProviderUserList.md) + - [PaginatedNotificationList](docs/PaginatedNotificationList.md) + - [PaginatedNotificationRuleList](docs/PaginatedNotificationRuleList.md) + - [PaginatedNotificationTransportList](docs/PaginatedNotificationTransportList.md) + - [PaginatedNotificationWebhookMappingList](docs/PaginatedNotificationWebhookMappingList.md) + - [PaginatedOAuth2ProviderList](docs/PaginatedOAuth2ProviderList.md) + - [PaginatedOAuthSourceList](docs/PaginatedOAuthSourceList.md) + - [PaginatedOAuthSourcePropertyMappingList](docs/PaginatedOAuthSourcePropertyMappingList.md) + - [PaginatedOutpostList](docs/PaginatedOutpostList.md) + - [PaginatedPasswordExpiryPolicyList](docs/PaginatedPasswordExpiryPolicyList.md) + - [PaginatedPasswordPolicyList](docs/PaginatedPasswordPolicyList.md) + - [PaginatedPasswordStageList](docs/PaginatedPasswordStageList.md) + - [PaginatedPermissionList](docs/PaginatedPermissionList.md) + - [PaginatedPlexSourceList](docs/PaginatedPlexSourceList.md) + - [PaginatedPlexSourcePropertyMappingList](docs/PaginatedPlexSourcePropertyMappingList.md) + - [PaginatedPolicyBindingList](docs/PaginatedPolicyBindingList.md) + - [PaginatedPolicyList](docs/PaginatedPolicyList.md) + - [PaginatedPromptList](docs/PaginatedPromptList.md) + - [PaginatedPromptStageList](docs/PaginatedPromptStageList.md) + - [PaginatedPropertyMappingList](docs/PaginatedPropertyMappingList.md) + - [PaginatedProviderList](docs/PaginatedProviderList.md) + - [PaginatedProxyOutpostConfigList](docs/PaginatedProxyOutpostConfigList.md) + - [PaginatedProxyProviderList](docs/PaginatedProxyProviderList.md) + - [PaginatedRacPropertyMappingList](docs/PaginatedRacPropertyMappingList.md) + - [PaginatedRacProviderList](docs/PaginatedRacProviderList.md) + - [PaginatedRadiusOutpostConfigList](docs/PaginatedRadiusOutpostConfigList.md) + - [PaginatedRadiusProviderList](docs/PaginatedRadiusProviderList.md) + - [PaginatedRadiusProviderPropertyMappingList](docs/PaginatedRadiusProviderPropertyMappingList.md) + - [PaginatedReputationList](docs/PaginatedReputationList.md) + - [PaginatedReputationPolicyList](docs/PaginatedReputationPolicyList.md) + - [PaginatedRoleAssignedObjectPermissionList](docs/PaginatedRoleAssignedObjectPermissionList.md) + - [PaginatedRoleList](docs/PaginatedRoleList.md) + - [PaginatedSamlPropertyMappingList](docs/PaginatedSamlPropertyMappingList.md) + - [PaginatedSamlProviderList](docs/PaginatedSamlProviderList.md) + - [PaginatedSamlSourceList](docs/PaginatedSamlSourceList.md) + - [PaginatedSamlSourcePropertyMappingList](docs/PaginatedSamlSourcePropertyMappingList.md) + - [PaginatedScimMappingList](docs/PaginatedScimMappingList.md) + - [PaginatedScimProviderGroupList](docs/PaginatedScimProviderGroupList.md) + - [PaginatedScimProviderList](docs/PaginatedScimProviderList.md) + - [PaginatedScimProviderUserList](docs/PaginatedScimProviderUserList.md) + - [PaginatedScimSourceGroupList](docs/PaginatedScimSourceGroupList.md) + - [PaginatedScimSourceList](docs/PaginatedScimSourceList.md) + - [PaginatedScimSourcePropertyMappingList](docs/PaginatedScimSourcePropertyMappingList.md) + - [PaginatedScimSourceUserList](docs/PaginatedScimSourceUserList.md) + - [PaginatedScopeMappingList](docs/PaginatedScopeMappingList.md) + - [PaginatedServiceConnectionList](docs/PaginatedServiceConnectionList.md) + - [PaginatedSmsDeviceList](docs/PaginatedSmsDeviceList.md) + - [PaginatedSourceList](docs/PaginatedSourceList.md) + - [PaginatedSourceStageList](docs/PaginatedSourceStageList.md) + - [PaginatedStageList](docs/PaginatedStageList.md) + - [PaginatedStaticDeviceList](docs/PaginatedStaticDeviceList.md) + - [PaginatedSystemTaskList](docs/PaginatedSystemTaskList.md) + - [PaginatedTenantList](docs/PaginatedTenantList.md) + - [PaginatedTokenList](docs/PaginatedTokenList.md) + - [PaginatedTokenModelList](docs/PaginatedTokenModelList.md) + - [PaginatedTotpDeviceList](docs/PaginatedTotpDeviceList.md) + - [PaginatedUserAssignedObjectPermissionList](docs/PaginatedUserAssignedObjectPermissionList.md) + - [PaginatedUserConsentList](docs/PaginatedUserConsentList.md) + - [PaginatedUserDeleteStageList](docs/PaginatedUserDeleteStageList.md) + - [PaginatedUserList](docs/PaginatedUserList.md) + - [PaginatedUserLoginStageList](docs/PaginatedUserLoginStageList.md) + - [PaginatedUserLogoutStageList](docs/PaginatedUserLogoutStageList.md) + - [PaginatedUserOAuthSourceConnectionList](docs/PaginatedUserOAuthSourceConnectionList.md) + - [PaginatedUserPlexSourceConnectionList](docs/PaginatedUserPlexSourceConnectionList.md) + - [PaginatedUserSamlSourceConnectionList](docs/PaginatedUserSamlSourceConnectionList.md) + - [PaginatedUserSourceConnectionList](docs/PaginatedUserSourceConnectionList.md) + - [PaginatedUserWriteStageList](docs/PaginatedUserWriteStageList.md) + - [PaginatedWebAuthnDeviceList](docs/PaginatedWebAuthnDeviceList.md) + - [PaginatedWebAuthnDeviceTypeList](docs/PaginatedWebAuthnDeviceTypeList.md) + - [Pagination](docs/Pagination.md) + - [PasswordChallenge](docs/PasswordChallenge.md) + - [PasswordChallengeResponseRequest](docs/PasswordChallengeResponseRequest.md) + - [PasswordExpiryPolicy](docs/PasswordExpiryPolicy.md) + - [PasswordExpiryPolicyRequest](docs/PasswordExpiryPolicyRequest.md) + - [PasswordPolicy](docs/PasswordPolicy.md) + - [PasswordPolicyRequest](docs/PasswordPolicyRequest.md) + - [PasswordStage](docs/PasswordStage.md) + - [PasswordStageRequest](docs/PasswordStageRequest.md) + - [PatchedApplicationRequest](docs/PatchedApplicationRequest.md) + - [PatchedAuthenticatorDuoStageRequest](docs/PatchedAuthenticatorDuoStageRequest.md) + - [PatchedAuthenticatorSmsStageRequest](docs/PatchedAuthenticatorSmsStageRequest.md) + - [PatchedAuthenticatorStaticStageRequest](docs/PatchedAuthenticatorStaticStageRequest.md) + - [PatchedAuthenticatorTotpStageRequest](docs/PatchedAuthenticatorTotpStageRequest.md) + - [PatchedAuthenticatorValidateStageRequest](docs/PatchedAuthenticatorValidateStageRequest.md) + - [PatchedAuthenticatorWebAuthnStageRequest](docs/PatchedAuthenticatorWebAuthnStageRequest.md) + - [PatchedBlueprintInstanceRequest](docs/PatchedBlueprintInstanceRequest.md) + - [PatchedBrandRequest](docs/PatchedBrandRequest.md) + - [PatchedCaptchaStageRequest](docs/PatchedCaptchaStageRequest.md) + - [PatchedCertificateKeyPairRequest](docs/PatchedCertificateKeyPairRequest.md) + - [PatchedConnectionTokenRequest](docs/PatchedConnectionTokenRequest.md) + - [PatchedConsentStageRequest](docs/PatchedConsentStageRequest.md) + - [PatchedDenyStageRequest](docs/PatchedDenyStageRequest.md) + - [PatchedDockerServiceConnectionRequest](docs/PatchedDockerServiceConnectionRequest.md) + - [PatchedDomainRequest](docs/PatchedDomainRequest.md) + - [PatchedDummyPolicyRequest](docs/PatchedDummyPolicyRequest.md) + - [PatchedDummyStageRequest](docs/PatchedDummyStageRequest.md) + - [PatchedDuoDeviceRequest](docs/PatchedDuoDeviceRequest.md) + - [PatchedEmailStageRequest](docs/PatchedEmailStageRequest.md) + - [PatchedEndpointRequest](docs/PatchedEndpointRequest.md) + - [PatchedEventMatcherPolicyRequest](docs/PatchedEventMatcherPolicyRequest.md) + - [PatchedEventRequest](docs/PatchedEventRequest.md) + - [PatchedExpressionPolicyRequest](docs/PatchedExpressionPolicyRequest.md) + - [PatchedExtraRoleObjectPermissionRequest](docs/PatchedExtraRoleObjectPermissionRequest.md) + - [PatchedExtraUserObjectPermissionRequest](docs/PatchedExtraUserObjectPermissionRequest.md) + - [PatchedFlowRequest](docs/PatchedFlowRequest.md) + - [PatchedFlowStageBindingRequest](docs/PatchedFlowStageBindingRequest.md) + - [PatchedGeoIpPolicyRequest](docs/PatchedGeoIpPolicyRequest.md) + - [PatchedGoogleWorkspaceProviderMappingRequest](docs/PatchedGoogleWorkspaceProviderMappingRequest.md) + - [PatchedGoogleWorkspaceProviderRequest](docs/PatchedGoogleWorkspaceProviderRequest.md) + - [PatchedGroupRequest](docs/PatchedGroupRequest.md) + - [PatchedIdentificationStageRequest](docs/PatchedIdentificationStageRequest.md) + - [PatchedInvitationRequest](docs/PatchedInvitationRequest.md) + - [PatchedInvitationStageRequest](docs/PatchedInvitationStageRequest.md) + - [PatchedKubernetesServiceConnectionRequest](docs/PatchedKubernetesServiceConnectionRequest.md) + - [PatchedLdapProviderRequest](docs/PatchedLdapProviderRequest.md) + - [PatchedLdapSourcePropertyMappingRequest](docs/PatchedLdapSourcePropertyMappingRequest.md) + - [PatchedLdapSourceRequest](docs/PatchedLdapSourceRequest.md) + - [PatchedLicenseRequest](docs/PatchedLicenseRequest.md) + - [PatchedMicrosoftEntraProviderMappingRequest](docs/PatchedMicrosoftEntraProviderMappingRequest.md) + - [PatchedMicrosoftEntraProviderRequest](docs/PatchedMicrosoftEntraProviderRequest.md) + - [PatchedNotificationRequest](docs/PatchedNotificationRequest.md) + - [PatchedNotificationRuleRequest](docs/PatchedNotificationRuleRequest.md) + - [PatchedNotificationTransportRequest](docs/PatchedNotificationTransportRequest.md) + - [PatchedNotificationWebhookMappingRequest](docs/PatchedNotificationWebhookMappingRequest.md) + - [PatchedOAuth2ProviderRequest](docs/PatchedOAuth2ProviderRequest.md) + - [PatchedOAuthSourcePropertyMappingRequest](docs/PatchedOAuthSourcePropertyMappingRequest.md) + - [PatchedOAuthSourceRequest](docs/PatchedOAuthSourceRequest.md) + - [PatchedOutpostRequest](docs/PatchedOutpostRequest.md) + - [PatchedPasswordExpiryPolicyRequest](docs/PatchedPasswordExpiryPolicyRequest.md) + - [PatchedPasswordPolicyRequest](docs/PatchedPasswordPolicyRequest.md) + - [PatchedPasswordStageRequest](docs/PatchedPasswordStageRequest.md) + - [PatchedPermissionAssignRequest](docs/PatchedPermissionAssignRequest.md) + - [PatchedPlexSourcePropertyMappingRequest](docs/PatchedPlexSourcePropertyMappingRequest.md) + - [PatchedPlexSourceRequest](docs/PatchedPlexSourceRequest.md) + - [PatchedPolicyBindingRequest](docs/PatchedPolicyBindingRequest.md) + - [PatchedPromptRequest](docs/PatchedPromptRequest.md) + - [PatchedPromptStageRequest](docs/PatchedPromptStageRequest.md) + - [PatchedProxyProviderRequest](docs/PatchedProxyProviderRequest.md) + - [PatchedRacPropertyMappingRequest](docs/PatchedRacPropertyMappingRequest.md) + - [PatchedRacProviderRequest](docs/PatchedRacProviderRequest.md) + - [PatchedRadiusProviderPropertyMappingRequest](docs/PatchedRadiusProviderPropertyMappingRequest.md) + - [PatchedRadiusProviderRequest](docs/PatchedRadiusProviderRequest.md) + - [PatchedReputationPolicyRequest](docs/PatchedReputationPolicyRequest.md) + - [PatchedRoleRequest](docs/PatchedRoleRequest.md) + - [PatchedSamlPropertyMappingRequest](docs/PatchedSamlPropertyMappingRequest.md) + - [PatchedSamlProviderRequest](docs/PatchedSamlProviderRequest.md) + - [PatchedSamlSourcePropertyMappingRequest](docs/PatchedSamlSourcePropertyMappingRequest.md) + - [PatchedSamlSourceRequest](docs/PatchedSamlSourceRequest.md) + - [PatchedScimMappingRequest](docs/PatchedScimMappingRequest.md) + - [PatchedScimProviderRequest](docs/PatchedScimProviderRequest.md) + - [PatchedScimSourceGroupRequest](docs/PatchedScimSourceGroupRequest.md) + - [PatchedScimSourcePropertyMappingRequest](docs/PatchedScimSourcePropertyMappingRequest.md) + - [PatchedScimSourceRequest](docs/PatchedScimSourceRequest.md) + - [PatchedScimSourceUserRequest](docs/PatchedScimSourceUserRequest.md) + - [PatchedScopeMappingRequest](docs/PatchedScopeMappingRequest.md) + - [PatchedSettingsRequest](docs/PatchedSettingsRequest.md) + - [PatchedSmsDeviceRequest](docs/PatchedSmsDeviceRequest.md) + - [PatchedSourceStageRequest](docs/PatchedSourceStageRequest.md) + - [PatchedStaticDeviceRequest](docs/PatchedStaticDeviceRequest.md) + - [PatchedTenantRequest](docs/PatchedTenantRequest.md) + - [PatchedTokenRequest](docs/PatchedTokenRequest.md) + - [PatchedTotpDeviceRequest](docs/PatchedTotpDeviceRequest.md) + - [PatchedUserDeleteStageRequest](docs/PatchedUserDeleteStageRequest.md) + - [PatchedUserLoginStageRequest](docs/PatchedUserLoginStageRequest.md) + - [PatchedUserLogoutStageRequest](docs/PatchedUserLogoutStageRequest.md) + - [PatchedUserOAuthSourceConnectionRequest](docs/PatchedUserOAuthSourceConnectionRequest.md) + - [PatchedUserPlexSourceConnectionRequest](docs/PatchedUserPlexSourceConnectionRequest.md) + - [PatchedUserRequest](docs/PatchedUserRequest.md) + - [PatchedUserSamlSourceConnectionRequest](docs/PatchedUserSamlSourceConnectionRequest.md) + - [PatchedUserWriteStageRequest](docs/PatchedUserWriteStageRequest.md) + - [PatchedWebAuthnDeviceRequest](docs/PatchedWebAuthnDeviceRequest.md) + - [Permission](docs/Permission.md) + - [PermissionAssignRequest](docs/PermissionAssignRequest.md) + - [PermissionAssignResult](docs/PermissionAssignResult.md) + - [PlexAuthenticationChallenge](docs/PlexAuthenticationChallenge.md) + - [PlexAuthenticationChallengeResponseRequest](docs/PlexAuthenticationChallengeResponseRequest.md) + - [PlexSource](docs/PlexSource.md) + - [PlexSourcePropertyMapping](docs/PlexSourcePropertyMapping.md) + - [PlexSourcePropertyMappingRequest](docs/PlexSourcePropertyMappingRequest.md) + - [PlexSourceRequest](docs/PlexSourceRequest.md) + - [PlexTokenRedeemRequest](docs/PlexTokenRedeemRequest.md) + - [Policy](docs/Policy.md) + - [PolicyBinding](docs/PolicyBinding.md) + - [PolicyBindingRequest](docs/PolicyBindingRequest.md) + - [PolicyEngineMode](docs/PolicyEngineMode.md) + - [PolicyRequest](docs/PolicyRequest.md) + - [PolicyTestRequest](docs/PolicyTestRequest.md) + - [PolicyTestResult](docs/PolicyTestResult.md) + - [Prompt](docs/Prompt.md) + - [PromptChallenge](docs/PromptChallenge.md) + - [PromptChallengeResponseRequest](docs/PromptChallengeResponseRequest.md) + - [PromptRequest](docs/PromptRequest.md) + - [PromptStage](docs/PromptStage.md) + - [PromptStageRequest](docs/PromptStageRequest.md) + - [PromptTypeEnum](docs/PromptTypeEnum.md) + - [PropertyMapping](docs/PropertyMapping.md) + - [PropertyMappingPreview](docs/PropertyMappingPreview.md) + - [PropertyMappingTestRequest](docs/PropertyMappingTestRequest.md) + - [PropertyMappingTestResult](docs/PropertyMappingTestResult.md) + - [ProtocolEnum](docs/ProtocolEnum.md) + - [Provider](docs/Provider.md) + - [ProviderEnum](docs/ProviderEnum.md) + - [ProviderModelEnum](docs/ProviderModelEnum.md) + - [ProviderRequest](docs/ProviderRequest.md) + - [ProviderTypeEnum](docs/ProviderTypeEnum.md) + - [ProxyMode](docs/ProxyMode.md) + - [ProxyOutpostConfig](docs/ProxyOutpostConfig.md) + - [ProxyProvider](docs/ProxyProvider.md) + - [ProxyProviderRequest](docs/ProxyProviderRequest.md) + - [RacPropertyMapping](docs/RacPropertyMapping.md) + - [RacPropertyMappingRequest](docs/RacPropertyMappingRequest.md) + - [RacProvider](docs/RacProvider.md) + - [RacProviderRequest](docs/RacProviderRequest.md) + - [RadiusCheckAccess](docs/RadiusCheckAccess.md) + - [RadiusOutpostConfig](docs/RadiusOutpostConfig.md) + - [RadiusProvider](docs/RadiusProvider.md) + - [RadiusProviderPropertyMapping](docs/RadiusProviderPropertyMapping.md) + - [RadiusProviderPropertyMappingRequest](docs/RadiusProviderPropertyMappingRequest.md) + - [RadiusProviderRequest](docs/RadiusProviderRequest.md) + - [RedirectChallenge](docs/RedirectChallenge.md) + - [Reputation](docs/Reputation.md) + - [ReputationPolicy](docs/ReputationPolicy.md) + - [ReputationPolicyRequest](docs/ReputationPolicyRequest.md) + - [ResidentKeyRequirementEnum](docs/ResidentKeyRequirementEnum.md) + - [Role](docs/Role.md) + - [RoleAssignedObjectPermission](docs/RoleAssignedObjectPermission.md) + - [RoleObjectPermission](docs/RoleObjectPermission.md) + - [RoleRequest](docs/RoleRequest.md) + - [SamlMetadata](docs/SamlMetadata.md) + - [SamlPropertyMapping](docs/SamlPropertyMapping.md) + - [SamlPropertyMappingRequest](docs/SamlPropertyMappingRequest.md) + - [SamlProvider](docs/SamlProvider.md) + - [SamlProviderRequest](docs/SamlProviderRequest.md) + - [SamlSource](docs/SamlSource.md) + - [SamlSourcePropertyMapping](docs/SamlSourcePropertyMapping.md) + - [SamlSourcePropertyMappingRequest](docs/SamlSourcePropertyMappingRequest.md) + - [SamlSourceRequest](docs/SamlSourceRequest.md) + - [ScimMapping](docs/ScimMapping.md) + - [ScimMappingRequest](docs/ScimMappingRequest.md) + - [ScimProvider](docs/ScimProvider.md) + - [ScimProviderGroup](docs/ScimProviderGroup.md) + - [ScimProviderGroupRequest](docs/ScimProviderGroupRequest.md) + - [ScimProviderRequest](docs/ScimProviderRequest.md) + - [ScimProviderUser](docs/ScimProviderUser.md) + - [ScimProviderUserRequest](docs/ScimProviderUserRequest.md) + - [ScimSource](docs/ScimSource.md) + - [ScimSourceGroup](docs/ScimSourceGroup.md) + - [ScimSourceGroupRequest](docs/ScimSourceGroupRequest.md) + - [ScimSourcePropertyMapping](docs/ScimSourcePropertyMapping.md) + - [ScimSourcePropertyMappingRequest](docs/ScimSourcePropertyMappingRequest.md) + - [ScimSourceRequest](docs/ScimSourceRequest.md) + - [ScimSourceUser](docs/ScimSourceUser.md) + - [ScimSourceUserRequest](docs/ScimSourceUserRequest.md) + - [ScopeMapping](docs/ScopeMapping.md) + - [ScopeMappingRequest](docs/ScopeMappingRequest.md) + - [SelectableStage](docs/SelectableStage.md) + - [ServiceConnection](docs/ServiceConnection.md) + - [ServiceConnectionRequest](docs/ServiceConnectionRequest.md) + - [ServiceConnectionState](docs/ServiceConnectionState.md) + - [SessionUser](docs/SessionUser.md) + - [Settings](docs/Settings.md) + - [SettingsRequest](docs/SettingsRequest.md) + - [SeverityEnum](docs/SeverityEnum.md) + - [ShellChallenge](docs/ShellChallenge.md) + - [SignatureAlgorithmEnum](docs/SignatureAlgorithmEnum.md) + - [SmsDevice](docs/SmsDevice.md) + - [SmsDeviceRequest](docs/SmsDeviceRequest.md) + - [Source](docs/Source.md) + - [SourceRequest](docs/SourceRequest.md) + - [SourceStage](docs/SourceStage.md) + - [SourceStageRequest](docs/SourceStageRequest.md) + - [SourceType](docs/SourceType.md) + - [SpBindingEnum](docs/SpBindingEnum.md) + - [Stage](docs/Stage.md) + - [StagePrompt](docs/StagePrompt.md) + - [StageRequest](docs/StageRequest.md) + - [StaticDevice](docs/StaticDevice.md) + - [StaticDeviceRequest](docs/StaticDeviceRequest.md) + - [StaticDeviceToken](docs/StaticDeviceToken.md) + - [StaticDeviceTokenRequest](docs/StaticDeviceTokenRequest.md) + - [SubModeEnum](docs/SubModeEnum.md) + - [SyncObjectModelEnum](docs/SyncObjectModelEnum.md) + - [SyncObjectRequest](docs/SyncObjectRequest.md) + - [SyncObjectResult](docs/SyncObjectResult.md) + - [SyncStatus](docs/SyncStatus.md) + - [SystemInfo](docs/SystemInfo.md) + - [SystemInfoRuntime](docs/SystemInfoRuntime.md) + - [SystemTask](docs/SystemTask.md) + - [SystemTaskStatusEnum](docs/SystemTaskStatusEnum.md) + - [Tenant](docs/Tenant.md) + - [TenantAdminGroupRequestRequest](docs/TenantAdminGroupRequestRequest.md) + - [TenantRecoveryKeyRequestRequest](docs/TenantRecoveryKeyRequestRequest.md) + - [TenantRecoveryKeyResponse](docs/TenantRecoveryKeyResponse.md) + - [TenantRequest](docs/TenantRequest.md) + - [Token](docs/Token.md) + - [TokenModel](docs/TokenModel.md) + - [TokenRequest](docs/TokenRequest.md) + - [TokenSetKeyRequest](docs/TokenSetKeyRequest.md) + - [TokenView](docs/TokenView.md) + - [TotpDevice](docs/TotpDevice.md) + - [TotpDeviceRequest](docs/TotpDeviceRequest.md) + - [TransactionApplicationRequest](docs/TransactionApplicationRequest.md) + - [TransactionApplicationResponse](docs/TransactionApplicationResponse.md) + - [TypeCreate](docs/TypeCreate.md) + - [UiThemeEnum](docs/UiThemeEnum.md) + - [UsedBy](docs/UsedBy.md) + - [UsedByActionEnum](docs/UsedByActionEnum.md) + - [User](docs/User.md) + - [UserAccountRequest](docs/UserAccountRequest.md) + - [UserAssignedObjectPermission](docs/UserAssignedObjectPermission.md) + - [UserConsent](docs/UserConsent.md) + - [UserCreationModeEnum](docs/UserCreationModeEnum.md) + - [UserDeleteStage](docs/UserDeleteStage.md) + - [UserDeleteStageRequest](docs/UserDeleteStageRequest.md) + - [UserFieldsEnum](docs/UserFieldsEnum.md) + - [UserGroup](docs/UserGroup.md) + - [UserGroupRequest](docs/UserGroupRequest.md) + - [UserLoginChallenge](docs/UserLoginChallenge.md) + - [UserLoginChallengeResponseRequest](docs/UserLoginChallengeResponseRequest.md) + - [UserLoginStage](docs/UserLoginStage.md) + - [UserLoginStageRequest](docs/UserLoginStageRequest.md) + - [UserLogoutStage](docs/UserLogoutStage.md) + - [UserLogoutStageRequest](docs/UserLogoutStageRequest.md) + - [UserMatchingModeEnum](docs/UserMatchingModeEnum.md) + - [UserMetrics](docs/UserMetrics.md) + - [UserOAuthSourceConnection](docs/UserOAuthSourceConnection.md) + - [UserOAuthSourceConnectionRequest](docs/UserOAuthSourceConnectionRequest.md) + - [UserObjectPermission](docs/UserObjectPermission.md) + - [UserPasswordSetRequest](docs/UserPasswordSetRequest.md) + - [UserPath](docs/UserPath.md) + - [UserPlexSourceConnection](docs/UserPlexSourceConnection.md) + - [UserPlexSourceConnectionRequest](docs/UserPlexSourceConnectionRequest.md) + - [UserRequest](docs/UserRequest.md) + - [UserSamlSourceConnection](docs/UserSamlSourceConnection.md) + - [UserSamlSourceConnectionRequest](docs/UserSamlSourceConnectionRequest.md) + - [UserSelf](docs/UserSelf.md) + - [UserSelfGroups](docs/UserSelfGroups.md) + - [UserServiceAccountRequest](docs/UserServiceAccountRequest.md) + - [UserServiceAccountResponse](docs/UserServiceAccountResponse.md) + - [UserSetting](docs/UserSetting.md) + - [UserSourceConnection](docs/UserSourceConnection.md) + - [UserTypeEnum](docs/UserTypeEnum.md) + - [UserVerificationEnum](docs/UserVerificationEnum.md) + - [UserWriteStage](docs/UserWriteStage.md) + - [UserWriteStageRequest](docs/UserWriteStageRequest.md) + - [ValidationError](docs/ValidationError.md) + - [Version](docs/Version.md) + - [WebAuthnDevice](docs/WebAuthnDevice.md) + - [WebAuthnDeviceRequest](docs/WebAuthnDeviceRequest.md) + - [WebAuthnDeviceType](docs/WebAuthnDeviceType.md) + - [WebAuthnDeviceTypeRequest](docs/WebAuthnDeviceTypeRequest.md) + - [Workers](docs/Workers.md) + + +To get access to the crate's generated documentation, use: + +``` +cargo doc --open +``` + +## Author + +hello@goauthentik.io + diff --git a/config.yaml b/config.yaml new file mode 100644 index 0000000..96f7eca --- /dev/null +++ b/config.yaml @@ -0,0 +1,15 @@ +--- +templateDir: /local/templates/ +additionalProperties: + packageName: authentik-client + avoidBoxedModels: true + bestFitInt: true + preferUnsignedInt: true + library: reqwest + supportAsync: true + supportMiddleware: true + repositoryUrl: https://github.com/authentik-community/client-rust.git +files: + README.mustache: + templateType: SupportingFiles + destinationFilename: README.md diff --git a/docs/AccessDeniedChallenge.md b/docs/AccessDeniedChallenge.md new file mode 100644 index 0000000..b1a72ed --- /dev/null +++ b/docs/AccessDeniedChallenge.md @@ -0,0 +1,16 @@ +# AccessDeniedChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**flow_info** | Option<[**models::ContextualFlowInfo**](ContextualFlowInfo.md)> | | [optional] +**component** | Option<**String**> | | [optional][default to ak-stage-access-denied] +**response_errors** | Option<[**std::collections::HashMap>**](Vec.md)> | | [optional] +**pending_user** | **String** | | +**pending_user_avatar** | **String** | | +**error_message** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AdminApi.md b/docs/AdminApi.md new file mode 100644 index 0000000..19a354b --- /dev/null +++ b/docs/AdminApi.md @@ -0,0 +1,294 @@ +# \AdminApi + +All URIs are relative to *http://localhost/api/v3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**admin_apps_list**](AdminApi.md#admin_apps_list) | **GET** /admin/apps/ | +[**admin_metrics_retrieve**](AdminApi.md#admin_metrics_retrieve) | **GET** /admin/metrics/ | +[**admin_models_list**](AdminApi.md#admin_models_list) | **GET** /admin/models/ | +[**admin_settings_partial_update**](AdminApi.md#admin_settings_partial_update) | **PATCH** /admin/settings/ | +[**admin_settings_retrieve**](AdminApi.md#admin_settings_retrieve) | **GET** /admin/settings/ | +[**admin_settings_update**](AdminApi.md#admin_settings_update) | **PUT** /admin/settings/ | +[**admin_system_create**](AdminApi.md#admin_system_create) | **POST** /admin/system/ | +[**admin_system_retrieve**](AdminApi.md#admin_system_retrieve) | **GET** /admin/system/ | +[**admin_version_retrieve**](AdminApi.md#admin_version_retrieve) | **GET** /admin/version/ | +[**admin_workers_retrieve**](AdminApi.md#admin_workers_retrieve) | **GET** /admin/workers/ | + + + +## admin_apps_list + +> Vec admin_apps_list() + + +Read-only view list all installed apps + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**Vec**](App.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## admin_metrics_retrieve + +> models::LoginMetrics admin_metrics_retrieve() + + +Login Metrics per 1h + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**models::LoginMetrics**](LoginMetrics.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## admin_models_list + +> Vec admin_models_list() + + +Read-only view list all installed models + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**Vec**](App.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## admin_settings_partial_update + +> models::Settings admin_settings_partial_update(patched_settings_request) + + +Settings view + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**patched_settings_request** | Option<[**PatchedSettingsRequest**](PatchedSettingsRequest.md)> | | | + +### Return type + +[**models::Settings**](Settings.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## admin_settings_retrieve + +> models::Settings admin_settings_retrieve() + + +Settings view + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**models::Settings**](Settings.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## admin_settings_update + +> models::Settings admin_settings_update(settings_request) + + +Settings view + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**settings_request** | Option<[**SettingsRequest**](SettingsRequest.md)> | | | + +### Return type + +[**models::Settings**](Settings.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## admin_system_create + +> models::SystemInfo admin_system_create() + + +Get system information. + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**models::SystemInfo**](SystemInfo.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## admin_system_retrieve + +> models::SystemInfo admin_system_retrieve() + + +Get system information. + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**models::SystemInfo**](SystemInfo.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## admin_version_retrieve + +> models::Version admin_version_retrieve() + + +Get running and latest version. + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**models::Version**](Version.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## admin_workers_retrieve + +> models::Workers admin_workers_retrieve() + + +Get currently connected worker count. + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**models::Workers**](Workers.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/AlgEnum.md b/docs/AlgEnum.md new file mode 100644 index 0000000..a7b075f --- /dev/null +++ b/docs/AlgEnum.md @@ -0,0 +1,13 @@ +# AlgEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Rsa | rsa | +| Ecdsa | ecdsa | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/App.md b/docs/App.md new file mode 100644 index 0000000..0d58ea7 --- /dev/null +++ b/docs/App.md @@ -0,0 +1,12 @@ +# App + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**label** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AppEnum.md b/docs/AppEnum.md new file mode 100644 index 0000000..6b6b8c1 --- /dev/null +++ b/docs/AppEnum.md @@ -0,0 +1,68 @@ +# AppEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Tenants | authentik.tenants | +| Admin | authentik.admin | +| Api | authentik.api | +| Crypto | authentik.crypto | +| Flows | authentik.flows | +| Outposts | authentik.outposts | +| PoliciesPeriodDummy | authentik.policies.dummy | +| PoliciesPeriodEventMatcher | authentik.policies.event_matcher | +| PoliciesPeriodExpiry | authentik.policies.expiry | +| PoliciesPeriodExpression | authentik.policies.expression | +| PoliciesPeriodGeoip | authentik.policies.geoip | +| PoliciesPeriodPassword | authentik.policies.password | +| PoliciesPeriodReputation | authentik.policies.reputation | +| Policies | authentik.policies | +| ProvidersPeriodLdap | authentik.providers.ldap | +| ProvidersPeriodOauth2 | authentik.providers.oauth2 | +| ProvidersPeriodProxy | authentik.providers.proxy | +| ProvidersPeriodRadius | authentik.providers.radius | +| ProvidersPeriodSaml | authentik.providers.saml | +| ProvidersPeriodScim | authentik.providers.scim | +| Rbac | authentik.rbac | +| Recovery | authentik.recovery | +| SourcesPeriodLdap | authentik.sources.ldap | +| SourcesPeriodOauth | authentik.sources.oauth | +| SourcesPeriodPlex | authentik.sources.plex | +| SourcesPeriodSaml | authentik.sources.saml | +| SourcesPeriodScim | authentik.sources.scim | +| StagesPeriodAuthenticator | authentik.stages.authenticator | +| StagesPeriodAuthenticatorDuo | authentik.stages.authenticator_duo | +| StagesPeriodAuthenticatorSms | authentik.stages.authenticator_sms | +| StagesPeriodAuthenticatorStatic | authentik.stages.authenticator_static | +| StagesPeriodAuthenticatorTotp | authentik.stages.authenticator_totp | +| StagesPeriodAuthenticatorValidate | authentik.stages.authenticator_validate | +| StagesPeriodAuthenticatorWebauthn | authentik.stages.authenticator_webauthn | +| StagesPeriodCaptcha | authentik.stages.captcha | +| StagesPeriodConsent | authentik.stages.consent | +| StagesPeriodDeny | authentik.stages.deny | +| StagesPeriodDummy | authentik.stages.dummy | +| StagesPeriodEmail | authentik.stages.email | +| StagesPeriodIdentification | authentik.stages.identification | +| StagesPeriodInvitation | authentik.stages.invitation | +| StagesPeriodPassword | authentik.stages.password | +| StagesPeriodPrompt | authentik.stages.prompt | +| StagesPeriodUserDelete | authentik.stages.user_delete | +| StagesPeriodUserLogin | authentik.stages.user_login | +| StagesPeriodUserLogout | authentik.stages.user_logout | +| StagesPeriodUserWrite | authentik.stages.user_write | +| Brands | authentik.brands | +| Blueprints | authentik.blueprints | +| Core | authentik.core | +| Enterprise | authentik.enterprise | +| EnterprisePeriodAudit | authentik.enterprise.audit | +| EnterprisePeriodProvidersPeriodGoogleWorkspace | authentik.enterprise.providers.google_workspace | +| EnterprisePeriodProvidersPeriodMicrosoftEntra | authentik.enterprise.providers.microsoft_entra | +| EnterprisePeriodProvidersPeriodRac | authentik.enterprise.providers.rac | +| EnterprisePeriodStagesPeriodSource | authentik.enterprise.stages.source | +| Events | authentik.events | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AppleChallengeResponseRequest.md b/docs/AppleChallengeResponseRequest.md new file mode 100644 index 0000000..3fd7dce --- /dev/null +++ b/docs/AppleChallengeResponseRequest.md @@ -0,0 +1,11 @@ +# AppleChallengeResponseRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | Option<**String**> | | [optional][default to ak-source-oauth-apple] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AppleLoginChallenge.md b/docs/AppleLoginChallenge.md new file mode 100644 index 0000000..0cfdf0e --- /dev/null +++ b/docs/AppleLoginChallenge.md @@ -0,0 +1,17 @@ +# AppleLoginChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**flow_info** | Option<[**models::ContextualFlowInfo**](ContextualFlowInfo.md)> | | [optional] +**component** | Option<**String**> | | [optional][default to ak-source-oauth-apple] +**response_errors** | Option<[**std::collections::HashMap>**](Vec.md)> | | [optional] +**client_id** | **String** | | +**scope** | **String** | | +**redirect_uri** | **String** | | +**state** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Application.md b/docs/Application.md new file mode 100644 index 0000000..71b690a --- /dev/null +++ b/docs/Application.md @@ -0,0 +1,25 @@ +# Application + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | Application's display Name. | +**slug** | **String** | Internal application name, used in URLs. | +**provider** | Option<**i32**> | | [optional] +**provider_obj** | [**models::Provider**](Provider.md) | | [readonly] +**backchannel_providers** | Option<**Vec**> | | [optional] +**backchannel_providers_obj** | [**Vec**](Provider.md) | | [readonly] +**launch_url** | Option<**String**> | Allow formatting of launch URL | [readonly] +**open_in_new_tab** | Option<**bool**> | Open launch URL in a new browser tab or window. | [optional] +**meta_launch_url** | Option<**String**> | | [optional] +**meta_icon** | Option<**String**> | Get the URL to the App Icon image. If the name is /static or starts with http it is returned as-is | [readonly] +**meta_description** | Option<**String**> | | [optional] +**meta_publisher** | Option<**String**> | | [optional] +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**group** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ApplicationRequest.md b/docs/ApplicationRequest.md new file mode 100644 index 0000000..8276f2d --- /dev/null +++ b/docs/ApplicationRequest.md @@ -0,0 +1,20 @@ +# ApplicationRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | Application's display Name. | +**slug** | **String** | Internal application name, used in URLs. | +**provider** | Option<**i32**> | | [optional] +**backchannel_providers** | Option<**Vec**> | | [optional] +**open_in_new_tab** | Option<**bool**> | Open launch URL in a new browser tab or window. | [optional] +**meta_launch_url** | Option<**String**> | | [optional] +**meta_description** | Option<**String**> | | [optional] +**meta_publisher** | Option<**String**> | | [optional] +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**group** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthModeEnum.md b/docs/AuthModeEnum.md new file mode 100644 index 0000000..4dca7a2 --- /dev/null +++ b/docs/AuthModeEnum.md @@ -0,0 +1,13 @@ +# AuthModeEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Static | static | +| Prompt | prompt | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthTypeEnum.md b/docs/AuthTypeEnum.md new file mode 100644 index 0000000..5546e9d --- /dev/null +++ b/docs/AuthTypeEnum.md @@ -0,0 +1,13 @@ +# AuthTypeEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Basic | basic | +| Bearer | bearer | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatedSession.md b/docs/AuthenticatedSession.md new file mode 100644 index 0000000..ff7d521 --- /dev/null +++ b/docs/AuthenticatedSession.md @@ -0,0 +1,20 @@ +# AuthenticatedSession + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**current** | **bool** | Check if session is currently active session | [readonly] +**user_agent** | [**models::AuthenticatedSessionUserAgent**](AuthenticatedSession_user_agent.md) | | +**geo_ip** | Option<[**models::AuthenticatedSessionGeoIp**](AuthenticatedSession_geo_ip.md)> | | +**asn** | Option<[**models::AuthenticatedSessionAsn**](AuthenticatedSession_asn.md)> | | +**user** | **i32** | | +**last_ip** | **String** | | +**last_user_agent** | Option<**String**> | | [optional] +**last_used** | **String** | | [readonly] +**expires** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatedSessionAsn.md b/docs/AuthenticatedSessionAsn.md new file mode 100644 index 0000000..657c558 --- /dev/null +++ b/docs/AuthenticatedSessionAsn.md @@ -0,0 +1,13 @@ +# AuthenticatedSessionAsn + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**asn** | **i32** | | +**as_org** | Option<**String**> | | +**network** | Option<**String**> | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatedSessionGeoIp.md b/docs/AuthenticatedSessionGeoIp.md new file mode 100644 index 0000000..62d0817 --- /dev/null +++ b/docs/AuthenticatedSessionGeoIp.md @@ -0,0 +1,15 @@ +# AuthenticatedSessionGeoIp + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**continent** | **String** | | +**country** | **String** | | +**lat** | **f64** | | +**long** | **f64** | | +**city** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatedSessionUserAgent.md b/docs/AuthenticatedSessionUserAgent.md new file mode 100644 index 0000000..13b4c74 --- /dev/null +++ b/docs/AuthenticatedSessionUserAgent.md @@ -0,0 +1,14 @@ +# AuthenticatedSessionUserAgent + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**device** | [**models::AuthenticatedSessionUserAgentDevice**](AuthenticatedSession_user_agent_device.md) | | +**os** | [**models::AuthenticatedSessionUserAgentOs**](AuthenticatedSession_user_agent_os.md) | | +**user_agent** | [**models::AuthenticatedSessionUserAgentUserAgent**](AuthenticatedSession_user_agent_user_agent.md) | | +**string** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatedSessionUserAgentDevice.md b/docs/AuthenticatedSessionUserAgentDevice.md new file mode 100644 index 0000000..f76b55d --- /dev/null +++ b/docs/AuthenticatedSessionUserAgentDevice.md @@ -0,0 +1,13 @@ +# AuthenticatedSessionUserAgentDevice + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**brand** | **String** | | +**family** | **String** | | +**model** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatedSessionUserAgentOs.md b/docs/AuthenticatedSessionUserAgentOs.md new file mode 100644 index 0000000..e4c9c1a --- /dev/null +++ b/docs/AuthenticatedSessionUserAgentOs.md @@ -0,0 +1,15 @@ +# AuthenticatedSessionUserAgentOs + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**family** | **String** | | +**major** | **String** | | +**minor** | **String** | | +**patch** | **String** | | +**patch_minor** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatedSessionUserAgentUserAgent.md b/docs/AuthenticatedSessionUserAgentUserAgent.md new file mode 100644 index 0000000..1c5bccd --- /dev/null +++ b/docs/AuthenticatedSessionUserAgentUserAgent.md @@ -0,0 +1,14 @@ +# AuthenticatedSessionUserAgentUserAgent + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**family** | **String** | | +**major** | **String** | | +**minor** | **String** | | +**patch** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticationEnum.md b/docs/AuthenticationEnum.md new file mode 100644 index 0000000..41cf132 --- /dev/null +++ b/docs/AuthenticationEnum.md @@ -0,0 +1,16 @@ +# AuthenticationEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| None | none | +| RequireAuthenticated | require_authenticated | +| RequireUnauthenticated | require_unauthenticated | +| RequireSuperuser | require_superuser | +| RequireOutpost | require_outpost | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorAttachmentEnum.md b/docs/AuthenticatorAttachmentEnum.md new file mode 100644 index 0000000..ea4eb17 --- /dev/null +++ b/docs/AuthenticatorAttachmentEnum.md @@ -0,0 +1,13 @@ +# AuthenticatorAttachmentEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Platform | platform | +| CrossPlatform | cross-platform | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorDuoChallenge.md b/docs/AuthenticatorDuoChallenge.md new file mode 100644 index 0000000..81695fe --- /dev/null +++ b/docs/AuthenticatorDuoChallenge.md @@ -0,0 +1,18 @@ +# AuthenticatorDuoChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**flow_info** | Option<[**models::ContextualFlowInfo**](ContextualFlowInfo.md)> | | [optional] +**component** | Option<**String**> | | [optional][default to ak-stage-authenticator-duo] +**response_errors** | Option<[**std::collections::HashMap>**](Vec.md)> | | [optional] +**pending_user** | **String** | | +**pending_user_avatar** | **String** | | +**activation_barcode** | **String** | | +**activation_code** | **String** | | +**stage_uuid** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorDuoChallengeResponseRequest.md b/docs/AuthenticatorDuoChallengeResponseRequest.md new file mode 100644 index 0000000..d7859d3 --- /dev/null +++ b/docs/AuthenticatorDuoChallengeResponseRequest.md @@ -0,0 +1,11 @@ +# AuthenticatorDuoChallengeResponseRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | Option<**String**> | | [optional][default to ak-stage-authenticator-duo] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorDuoStage.md b/docs/AuthenticatorDuoStage.md new file mode 100644 index 0000000..1e42bb0 --- /dev/null +++ b/docs/AuthenticatorDuoStage.md @@ -0,0 +1,22 @@ +# AuthenticatorDuoStage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**component** | **String** | Get object type so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**flow_set** | Option<[**Vec**](FlowSet.md)> | | [optional] +**configure_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. | [optional] +**friendly_name** | Option<**String**> | | [optional] +**client_id** | **String** | | +**api_hostname** | **String** | | +**admin_integration_key** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorDuoStageDeviceImportResponse.md b/docs/AuthenticatorDuoStageDeviceImportResponse.md new file mode 100644 index 0000000..88cf253 --- /dev/null +++ b/docs/AuthenticatorDuoStageDeviceImportResponse.md @@ -0,0 +1,12 @@ +# AuthenticatorDuoStageDeviceImportResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | **i32** | | [readonly] +**error** | **String** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorDuoStageManualDeviceImportRequest.md b/docs/AuthenticatorDuoStageManualDeviceImportRequest.md new file mode 100644 index 0000000..12a709b --- /dev/null +++ b/docs/AuthenticatorDuoStageManualDeviceImportRequest.md @@ -0,0 +1,12 @@ +# AuthenticatorDuoStageManualDeviceImportRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**duo_user_id** | **String** | | +**username** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorDuoStageRequest.md b/docs/AuthenticatorDuoStageRequest.md new file mode 100644 index 0000000..b5d642d --- /dev/null +++ b/docs/AuthenticatorDuoStageRequest.md @@ -0,0 +1,19 @@ +# AuthenticatorDuoStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**configure_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. | [optional] +**friendly_name** | Option<**String**> | | [optional] +**client_id** | **String** | | +**client_secret** | **String** | | +**api_hostname** | **String** | | +**admin_integration_key** | Option<**String**> | | [optional] +**admin_secret_key** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorSmsChallenge.md b/docs/AuthenticatorSmsChallenge.md new file mode 100644 index 0000000..c5d2846 --- /dev/null +++ b/docs/AuthenticatorSmsChallenge.md @@ -0,0 +1,16 @@ +# AuthenticatorSmsChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**flow_info** | Option<[**models::ContextualFlowInfo**](ContextualFlowInfo.md)> | | [optional] +**component** | Option<**String**> | | [optional][default to ak-stage-authenticator-sms] +**response_errors** | Option<[**std::collections::HashMap>**](Vec.md)> | | [optional] +**pending_user** | **String** | | +**pending_user_avatar** | **String** | | +**phone_number_required** | Option<**bool**> | | [optional][default to true] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorSmsChallengeResponseRequest.md b/docs/AuthenticatorSmsChallengeResponseRequest.md new file mode 100644 index 0000000..be33239 --- /dev/null +++ b/docs/AuthenticatorSmsChallengeResponseRequest.md @@ -0,0 +1,13 @@ +# AuthenticatorSmsChallengeResponseRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | Option<**String**> | | [optional][default to ak-stage-authenticator-sms] +**code** | Option<**i32**> | | [optional] +**phone_number** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorSmsStage.md b/docs/AuthenticatorSmsStage.md new file mode 100644 index 0000000..db4d22b --- /dev/null +++ b/docs/AuthenticatorSmsStage.md @@ -0,0 +1,27 @@ +# AuthenticatorSmsStage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**component** | **String** | Get object type so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**flow_set** | Option<[**Vec**](FlowSet.md)> | | [optional] +**configure_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. | [optional] +**friendly_name** | Option<**String**> | | [optional] +**provider** | [**models::ProviderEnum**](ProviderEnum.md) | | +**from_number** | **String** | | +**account_sid** | **String** | | +**auth** | **String** | | +**auth_password** | Option<**String**> | | [optional] +**auth_type** | Option<[**models::AuthTypeEnum**](AuthTypeEnum.md)> | | [optional] +**verify_only** | Option<**bool**> | When enabled, the Phone number is only used during enrollment to verify the users authenticity. Only a hash of the phone number is saved to ensure it is not reused in the future. | [optional] +**mapping** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Optionally modify the payload being sent to custom providers. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorSmsStageRequest.md b/docs/AuthenticatorSmsStageRequest.md new file mode 100644 index 0000000..c4f5c09 --- /dev/null +++ b/docs/AuthenticatorSmsStageRequest.md @@ -0,0 +1,22 @@ +# AuthenticatorSmsStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**configure_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. | [optional] +**friendly_name** | Option<**String**> | | [optional] +**provider** | [**models::ProviderEnum**](ProviderEnum.md) | | +**from_number** | **String** | | +**account_sid** | **String** | | +**auth** | **String** | | +**auth_password** | Option<**String**> | | [optional] +**auth_type** | Option<[**models::AuthTypeEnum**](AuthTypeEnum.md)> | | [optional] +**verify_only** | Option<**bool**> | When enabled, the Phone number is only used during enrollment to verify the users authenticity. Only a hash of the phone number is saved to ensure it is not reused in the future. | [optional] +**mapping** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Optionally modify the payload being sent to custom providers. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorStaticChallenge.md b/docs/AuthenticatorStaticChallenge.md new file mode 100644 index 0000000..f929a99 --- /dev/null +++ b/docs/AuthenticatorStaticChallenge.md @@ -0,0 +1,16 @@ +# AuthenticatorStaticChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**flow_info** | Option<[**models::ContextualFlowInfo**](ContextualFlowInfo.md)> | | [optional] +**component** | Option<**String**> | | [optional][default to ak-stage-authenticator-static] +**response_errors** | Option<[**std::collections::HashMap>**](Vec.md)> | | [optional] +**pending_user** | **String** | | +**pending_user_avatar** | **String** | | +**codes** | **Vec** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorStaticChallengeResponseRequest.md b/docs/AuthenticatorStaticChallengeResponseRequest.md new file mode 100644 index 0000000..724e76c --- /dev/null +++ b/docs/AuthenticatorStaticChallengeResponseRequest.md @@ -0,0 +1,11 @@ +# AuthenticatorStaticChallengeResponseRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | Option<**String**> | | [optional][default to ak-stage-authenticator-static] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorStaticStage.md b/docs/AuthenticatorStaticStage.md new file mode 100644 index 0000000..e023103 --- /dev/null +++ b/docs/AuthenticatorStaticStage.md @@ -0,0 +1,21 @@ +# AuthenticatorStaticStage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**component** | **String** | Get object type so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**flow_set** | Option<[**Vec**](FlowSet.md)> | | [optional] +**configure_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. | [optional] +**friendly_name** | Option<**String**> | | [optional] +**token_count** | Option<**u32**> | | [optional] +**token_length** | Option<**u32**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorStaticStageRequest.md b/docs/AuthenticatorStaticStageRequest.md new file mode 100644 index 0000000..29cf121 --- /dev/null +++ b/docs/AuthenticatorStaticStageRequest.md @@ -0,0 +1,16 @@ +# AuthenticatorStaticStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**configure_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. | [optional] +**friendly_name** | Option<**String**> | | [optional] +**token_count** | Option<**u32**> | | [optional] +**token_length** | Option<**u32**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorTotpChallenge.md b/docs/AuthenticatorTotpChallenge.md new file mode 100644 index 0000000..5a8c43c --- /dev/null +++ b/docs/AuthenticatorTotpChallenge.md @@ -0,0 +1,16 @@ +# AuthenticatorTotpChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**flow_info** | Option<[**models::ContextualFlowInfo**](ContextualFlowInfo.md)> | | [optional] +**component** | Option<**String**> | | [optional][default to ak-stage-authenticator-totp] +**response_errors** | Option<[**std::collections::HashMap>**](Vec.md)> | | [optional] +**pending_user** | **String** | | +**pending_user_avatar** | **String** | | +**config_url** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorTotpChallengeResponseRequest.md b/docs/AuthenticatorTotpChallengeResponseRequest.md new file mode 100644 index 0000000..ee3e1c9 --- /dev/null +++ b/docs/AuthenticatorTotpChallengeResponseRequest.md @@ -0,0 +1,12 @@ +# AuthenticatorTotpChallengeResponseRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | Option<**String**> | | [optional][default to ak-stage-authenticator-totp] +**code** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorTotpStage.md b/docs/AuthenticatorTotpStage.md new file mode 100644 index 0000000..cf74a90 --- /dev/null +++ b/docs/AuthenticatorTotpStage.md @@ -0,0 +1,20 @@ +# AuthenticatorTotpStage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**component** | **String** | Get object type so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**flow_set** | Option<[**Vec**](FlowSet.md)> | | [optional] +**configure_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. | [optional] +**friendly_name** | Option<**String**> | | [optional] +**digits** | [**models::DigitsEnum**](DigitsEnum.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorTotpStageRequest.md b/docs/AuthenticatorTotpStageRequest.md new file mode 100644 index 0000000..9256ed9 --- /dev/null +++ b/docs/AuthenticatorTotpStageRequest.md @@ -0,0 +1,15 @@ +# AuthenticatorTotpStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**configure_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. | [optional] +**friendly_name** | Option<**String**> | | [optional] +**digits** | [**models::DigitsEnum**](DigitsEnum.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorValidateStage.md b/docs/AuthenticatorValidateStage.md new file mode 100644 index 0000000..0756baf --- /dev/null +++ b/docs/AuthenticatorValidateStage.md @@ -0,0 +1,24 @@ +# AuthenticatorValidateStage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**component** | **String** | Get object type so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**flow_set** | Option<[**Vec**](FlowSet.md)> | | [optional] +**not_configured_action** | Option<[**models::NotConfiguredActionEnum**](NotConfiguredActionEnum.md)> | | [optional] +**device_classes** | Option<[**Vec**](DeviceClassesEnum.md)> | Device classes which can be used to authenticate | [optional] +**configuration_stages** | Option<[**Vec**](uuid::Uuid.md)> | Stages used to configure Authenticator when user doesn't have any compatible devices. After this configuration Stage passes, the user is not prompted again. | [optional] +**last_auth_threshold** | Option<**String**> | If any of the user's device has been used within this threshold, this stage will be skipped | [optional] +**webauthn_user_verification** | Option<[**models::UserVerificationEnum**](UserVerificationEnum.md)> | Enforce user verification for WebAuthn devices. | [optional] +**webauthn_allowed_device_types** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**webauthn_allowed_device_types_obj** | [**Vec**](WebAuthnDeviceType.md) | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorValidateStageRequest.md b/docs/AuthenticatorValidateStageRequest.md new file mode 100644 index 0000000..a27f2e5 --- /dev/null +++ b/docs/AuthenticatorValidateStageRequest.md @@ -0,0 +1,18 @@ +# AuthenticatorValidateStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**not_configured_action** | Option<[**models::NotConfiguredActionEnum**](NotConfiguredActionEnum.md)> | | [optional] +**device_classes** | Option<[**Vec**](DeviceClassesEnum.md)> | Device classes which can be used to authenticate | [optional] +**configuration_stages** | Option<[**Vec**](uuid::Uuid.md)> | Stages used to configure Authenticator when user doesn't have any compatible devices. After this configuration Stage passes, the user is not prompted again. | [optional] +**last_auth_threshold** | Option<**String**> | If any of the user's device has been used within this threshold, this stage will be skipped | [optional] +**webauthn_user_verification** | Option<[**models::UserVerificationEnum**](UserVerificationEnum.md)> | Enforce user verification for WebAuthn devices. | [optional] +**webauthn_allowed_device_types** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorValidationChallenge.md b/docs/AuthenticatorValidationChallenge.md new file mode 100644 index 0000000..c6df751 --- /dev/null +++ b/docs/AuthenticatorValidationChallenge.md @@ -0,0 +1,17 @@ +# AuthenticatorValidationChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**flow_info** | Option<[**models::ContextualFlowInfo**](ContextualFlowInfo.md)> | | [optional] +**component** | Option<**String**> | | [optional][default to ak-stage-authenticator-validate] +**response_errors** | Option<[**std::collections::HashMap>**](Vec.md)> | | [optional] +**pending_user** | **String** | | +**pending_user_avatar** | **String** | | +**device_challenges** | [**Vec**](DeviceChallenge.md) | | +**configuration_stages** | [**Vec**](SelectableStage.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorValidationChallengeResponseRequest.md b/docs/AuthenticatorValidationChallengeResponseRequest.md new file mode 100644 index 0000000..0e6527f --- /dev/null +++ b/docs/AuthenticatorValidationChallengeResponseRequest.md @@ -0,0 +1,16 @@ +# AuthenticatorValidationChallengeResponseRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | Option<**String**> | | [optional][default to ak-stage-authenticator-validate] +**selected_challenge** | Option<[**models::DeviceChallengeRequest**](DeviceChallengeRequest.md)> | | [optional] +**selected_stage** | Option<**String**> | | [optional] +**code** | Option<**String**> | | [optional] +**webauthn** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | | [optional] +**duo** | Option<**i32**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorWebAuthnChallenge.md b/docs/AuthenticatorWebAuthnChallenge.md new file mode 100644 index 0000000..3112503 --- /dev/null +++ b/docs/AuthenticatorWebAuthnChallenge.md @@ -0,0 +1,16 @@ +# AuthenticatorWebAuthnChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**flow_info** | Option<[**models::ContextualFlowInfo**](ContextualFlowInfo.md)> | | [optional] +**component** | Option<**String**> | | [optional][default to ak-stage-authenticator-webauthn] +**response_errors** | Option<[**std::collections::HashMap>**](Vec.md)> | | [optional] +**pending_user** | **String** | | +**pending_user_avatar** | **String** | | +**registration** | [**std::collections::HashMap**](serde_json::Value.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorWebAuthnChallengeResponseRequest.md b/docs/AuthenticatorWebAuthnChallengeResponseRequest.md new file mode 100644 index 0000000..c0dcdff --- /dev/null +++ b/docs/AuthenticatorWebAuthnChallengeResponseRequest.md @@ -0,0 +1,12 @@ +# AuthenticatorWebAuthnChallengeResponseRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | Option<**String**> | | [optional][default to ak-stage-authenticator-webauthn] +**response** | [**std::collections::HashMap**](serde_json::Value.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorWebAuthnStage.md b/docs/AuthenticatorWebAuthnStage.md new file mode 100644 index 0000000..1e9a9fd --- /dev/null +++ b/docs/AuthenticatorWebAuthnStage.md @@ -0,0 +1,24 @@ +# AuthenticatorWebAuthnStage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**component** | **String** | Get object type so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**flow_set** | Option<[**Vec**](FlowSet.md)> | | [optional] +**configure_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. | [optional] +**friendly_name** | Option<**String**> | | [optional] +**user_verification** | Option<[**models::UserVerificationEnum**](UserVerificationEnum.md)> | | [optional] +**authenticator_attachment** | Option<[**models::AuthenticatorAttachmentEnum**](AuthenticatorAttachmentEnum.md)> | | [optional] +**resident_key_requirement** | Option<[**models::ResidentKeyRequirementEnum**](ResidentKeyRequirementEnum.md)> | | [optional] +**device_type_restrictions** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**device_type_restrictions_obj** | [**Vec**](WebAuthnDeviceType.md) | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorWebAuthnStageRequest.md b/docs/AuthenticatorWebAuthnStageRequest.md new file mode 100644 index 0000000..11d4e97 --- /dev/null +++ b/docs/AuthenticatorWebAuthnStageRequest.md @@ -0,0 +1,18 @@ +# AuthenticatorWebAuthnStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**configure_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. | [optional] +**friendly_name** | Option<**String**> | | [optional] +**user_verification** | Option<[**models::UserVerificationEnum**](UserVerificationEnum.md)> | | [optional] +**authenticator_attachment** | Option<[**models::AuthenticatorAttachmentEnum**](AuthenticatorAttachmentEnum.md)> | | [optional] +**resident_key_requirement** | Option<[**models::ResidentKeyRequirementEnum**](ResidentKeyRequirementEnum.md)> | | [optional] +**device_type_restrictions** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AuthenticatorsApi.md b/docs/AuthenticatorsApi.md new file mode 100644 index 0000000..56ede63 --- /dev/null +++ b/docs/AuthenticatorsApi.md @@ -0,0 +1,1987 @@ +# \AuthenticatorsApi + +All URIs are relative to *http://localhost/api/v3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**authenticators_admin_all_list**](AuthenticatorsApi.md#authenticators_admin_all_list) | **GET** /authenticators/admin/all/ | +[**authenticators_admin_duo_create**](AuthenticatorsApi.md#authenticators_admin_duo_create) | **POST** /authenticators/admin/duo/ | +[**authenticators_admin_duo_destroy**](AuthenticatorsApi.md#authenticators_admin_duo_destroy) | **DELETE** /authenticators/admin/duo/{id}/ | +[**authenticators_admin_duo_list**](AuthenticatorsApi.md#authenticators_admin_duo_list) | **GET** /authenticators/admin/duo/ | +[**authenticators_admin_duo_partial_update**](AuthenticatorsApi.md#authenticators_admin_duo_partial_update) | **PATCH** /authenticators/admin/duo/{id}/ | +[**authenticators_admin_duo_retrieve**](AuthenticatorsApi.md#authenticators_admin_duo_retrieve) | **GET** /authenticators/admin/duo/{id}/ | +[**authenticators_admin_duo_update**](AuthenticatorsApi.md#authenticators_admin_duo_update) | **PUT** /authenticators/admin/duo/{id}/ | +[**authenticators_admin_sms_create**](AuthenticatorsApi.md#authenticators_admin_sms_create) | **POST** /authenticators/admin/sms/ | +[**authenticators_admin_sms_destroy**](AuthenticatorsApi.md#authenticators_admin_sms_destroy) | **DELETE** /authenticators/admin/sms/{id}/ | +[**authenticators_admin_sms_list**](AuthenticatorsApi.md#authenticators_admin_sms_list) | **GET** /authenticators/admin/sms/ | +[**authenticators_admin_sms_partial_update**](AuthenticatorsApi.md#authenticators_admin_sms_partial_update) | **PATCH** /authenticators/admin/sms/{id}/ | +[**authenticators_admin_sms_retrieve**](AuthenticatorsApi.md#authenticators_admin_sms_retrieve) | **GET** /authenticators/admin/sms/{id}/ | +[**authenticators_admin_sms_update**](AuthenticatorsApi.md#authenticators_admin_sms_update) | **PUT** /authenticators/admin/sms/{id}/ | +[**authenticators_admin_static_create**](AuthenticatorsApi.md#authenticators_admin_static_create) | **POST** /authenticators/admin/static/ | +[**authenticators_admin_static_destroy**](AuthenticatorsApi.md#authenticators_admin_static_destroy) | **DELETE** /authenticators/admin/static/{id}/ | +[**authenticators_admin_static_list**](AuthenticatorsApi.md#authenticators_admin_static_list) | **GET** /authenticators/admin/static/ | +[**authenticators_admin_static_partial_update**](AuthenticatorsApi.md#authenticators_admin_static_partial_update) | **PATCH** /authenticators/admin/static/{id}/ | +[**authenticators_admin_static_retrieve**](AuthenticatorsApi.md#authenticators_admin_static_retrieve) | **GET** /authenticators/admin/static/{id}/ | +[**authenticators_admin_static_update**](AuthenticatorsApi.md#authenticators_admin_static_update) | **PUT** /authenticators/admin/static/{id}/ | +[**authenticators_admin_totp_create**](AuthenticatorsApi.md#authenticators_admin_totp_create) | **POST** /authenticators/admin/totp/ | +[**authenticators_admin_totp_destroy**](AuthenticatorsApi.md#authenticators_admin_totp_destroy) | **DELETE** /authenticators/admin/totp/{id}/ | +[**authenticators_admin_totp_list**](AuthenticatorsApi.md#authenticators_admin_totp_list) | **GET** /authenticators/admin/totp/ | +[**authenticators_admin_totp_partial_update**](AuthenticatorsApi.md#authenticators_admin_totp_partial_update) | **PATCH** /authenticators/admin/totp/{id}/ | +[**authenticators_admin_totp_retrieve**](AuthenticatorsApi.md#authenticators_admin_totp_retrieve) | **GET** /authenticators/admin/totp/{id}/ | +[**authenticators_admin_totp_update**](AuthenticatorsApi.md#authenticators_admin_totp_update) | **PUT** /authenticators/admin/totp/{id}/ | +[**authenticators_admin_webauthn_create**](AuthenticatorsApi.md#authenticators_admin_webauthn_create) | **POST** /authenticators/admin/webauthn/ | +[**authenticators_admin_webauthn_destroy**](AuthenticatorsApi.md#authenticators_admin_webauthn_destroy) | **DELETE** /authenticators/admin/webauthn/{id}/ | +[**authenticators_admin_webauthn_list**](AuthenticatorsApi.md#authenticators_admin_webauthn_list) | **GET** /authenticators/admin/webauthn/ | +[**authenticators_admin_webauthn_partial_update**](AuthenticatorsApi.md#authenticators_admin_webauthn_partial_update) | **PATCH** /authenticators/admin/webauthn/{id}/ | +[**authenticators_admin_webauthn_retrieve**](AuthenticatorsApi.md#authenticators_admin_webauthn_retrieve) | **GET** /authenticators/admin/webauthn/{id}/ | +[**authenticators_admin_webauthn_update**](AuthenticatorsApi.md#authenticators_admin_webauthn_update) | **PUT** /authenticators/admin/webauthn/{id}/ | +[**authenticators_all_list**](AuthenticatorsApi.md#authenticators_all_list) | **GET** /authenticators/all/ | +[**authenticators_duo_destroy**](AuthenticatorsApi.md#authenticators_duo_destroy) | **DELETE** /authenticators/duo/{id}/ | +[**authenticators_duo_list**](AuthenticatorsApi.md#authenticators_duo_list) | **GET** /authenticators/duo/ | +[**authenticators_duo_partial_update**](AuthenticatorsApi.md#authenticators_duo_partial_update) | **PATCH** /authenticators/duo/{id}/ | +[**authenticators_duo_retrieve**](AuthenticatorsApi.md#authenticators_duo_retrieve) | **GET** /authenticators/duo/{id}/ | +[**authenticators_duo_update**](AuthenticatorsApi.md#authenticators_duo_update) | **PUT** /authenticators/duo/{id}/ | +[**authenticators_duo_used_by_list**](AuthenticatorsApi.md#authenticators_duo_used_by_list) | **GET** /authenticators/duo/{id}/used_by/ | +[**authenticators_sms_destroy**](AuthenticatorsApi.md#authenticators_sms_destroy) | **DELETE** /authenticators/sms/{id}/ | +[**authenticators_sms_list**](AuthenticatorsApi.md#authenticators_sms_list) | **GET** /authenticators/sms/ | +[**authenticators_sms_partial_update**](AuthenticatorsApi.md#authenticators_sms_partial_update) | **PATCH** /authenticators/sms/{id}/ | +[**authenticators_sms_retrieve**](AuthenticatorsApi.md#authenticators_sms_retrieve) | **GET** /authenticators/sms/{id}/ | +[**authenticators_sms_update**](AuthenticatorsApi.md#authenticators_sms_update) | **PUT** /authenticators/sms/{id}/ | +[**authenticators_sms_used_by_list**](AuthenticatorsApi.md#authenticators_sms_used_by_list) | **GET** /authenticators/sms/{id}/used_by/ | +[**authenticators_static_destroy**](AuthenticatorsApi.md#authenticators_static_destroy) | **DELETE** /authenticators/static/{id}/ | +[**authenticators_static_list**](AuthenticatorsApi.md#authenticators_static_list) | **GET** /authenticators/static/ | +[**authenticators_static_partial_update**](AuthenticatorsApi.md#authenticators_static_partial_update) | **PATCH** /authenticators/static/{id}/ | +[**authenticators_static_retrieve**](AuthenticatorsApi.md#authenticators_static_retrieve) | **GET** /authenticators/static/{id}/ | +[**authenticators_static_update**](AuthenticatorsApi.md#authenticators_static_update) | **PUT** /authenticators/static/{id}/ | +[**authenticators_static_used_by_list**](AuthenticatorsApi.md#authenticators_static_used_by_list) | **GET** /authenticators/static/{id}/used_by/ | +[**authenticators_totp_destroy**](AuthenticatorsApi.md#authenticators_totp_destroy) | **DELETE** /authenticators/totp/{id}/ | +[**authenticators_totp_list**](AuthenticatorsApi.md#authenticators_totp_list) | **GET** /authenticators/totp/ | +[**authenticators_totp_partial_update**](AuthenticatorsApi.md#authenticators_totp_partial_update) | **PATCH** /authenticators/totp/{id}/ | +[**authenticators_totp_retrieve**](AuthenticatorsApi.md#authenticators_totp_retrieve) | **GET** /authenticators/totp/{id}/ | +[**authenticators_totp_update**](AuthenticatorsApi.md#authenticators_totp_update) | **PUT** /authenticators/totp/{id}/ | +[**authenticators_totp_used_by_list**](AuthenticatorsApi.md#authenticators_totp_used_by_list) | **GET** /authenticators/totp/{id}/used_by/ | +[**authenticators_webauthn_destroy**](AuthenticatorsApi.md#authenticators_webauthn_destroy) | **DELETE** /authenticators/webauthn/{id}/ | +[**authenticators_webauthn_list**](AuthenticatorsApi.md#authenticators_webauthn_list) | **GET** /authenticators/webauthn/ | +[**authenticators_webauthn_partial_update**](AuthenticatorsApi.md#authenticators_webauthn_partial_update) | **PATCH** /authenticators/webauthn/{id}/ | +[**authenticators_webauthn_retrieve**](AuthenticatorsApi.md#authenticators_webauthn_retrieve) | **GET** /authenticators/webauthn/{id}/ | +[**authenticators_webauthn_update**](AuthenticatorsApi.md#authenticators_webauthn_update) | **PUT** /authenticators/webauthn/{id}/ | +[**authenticators_webauthn_used_by_list**](AuthenticatorsApi.md#authenticators_webauthn_used_by_list) | **GET** /authenticators/webauthn/{id}/used_by/ | + + + +## authenticators_admin_all_list + +> Vec authenticators_admin_all_list(user) + + +Get all devices for current user + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**user** | Option<**i32**> | | | + +### Return type + +[**Vec**](Device.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_duo_create + +> models::DuoDevice authenticators_admin_duo_create(duo_device_request) + + +Viewset for Duo authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**duo_device_request** | [**DuoDeviceRequest**](DuoDeviceRequest.md) | | [required] | + +### Return type + +[**models::DuoDevice**](DuoDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_duo_destroy + +> authenticators_admin_duo_destroy(id) + + +Viewset for Duo authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Duo Device. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_duo_list + +> models::PaginatedDuoDeviceList authenticators_admin_duo_list(name, ordering, page, page_size, search) + + +Viewset for Duo authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedDuoDeviceList**](PaginatedDuoDeviceList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_duo_partial_update + +> models::DuoDevice authenticators_admin_duo_partial_update(id, patched_duo_device_request) + + +Viewset for Duo authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Duo Device. | [required] | +**patched_duo_device_request** | Option<[**PatchedDuoDeviceRequest**](PatchedDuoDeviceRequest.md)> | | | + +### Return type + +[**models::DuoDevice**](DuoDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_duo_retrieve + +> models::DuoDevice authenticators_admin_duo_retrieve(id) + + +Viewset for Duo authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Duo Device. | [required] | + +### Return type + +[**models::DuoDevice**](DuoDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_duo_update + +> models::DuoDevice authenticators_admin_duo_update(id, duo_device_request) + + +Viewset for Duo authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Duo Device. | [required] | +**duo_device_request** | [**DuoDeviceRequest**](DuoDeviceRequest.md) | | [required] | + +### Return type + +[**models::DuoDevice**](DuoDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_sms_create + +> models::SmsDevice authenticators_admin_sms_create(sms_device_request) + + +Viewset for sms authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**sms_device_request** | [**SmsDeviceRequest**](SmsDeviceRequest.md) | | [required] | + +### Return type + +[**models::SmsDevice**](SMSDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_sms_destroy + +> authenticators_admin_sms_destroy(id) + + +Viewset for sms authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this SMS Device. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_sms_list + +> models::PaginatedSmsDeviceList authenticators_admin_sms_list(name, ordering, page, page_size, search) + + +Viewset for sms authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedSmsDeviceList**](PaginatedSMSDeviceList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_sms_partial_update + +> models::SmsDevice authenticators_admin_sms_partial_update(id, patched_sms_device_request) + + +Viewset for sms authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this SMS Device. | [required] | +**patched_sms_device_request** | Option<[**PatchedSmsDeviceRequest**](PatchedSmsDeviceRequest.md)> | | | + +### Return type + +[**models::SmsDevice**](SMSDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_sms_retrieve + +> models::SmsDevice authenticators_admin_sms_retrieve(id) + + +Viewset for sms authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this SMS Device. | [required] | + +### Return type + +[**models::SmsDevice**](SMSDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_sms_update + +> models::SmsDevice authenticators_admin_sms_update(id, sms_device_request) + + +Viewset for sms authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this SMS Device. | [required] | +**sms_device_request** | [**SmsDeviceRequest**](SmsDeviceRequest.md) | | [required] | + +### Return type + +[**models::SmsDevice**](SMSDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_static_create + +> models::StaticDevice authenticators_admin_static_create(static_device_request) + + +Viewset for static authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**static_device_request** | [**StaticDeviceRequest**](StaticDeviceRequest.md) | | [required] | + +### Return type + +[**models::StaticDevice**](StaticDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_static_destroy + +> authenticators_admin_static_destroy(id) + + +Viewset for static authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Static Device. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_static_list + +> models::PaginatedStaticDeviceList authenticators_admin_static_list(name, ordering, page, page_size, search) + + +Viewset for static authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedStaticDeviceList**](PaginatedStaticDeviceList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_static_partial_update + +> models::StaticDevice authenticators_admin_static_partial_update(id, patched_static_device_request) + + +Viewset for static authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Static Device. | [required] | +**patched_static_device_request** | Option<[**PatchedStaticDeviceRequest**](PatchedStaticDeviceRequest.md)> | | | + +### Return type + +[**models::StaticDevice**](StaticDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_static_retrieve + +> models::StaticDevice authenticators_admin_static_retrieve(id) + + +Viewset for static authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Static Device. | [required] | + +### Return type + +[**models::StaticDevice**](StaticDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_static_update + +> models::StaticDevice authenticators_admin_static_update(id, static_device_request) + + +Viewset for static authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Static Device. | [required] | +**static_device_request** | [**StaticDeviceRequest**](StaticDeviceRequest.md) | | [required] | + +### Return type + +[**models::StaticDevice**](StaticDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_totp_create + +> models::TotpDevice authenticators_admin_totp_create(totp_device_request) + + +Viewset for totp authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**totp_device_request** | [**TotpDeviceRequest**](TotpDeviceRequest.md) | | [required] | + +### Return type + +[**models::TotpDevice**](TOTPDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_totp_destroy + +> authenticators_admin_totp_destroy(id) + + +Viewset for totp authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this TOTP Device. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_totp_list + +> models::PaginatedTotpDeviceList authenticators_admin_totp_list(name, ordering, page, page_size, search) + + +Viewset for totp authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedTotpDeviceList**](PaginatedTOTPDeviceList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_totp_partial_update + +> models::TotpDevice authenticators_admin_totp_partial_update(id, patched_totp_device_request) + + +Viewset for totp authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this TOTP Device. | [required] | +**patched_totp_device_request** | Option<[**PatchedTotpDeviceRequest**](PatchedTotpDeviceRequest.md)> | | | + +### Return type + +[**models::TotpDevice**](TOTPDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_totp_retrieve + +> models::TotpDevice authenticators_admin_totp_retrieve(id) + + +Viewset for totp authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this TOTP Device. | [required] | + +### Return type + +[**models::TotpDevice**](TOTPDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_totp_update + +> models::TotpDevice authenticators_admin_totp_update(id, totp_device_request) + + +Viewset for totp authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this TOTP Device. | [required] | +**totp_device_request** | [**TotpDeviceRequest**](TotpDeviceRequest.md) | | [required] | + +### Return type + +[**models::TotpDevice**](TOTPDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_webauthn_create + +> models::WebAuthnDevice authenticators_admin_webauthn_create(web_authn_device_request) + + +Viewset for WebAuthn authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**web_authn_device_request** | [**WebAuthnDeviceRequest**](WebAuthnDeviceRequest.md) | | [required] | + +### Return type + +[**models::WebAuthnDevice**](WebAuthnDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_webauthn_destroy + +> authenticators_admin_webauthn_destroy(id) + + +Viewset for WebAuthn authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this WebAuthn Device. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_webauthn_list + +> models::PaginatedWebAuthnDeviceList authenticators_admin_webauthn_list(name, ordering, page, page_size, search) + + +Viewset for WebAuthn authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedWebAuthnDeviceList**](PaginatedWebAuthnDeviceList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_webauthn_partial_update + +> models::WebAuthnDevice authenticators_admin_webauthn_partial_update(id, patched_web_authn_device_request) + + +Viewset for WebAuthn authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this WebAuthn Device. | [required] | +**patched_web_authn_device_request** | Option<[**PatchedWebAuthnDeviceRequest**](PatchedWebAuthnDeviceRequest.md)> | | | + +### Return type + +[**models::WebAuthnDevice**](WebAuthnDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_webauthn_retrieve + +> models::WebAuthnDevice authenticators_admin_webauthn_retrieve(id) + + +Viewset for WebAuthn authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this WebAuthn Device. | [required] | + +### Return type + +[**models::WebAuthnDevice**](WebAuthnDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_admin_webauthn_update + +> models::WebAuthnDevice authenticators_admin_webauthn_update(id, web_authn_device_request) + + +Viewset for WebAuthn authenticator devices (for admins) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this WebAuthn Device. | [required] | +**web_authn_device_request** | [**WebAuthnDeviceRequest**](WebAuthnDeviceRequest.md) | | [required] | + +### Return type + +[**models::WebAuthnDevice**](WebAuthnDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_all_list + +> Vec authenticators_all_list() + + +Get all devices for current user + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**Vec**](Device.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_duo_destroy + +> authenticators_duo_destroy(id) + + +Viewset for Duo authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Duo Device. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_duo_list + +> models::PaginatedDuoDeviceList authenticators_duo_list(name, ordering, page, page_size, search) + + +Viewset for Duo authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedDuoDeviceList**](PaginatedDuoDeviceList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_duo_partial_update + +> models::DuoDevice authenticators_duo_partial_update(id, patched_duo_device_request) + + +Viewset for Duo authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Duo Device. | [required] | +**patched_duo_device_request** | Option<[**PatchedDuoDeviceRequest**](PatchedDuoDeviceRequest.md)> | | | + +### Return type + +[**models::DuoDevice**](DuoDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_duo_retrieve + +> models::DuoDevice authenticators_duo_retrieve(id) + + +Viewset for Duo authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Duo Device. | [required] | + +### Return type + +[**models::DuoDevice**](DuoDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_duo_update + +> models::DuoDevice authenticators_duo_update(id, duo_device_request) + + +Viewset for Duo authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Duo Device. | [required] | +**duo_device_request** | [**DuoDeviceRequest**](DuoDeviceRequest.md) | | [required] | + +### Return type + +[**models::DuoDevice**](DuoDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_duo_used_by_list + +> Vec authenticators_duo_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Duo Device. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_sms_destroy + +> authenticators_sms_destroy(id) + + +Viewset for sms authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this SMS Device. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_sms_list + +> models::PaginatedSmsDeviceList authenticators_sms_list(name, ordering, page, page_size, search) + + +Viewset for sms authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedSmsDeviceList**](PaginatedSMSDeviceList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_sms_partial_update + +> models::SmsDevice authenticators_sms_partial_update(id, patched_sms_device_request) + + +Viewset for sms authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this SMS Device. | [required] | +**patched_sms_device_request** | Option<[**PatchedSmsDeviceRequest**](PatchedSmsDeviceRequest.md)> | | | + +### Return type + +[**models::SmsDevice**](SMSDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_sms_retrieve + +> models::SmsDevice authenticators_sms_retrieve(id) + + +Viewset for sms authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this SMS Device. | [required] | + +### Return type + +[**models::SmsDevice**](SMSDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_sms_update + +> models::SmsDevice authenticators_sms_update(id, sms_device_request) + + +Viewset for sms authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this SMS Device. | [required] | +**sms_device_request** | [**SmsDeviceRequest**](SmsDeviceRequest.md) | | [required] | + +### Return type + +[**models::SmsDevice**](SMSDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_sms_used_by_list + +> Vec authenticators_sms_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this SMS Device. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_static_destroy + +> authenticators_static_destroy(id) + + +Viewset for static authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Static Device. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_static_list + +> models::PaginatedStaticDeviceList authenticators_static_list(name, ordering, page, page_size, search) + + +Viewset for static authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedStaticDeviceList**](PaginatedStaticDeviceList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_static_partial_update + +> models::StaticDevice authenticators_static_partial_update(id, patched_static_device_request) + + +Viewset for static authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Static Device. | [required] | +**patched_static_device_request** | Option<[**PatchedStaticDeviceRequest**](PatchedStaticDeviceRequest.md)> | | | + +### Return type + +[**models::StaticDevice**](StaticDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_static_retrieve + +> models::StaticDevice authenticators_static_retrieve(id) + + +Viewset for static authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Static Device. | [required] | + +### Return type + +[**models::StaticDevice**](StaticDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_static_update + +> models::StaticDevice authenticators_static_update(id, static_device_request) + + +Viewset for static authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Static Device. | [required] | +**static_device_request** | [**StaticDeviceRequest**](StaticDeviceRequest.md) | | [required] | + +### Return type + +[**models::StaticDevice**](StaticDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_static_used_by_list + +> Vec authenticators_static_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Static Device. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_totp_destroy + +> authenticators_totp_destroy(id) + + +Viewset for totp authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this TOTP Device. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_totp_list + +> models::PaginatedTotpDeviceList authenticators_totp_list(name, ordering, page, page_size, search) + + +Viewset for totp authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedTotpDeviceList**](PaginatedTOTPDeviceList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_totp_partial_update + +> models::TotpDevice authenticators_totp_partial_update(id, patched_totp_device_request) + + +Viewset for totp authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this TOTP Device. | [required] | +**patched_totp_device_request** | Option<[**PatchedTotpDeviceRequest**](PatchedTotpDeviceRequest.md)> | | | + +### Return type + +[**models::TotpDevice**](TOTPDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_totp_retrieve + +> models::TotpDevice authenticators_totp_retrieve(id) + + +Viewset for totp authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this TOTP Device. | [required] | + +### Return type + +[**models::TotpDevice**](TOTPDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_totp_update + +> models::TotpDevice authenticators_totp_update(id, totp_device_request) + + +Viewset for totp authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this TOTP Device. | [required] | +**totp_device_request** | [**TotpDeviceRequest**](TotpDeviceRequest.md) | | [required] | + +### Return type + +[**models::TotpDevice**](TOTPDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_totp_used_by_list + +> Vec authenticators_totp_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this TOTP Device. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_webauthn_destroy + +> authenticators_webauthn_destroy(id) + + +Viewset for WebAuthn authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this WebAuthn Device. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_webauthn_list + +> models::PaginatedWebAuthnDeviceList authenticators_webauthn_list(name, ordering, page, page_size, search) + + +Viewset for WebAuthn authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedWebAuthnDeviceList**](PaginatedWebAuthnDeviceList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_webauthn_partial_update + +> models::WebAuthnDevice authenticators_webauthn_partial_update(id, patched_web_authn_device_request) + + +Viewset for WebAuthn authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this WebAuthn Device. | [required] | +**patched_web_authn_device_request** | Option<[**PatchedWebAuthnDeviceRequest**](PatchedWebAuthnDeviceRequest.md)> | | | + +### Return type + +[**models::WebAuthnDevice**](WebAuthnDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_webauthn_retrieve + +> models::WebAuthnDevice authenticators_webauthn_retrieve(id) + + +Viewset for WebAuthn authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this WebAuthn Device. | [required] | + +### Return type + +[**models::WebAuthnDevice**](WebAuthnDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_webauthn_update + +> models::WebAuthnDevice authenticators_webauthn_update(id, web_authn_device_request) + + +Viewset for WebAuthn authenticator devices + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this WebAuthn Device. | [required] | +**web_authn_device_request** | [**WebAuthnDeviceRequest**](WebAuthnDeviceRequest.md) | | [required] | + +### Return type + +[**models::WebAuthnDevice**](WebAuthnDevice.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## authenticators_webauthn_used_by_list + +> Vec authenticators_webauthn_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this WebAuthn Device. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/AutoSubmitChallengeResponseRequest.md b/docs/AutoSubmitChallengeResponseRequest.md new file mode 100644 index 0000000..8cf1f98 --- /dev/null +++ b/docs/AutoSubmitChallengeResponseRequest.md @@ -0,0 +1,11 @@ +# AutoSubmitChallengeResponseRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | Option<**String**> | | [optional][default to ak-stage-autosubmit] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AutosubmitChallenge.md b/docs/AutosubmitChallenge.md new file mode 100644 index 0000000..aad8a19 --- /dev/null +++ b/docs/AutosubmitChallenge.md @@ -0,0 +1,16 @@ +# AutosubmitChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**flow_info** | Option<[**models::ContextualFlowInfo**](ContextualFlowInfo.md)> | | [optional] +**component** | Option<**String**> | | [optional][default to ak-stage-autosubmit] +**response_errors** | Option<[**std::collections::HashMap>**](Vec.md)> | | [optional] +**url** | **String** | | +**attrs** | **std::collections::HashMap** | | +**title** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/BackendsEnum.md b/docs/BackendsEnum.md new file mode 100644 index 0000000..db69422 --- /dev/null +++ b/docs/BackendsEnum.md @@ -0,0 +1,14 @@ +# BackendsEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| CorePeriodAuthPeriodInbuiltBackend | authentik.core.auth.InbuiltBackend | +| CorePeriodAuthPeriodTokenBackend | authentik.core.auth.TokenBackend | +| SourcesPeriodLdapPeriodAuthPeriodLdapBackend | authentik.sources.ldap.auth.LDAPBackend | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/BindingTypeEnum.md b/docs/BindingTypeEnum.md new file mode 100644 index 0000000..25ecb33 --- /dev/null +++ b/docs/BindingTypeEnum.md @@ -0,0 +1,14 @@ +# BindingTypeEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Redirect | REDIRECT | +| Post | POST | +| PostAuto | POST_AUTO | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/BlueprintFile.md b/docs/BlueprintFile.md new file mode 100644 index 0000000..b4bd79b --- /dev/null +++ b/docs/BlueprintFile.md @@ -0,0 +1,14 @@ +# BlueprintFile + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**path** | **String** | | +**last_m** | **String** | | +**hash** | **String** | | +**meta** | [**models::Metadata**](Metadata.md) | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/BlueprintInstance.md b/docs/BlueprintInstance.md new file mode 100644 index 0000000..a074f5a --- /dev/null +++ b/docs/BlueprintInstance.md @@ -0,0 +1,21 @@ +# BlueprintInstance + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**path** | Option<**String**> | | [optional][default to ] +**context** | Option<[**serde_json::Value**](.md)> | | [optional] +**last_applied** | **String** | | [readonly] +**last_applied_hash** | **String** | | [readonly] +**status** | [**models::BlueprintInstanceStatusEnum**](BlueprintInstanceStatusEnum.md) | | [readonly] +**enabled** | Option<**bool**> | | [optional] +**managed_models** | **Vec** | | [readonly] +**metadata** | Option<[**serde_json::Value**](.md)> | | [readonly] +**content** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/BlueprintInstanceRequest.md b/docs/BlueprintInstanceRequest.md new file mode 100644 index 0000000..cd9bb69 --- /dev/null +++ b/docs/BlueprintInstanceRequest.md @@ -0,0 +1,15 @@ +# BlueprintInstanceRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**path** | Option<**String**> | | [optional][default to ] +**context** | Option<[**serde_json::Value**](.md)> | | [optional] +**enabled** | Option<**bool**> | | [optional] +**content** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/BlueprintInstanceStatusEnum.md b/docs/BlueprintInstanceStatusEnum.md new file mode 100644 index 0000000..b7bf83d --- /dev/null +++ b/docs/BlueprintInstanceStatusEnum.md @@ -0,0 +1,16 @@ +# BlueprintInstanceStatusEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Successful | successful | +| Warning | warning | +| Error | error | +| Orphaned | orphaned | +| Unknown | unknown | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Brand.md b/docs/Brand.md new file mode 100644 index 0000000..56b08e8 --- /dev/null +++ b/docs/Brand.md @@ -0,0 +1,25 @@ +# Brand + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**brand_uuid** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**domain** | **String** | Domain that activates this brand. Can be a superset, i.e. `a.b` for `aa.b` and `ba.b` | +**default** | Option<**bool**> | | [optional] +**branding_title** | Option<**String**> | | [optional] +**branding_logo** | Option<**String**> | | [optional] +**branding_favicon** | Option<**String**> | | [optional] +**flow_authentication** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**flow_invalidation** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**flow_recovery** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**flow_unenrollment** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**flow_user_settings** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**flow_device_code** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**default_application** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | When set, external users will be redirected to this application after authenticating. | [optional] +**web_certificate** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Web Certificate used by the authentik Core webserver. | [optional] +**attributes** | Option<[**serde_json::Value**](.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/BrandRequest.md b/docs/BrandRequest.md new file mode 100644 index 0000000..6892bef --- /dev/null +++ b/docs/BrandRequest.md @@ -0,0 +1,24 @@ +# BrandRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**domain** | **String** | Domain that activates this brand. Can be a superset, i.e. `a.b` for `aa.b` and `ba.b` | +**default** | Option<**bool**> | | [optional] +**branding_title** | Option<**String**> | | [optional] +**branding_logo** | Option<**String**> | | [optional] +**branding_favicon** | Option<**String**> | | [optional] +**flow_authentication** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**flow_invalidation** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**flow_recovery** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**flow_unenrollment** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**flow_user_settings** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**flow_device_code** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**default_application** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | When set, external users will be redirected to this application after authenticating. | [optional] +**web_certificate** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Web Certificate used by the authentik Core webserver. | [optional] +**attributes** | Option<[**serde_json::Value**](.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Cache.md b/docs/Cache.md new file mode 100644 index 0000000..73ed891 --- /dev/null +++ b/docs/Cache.md @@ -0,0 +1,11 @@ +# Cache + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | **i32** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CapabilitiesEnum.md b/docs/CapabilitiesEnum.md new file mode 100644 index 0000000..e43f49d --- /dev/null +++ b/docs/CapabilitiesEnum.md @@ -0,0 +1,17 @@ +# CapabilitiesEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| CanSaveMedia | can_save_media | +| CanGeoIp | can_geo_ip | +| CanAsn | can_asn | +| CanImpersonate | can_impersonate | +| CanDebug | can_debug | +| IsEnterprise | is_enterprise | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CaptchaChallenge.md b/docs/CaptchaChallenge.md new file mode 100644 index 0000000..0096ece --- /dev/null +++ b/docs/CaptchaChallenge.md @@ -0,0 +1,17 @@ +# CaptchaChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**flow_info** | Option<[**models::ContextualFlowInfo**](ContextualFlowInfo.md)> | | [optional] +**component** | Option<**String**> | | [optional][default to ak-stage-captcha] +**response_errors** | Option<[**std::collections::HashMap>**](Vec.md)> | | [optional] +**pending_user** | **String** | | +**pending_user_avatar** | **String** | | +**site_key** | **String** | | +**js_url** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CaptchaChallengeResponseRequest.md b/docs/CaptchaChallengeResponseRequest.md new file mode 100644 index 0000000..da06f54 --- /dev/null +++ b/docs/CaptchaChallengeResponseRequest.md @@ -0,0 +1,12 @@ +# CaptchaChallengeResponseRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | Option<**String**> | | [optional][default to ak-stage-captcha] +**token** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CaptchaStage.md b/docs/CaptchaStage.md new file mode 100644 index 0000000..5b63e69 --- /dev/null +++ b/docs/CaptchaStage.md @@ -0,0 +1,23 @@ +# CaptchaStage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**component** | **String** | Get object type so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**flow_set** | Option<[**Vec**](FlowSet.md)> | | [optional] +**public_key** | **String** | Public key, acquired your captcha Provider. | +**js_url** | Option<**String**> | | [optional] +**api_url** | Option<**String**> | | [optional] +**score_min_threshold** | Option<**f64**> | | [optional] +**score_max_threshold** | Option<**f64**> | | [optional] +**error_on_invalid_score** | Option<**bool**> | When enabled and the received captcha score is outside of the given threshold, the stage will show an error message. When not enabled, the flow will continue, but the data from the captcha will be available in the context for policy decisions | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CaptchaStageRequest.md b/docs/CaptchaStageRequest.md new file mode 100644 index 0000000..9484fa3 --- /dev/null +++ b/docs/CaptchaStageRequest.md @@ -0,0 +1,19 @@ +# CaptchaStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**public_key** | **String** | Public key, acquired your captcha Provider. | +**private_key** | **String** | Private key, acquired your captcha Provider. | +**js_url** | Option<**String**> | | [optional] +**api_url** | Option<**String**> | | [optional] +**score_min_threshold** | Option<**f64**> | | [optional] +**score_max_threshold** | Option<**f64**> | | [optional] +**error_on_invalid_score** | Option<**bool**> | When enabled and the received captcha score is outside of the given threshold, the stage will show an error message. When not enabled, the flow will continue, but the data from the captcha will be available in the context for policy decisions | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CertificateData.md b/docs/CertificateData.md new file mode 100644 index 0000000..1e88ffb --- /dev/null +++ b/docs/CertificateData.md @@ -0,0 +1,11 @@ +# CertificateData + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | **String** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CertificateGenerationRequest.md b/docs/CertificateGenerationRequest.md new file mode 100644 index 0000000..9297aa7 --- /dev/null +++ b/docs/CertificateGenerationRequest.md @@ -0,0 +1,14 @@ +# CertificateGenerationRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**common_name** | **String** | | +**subject_alt_name** | Option<**String**> | | [optional] +**validity_days** | **i32** | | +**alg** | Option<[**models::AlgEnum**](AlgEnum.md)> | | [optional][default to Rsa] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CertificateKeyPair.md b/docs/CertificateKeyPair.md new file mode 100644 index 0000000..160c806 --- /dev/null +++ b/docs/CertificateKeyPair.md @@ -0,0 +1,21 @@ +# CertificateKeyPair + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**fingerprint_sha256** | Option<**String**> | Get certificate Hash (SHA256) | [readonly] +**fingerprint_sha1** | Option<**String**> | Get certificate Hash (SHA1) | [readonly] +**cert_expiry** | Option<**String**> | Get certificate expiry | [readonly] +**cert_subject** | Option<**String**> | Get certificate subject as full rfc4514 | [readonly] +**private_key_available** | **bool** | Show if this keypair has a private key configured or not | [readonly] +**private_key_type** | Option<**String**> | Get the private key's type, if set | [readonly] +**certificate_download_url** | **String** | Get URL to download certificate | [readonly] +**private_key_download_url** | **String** | Get URL to download private key | [readonly] +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CertificateKeyPairRequest.md b/docs/CertificateKeyPairRequest.md new file mode 100644 index 0000000..e566723 --- /dev/null +++ b/docs/CertificateKeyPairRequest.md @@ -0,0 +1,13 @@ +# CertificateKeyPairRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**certificate_data** | **String** | PEM-encoded Certificate data | +**key_data** | Option<**String**> | Optional Private Key. If this is set, you can use this keypair for encryption. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ChallengeTypes.md b/docs/ChallengeTypes.md new file mode 100644 index 0000000..88101b1 --- /dev/null +++ b/docs/ChallengeTypes.md @@ -0,0 +1,10 @@ +# ChallengeTypes + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ClientTypeEnum.md b/docs/ClientTypeEnum.md new file mode 100644 index 0000000..03ad62f --- /dev/null +++ b/docs/ClientTypeEnum.md @@ -0,0 +1,13 @@ +# ClientTypeEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Confidential | confidential | +| Public | public | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Config.md b/docs/Config.md new file mode 100644 index 0000000..efabae1 --- /dev/null +++ b/docs/Config.md @@ -0,0 +1,16 @@ +# Config + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error_reporting** | [**models::ErrorReportingConfig**](ErrorReportingConfig.md) | | +**capabilities** | [**Vec**](CapabilitiesEnum.md) | | +**cache_timeout** | **i32** | | +**cache_timeout_flows** | **i32** | | +**cache_timeout_policies** | **i32** | | +**cache_timeout_reputation** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ConnectionToken.md b/docs/ConnectionToken.md new file mode 100644 index 0000000..72a3a77 --- /dev/null +++ b/docs/ConnectionToken.md @@ -0,0 +1,16 @@ +# ConnectionToken + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**provider** | **i32** | | +**provider_obj** | [**models::RacProvider**](RACProvider.md) | | [readonly] +**endpoint** | [**uuid::Uuid**](uuid::Uuid.md) | | +**endpoint_obj** | [**models::Endpoint**](Endpoint.md) | | [readonly] +**user** | [**models::GroupMember**](GroupMember.md) | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ConnectionTokenRequest.md b/docs/ConnectionTokenRequest.md new file mode 100644 index 0000000..a00e9db --- /dev/null +++ b/docs/ConnectionTokenRequest.md @@ -0,0 +1,13 @@ +# ConnectionTokenRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**provider** | **i32** | | +**endpoint** | [**uuid::Uuid**](uuid::Uuid.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ConsentChallenge.md b/docs/ConsentChallenge.md new file mode 100644 index 0000000..68cc63e --- /dev/null +++ b/docs/ConsentChallenge.md @@ -0,0 +1,19 @@ +# ConsentChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**flow_info** | Option<[**models::ContextualFlowInfo**](ContextualFlowInfo.md)> | | [optional] +**component** | Option<**String**> | | [optional][default to ak-stage-consent] +**response_errors** | Option<[**std::collections::HashMap>**](Vec.md)> | | [optional] +**pending_user** | **String** | | +**pending_user_avatar** | **String** | | +**header_text** | Option<**String**> | | [optional] +**permissions** | [**Vec**](ConsentPermission.md) | | +**additional_permissions** | [**Vec**](ConsentPermission.md) | | +**token** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ConsentChallengeResponseRequest.md b/docs/ConsentChallengeResponseRequest.md new file mode 100644 index 0000000..9153f76 --- /dev/null +++ b/docs/ConsentChallengeResponseRequest.md @@ -0,0 +1,12 @@ +# ConsentChallengeResponseRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | Option<**String**> | | [optional][default to ak-stage-consent] +**token** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ConsentPermission.md b/docs/ConsentPermission.md new file mode 100644 index 0000000..b5ec6cf --- /dev/null +++ b/docs/ConsentPermission.md @@ -0,0 +1,12 @@ +# ConsentPermission + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**id** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ConsentStage.md b/docs/ConsentStage.md new file mode 100644 index 0000000..1dcafc4 --- /dev/null +++ b/docs/ConsentStage.md @@ -0,0 +1,19 @@ +# ConsentStage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**component** | **String** | Get object type so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**flow_set** | Option<[**Vec**](FlowSet.md)> | | [optional] +**mode** | Option<[**models::ConsentStageModeEnum**](ConsentStageModeEnum.md)> | | [optional] +**consent_expire_in** | Option<**String**> | Offset after which consent expires. (Format: hours=1;minutes=2;seconds=3). | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ConsentStageModeEnum.md b/docs/ConsentStageModeEnum.md new file mode 100644 index 0000000..53434d1 --- /dev/null +++ b/docs/ConsentStageModeEnum.md @@ -0,0 +1,14 @@ +# ConsentStageModeEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| AlwaysRequire | always_require | +| Permanent | permanent | +| Expiring | expiring | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ConsentStageRequest.md b/docs/ConsentStageRequest.md new file mode 100644 index 0000000..9c5c28b --- /dev/null +++ b/docs/ConsentStageRequest.md @@ -0,0 +1,14 @@ +# ConsentStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**mode** | Option<[**models::ConsentStageModeEnum**](ConsentStageModeEnum.md)> | | [optional] +**consent_expire_in** | Option<**String**> | Offset after which consent expires. (Format: hours=1;minutes=2;seconds=3). | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ContextualFlowInfo.md b/docs/ContextualFlowInfo.md new file mode 100644 index 0000000..4990c01 --- /dev/null +++ b/docs/ContextualFlowInfo.md @@ -0,0 +1,14 @@ +# ContextualFlowInfo + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**title** | Option<**String**> | | [optional] +**background** | Option<**String**> | | [optional] +**cancel_url** | **String** | | +**layout** | [**models::ContextualFlowInfoLayoutEnum**](ContextualFlowInfoLayoutEnum.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ContextualFlowInfoLayoutEnum.md b/docs/ContextualFlowInfoLayoutEnum.md new file mode 100644 index 0000000..7a41477 --- /dev/null +++ b/docs/ContextualFlowInfoLayoutEnum.md @@ -0,0 +1,16 @@ +# ContextualFlowInfoLayoutEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Stacked | stacked | +| ContentLeft | content_left | +| ContentRight | content_right | +| SidebarLeft | sidebar_left | +| SidebarRight | sidebar_right | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Coordinate.md b/docs/Coordinate.md new file mode 100644 index 0000000..8bf207d --- /dev/null +++ b/docs/Coordinate.md @@ -0,0 +1,12 @@ +# Coordinate + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**x_cord** | **i32** | | [readonly] +**y_cord** | **i32** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CoreApi.md b/docs/CoreApi.md new file mode 100644 index 0000000..8e9b456 --- /dev/null +++ b/docs/CoreApi.md @@ -0,0 +1,2015 @@ +# \CoreApi + +All URIs are relative to *http://localhost/api/v3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**core_applications_check_access_retrieve**](CoreApi.md#core_applications_check_access_retrieve) | **GET** /core/applications/{slug}/check_access/ | +[**core_applications_create**](CoreApi.md#core_applications_create) | **POST** /core/applications/ | +[**core_applications_destroy**](CoreApi.md#core_applications_destroy) | **DELETE** /core/applications/{slug}/ | +[**core_applications_list**](CoreApi.md#core_applications_list) | **GET** /core/applications/ | +[**core_applications_metrics_list**](CoreApi.md#core_applications_metrics_list) | **GET** /core/applications/{slug}/metrics/ | +[**core_applications_partial_update**](CoreApi.md#core_applications_partial_update) | **PATCH** /core/applications/{slug}/ | +[**core_applications_retrieve**](CoreApi.md#core_applications_retrieve) | **GET** /core/applications/{slug}/ | +[**core_applications_set_icon_create**](CoreApi.md#core_applications_set_icon_create) | **POST** /core/applications/{slug}/set_icon/ | +[**core_applications_set_icon_url_create**](CoreApi.md#core_applications_set_icon_url_create) | **POST** /core/applications/{slug}/set_icon_url/ | +[**core_applications_update**](CoreApi.md#core_applications_update) | **PUT** /core/applications/{slug}/ | +[**core_applications_used_by_list**](CoreApi.md#core_applications_used_by_list) | **GET** /core/applications/{slug}/used_by/ | +[**core_authenticated_sessions_destroy**](CoreApi.md#core_authenticated_sessions_destroy) | **DELETE** /core/authenticated_sessions/{uuid}/ | +[**core_authenticated_sessions_list**](CoreApi.md#core_authenticated_sessions_list) | **GET** /core/authenticated_sessions/ | +[**core_authenticated_sessions_retrieve**](CoreApi.md#core_authenticated_sessions_retrieve) | **GET** /core/authenticated_sessions/{uuid}/ | +[**core_authenticated_sessions_used_by_list**](CoreApi.md#core_authenticated_sessions_used_by_list) | **GET** /core/authenticated_sessions/{uuid}/used_by/ | +[**core_brands_create**](CoreApi.md#core_brands_create) | **POST** /core/brands/ | +[**core_brands_current_retrieve**](CoreApi.md#core_brands_current_retrieve) | **GET** /core/brands/current/ | +[**core_brands_destroy**](CoreApi.md#core_brands_destroy) | **DELETE** /core/brands/{brand_uuid}/ | +[**core_brands_list**](CoreApi.md#core_brands_list) | **GET** /core/brands/ | +[**core_brands_partial_update**](CoreApi.md#core_brands_partial_update) | **PATCH** /core/brands/{brand_uuid}/ | +[**core_brands_retrieve**](CoreApi.md#core_brands_retrieve) | **GET** /core/brands/{brand_uuid}/ | +[**core_brands_update**](CoreApi.md#core_brands_update) | **PUT** /core/brands/{brand_uuid}/ | +[**core_brands_used_by_list**](CoreApi.md#core_brands_used_by_list) | **GET** /core/brands/{brand_uuid}/used_by/ | +[**core_groups_add_user_create**](CoreApi.md#core_groups_add_user_create) | **POST** /core/groups/{group_uuid}/add_user/ | +[**core_groups_create**](CoreApi.md#core_groups_create) | **POST** /core/groups/ | +[**core_groups_destroy**](CoreApi.md#core_groups_destroy) | **DELETE** /core/groups/{group_uuid}/ | +[**core_groups_list**](CoreApi.md#core_groups_list) | **GET** /core/groups/ | +[**core_groups_partial_update**](CoreApi.md#core_groups_partial_update) | **PATCH** /core/groups/{group_uuid}/ | +[**core_groups_remove_user_create**](CoreApi.md#core_groups_remove_user_create) | **POST** /core/groups/{group_uuid}/remove_user/ | +[**core_groups_retrieve**](CoreApi.md#core_groups_retrieve) | **GET** /core/groups/{group_uuid}/ | +[**core_groups_update**](CoreApi.md#core_groups_update) | **PUT** /core/groups/{group_uuid}/ | +[**core_groups_used_by_list**](CoreApi.md#core_groups_used_by_list) | **GET** /core/groups/{group_uuid}/used_by/ | +[**core_tokens_create**](CoreApi.md#core_tokens_create) | **POST** /core/tokens/ | +[**core_tokens_destroy**](CoreApi.md#core_tokens_destroy) | **DELETE** /core/tokens/{identifier}/ | +[**core_tokens_list**](CoreApi.md#core_tokens_list) | **GET** /core/tokens/ | +[**core_tokens_partial_update**](CoreApi.md#core_tokens_partial_update) | **PATCH** /core/tokens/{identifier}/ | +[**core_tokens_retrieve**](CoreApi.md#core_tokens_retrieve) | **GET** /core/tokens/{identifier}/ | +[**core_tokens_set_key_create**](CoreApi.md#core_tokens_set_key_create) | **POST** /core/tokens/{identifier}/set_key/ | +[**core_tokens_update**](CoreApi.md#core_tokens_update) | **PUT** /core/tokens/{identifier}/ | +[**core_tokens_used_by_list**](CoreApi.md#core_tokens_used_by_list) | **GET** /core/tokens/{identifier}/used_by/ | +[**core_tokens_view_key_retrieve**](CoreApi.md#core_tokens_view_key_retrieve) | **GET** /core/tokens/{identifier}/view_key/ | +[**core_transactional_applications_update**](CoreApi.md#core_transactional_applications_update) | **PUT** /core/transactional/applications/ | +[**core_user_consent_destroy**](CoreApi.md#core_user_consent_destroy) | **DELETE** /core/user_consent/{id}/ | +[**core_user_consent_list**](CoreApi.md#core_user_consent_list) | **GET** /core/user_consent/ | +[**core_user_consent_retrieve**](CoreApi.md#core_user_consent_retrieve) | **GET** /core/user_consent/{id}/ | +[**core_user_consent_used_by_list**](CoreApi.md#core_user_consent_used_by_list) | **GET** /core/user_consent/{id}/used_by/ | +[**core_users_create**](CoreApi.md#core_users_create) | **POST** /core/users/ | +[**core_users_destroy**](CoreApi.md#core_users_destroy) | **DELETE** /core/users/{id}/ | +[**core_users_impersonate_create**](CoreApi.md#core_users_impersonate_create) | **POST** /core/users/{id}/impersonate/ | +[**core_users_impersonate_end_retrieve**](CoreApi.md#core_users_impersonate_end_retrieve) | **GET** /core/users/impersonate_end/ | +[**core_users_list**](CoreApi.md#core_users_list) | **GET** /core/users/ | +[**core_users_me_retrieve**](CoreApi.md#core_users_me_retrieve) | **GET** /core/users/me/ | +[**core_users_metrics_retrieve**](CoreApi.md#core_users_metrics_retrieve) | **GET** /core/users/{id}/metrics/ | +[**core_users_partial_update**](CoreApi.md#core_users_partial_update) | **PATCH** /core/users/{id}/ | +[**core_users_paths_retrieve**](CoreApi.md#core_users_paths_retrieve) | **GET** /core/users/paths/ | +[**core_users_recovery_create**](CoreApi.md#core_users_recovery_create) | **POST** /core/users/{id}/recovery/ | +[**core_users_recovery_email_create**](CoreApi.md#core_users_recovery_email_create) | **POST** /core/users/{id}/recovery_email/ | +[**core_users_retrieve**](CoreApi.md#core_users_retrieve) | **GET** /core/users/{id}/ | +[**core_users_service_account_create**](CoreApi.md#core_users_service_account_create) | **POST** /core/users/service_account/ | +[**core_users_set_password_create**](CoreApi.md#core_users_set_password_create) | **POST** /core/users/{id}/set_password/ | +[**core_users_update**](CoreApi.md#core_users_update) | **PUT** /core/users/{id}/ | +[**core_users_used_by_list**](CoreApi.md#core_users_used_by_list) | **GET** /core/users/{id}/used_by/ | + + + +## core_applications_check_access_retrieve + +> models::PolicyTestResult core_applications_check_access_retrieve(slug, for_user) + + +Check access to a single application by slug + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | +**for_user** | Option<**i32**> | | | + +### Return type + +[**models::PolicyTestResult**](PolicyTestResult.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_applications_create + +> models::Application core_applications_create(application_request) + + +Application Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**application_request** | [**ApplicationRequest**](ApplicationRequest.md) | | [required] | + +### Return type + +[**models::Application**](Application.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_applications_destroy + +> core_applications_destroy(slug) + + +Application Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_applications_list + +> models::PaginatedApplicationList core_applications_list(for_user, group, meta_description, meta_launch_url, meta_publisher, name, only_with_launch_url, ordering, page, page_size, search, slug, superuser_full_list) + + +Custom list method that checks Policy based access instead of guardian + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**for_user** | Option<**i32**> | | | +**group** | Option<**String**> | | | +**meta_description** | Option<**String**> | | | +**meta_launch_url** | Option<**String**> | | | +**meta_publisher** | Option<**String**> | | | +**name** | Option<**String**> | | | +**only_with_launch_url** | Option<**bool**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**slug** | Option<**String**> | | | +**superuser_full_list** | Option<**bool**> | | | + +### Return type + +[**models::PaginatedApplicationList**](PaginatedApplicationList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_applications_metrics_list + +> Vec core_applications_metrics_list(slug) + + +Metrics for application logins + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + +[**Vec**](Coordinate.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_applications_partial_update + +> models::Application core_applications_partial_update(slug, patched_application_request) + + +Application Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | +**patched_application_request** | Option<[**PatchedApplicationRequest**](PatchedApplicationRequest.md)> | | | + +### Return type + +[**models::Application**](Application.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_applications_retrieve + +> models::Application core_applications_retrieve(slug) + + +Application Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + +[**models::Application**](Application.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_applications_set_icon_create + +> core_applications_set_icon_create(slug, file, clear) + + +Set application icon + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | +**file** | Option<**std::path::PathBuf**> | | | +**clear** | Option<**bool**> | | |[default to false] + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: multipart/form-data +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_applications_set_icon_url_create + +> core_applications_set_icon_url_create(slug, file_path_request) + + +Set application icon (as URL) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | +**file_path_request** | [**FilePathRequest**](FilePathRequest.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_applications_update + +> models::Application core_applications_update(slug, application_request) + + +Application Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | +**application_request** | [**ApplicationRequest**](ApplicationRequest.md) | | [required] | + +### Return type + +[**models::Application**](Application.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_applications_used_by_list + +> Vec core_applications_used_by_list(slug) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_authenticated_sessions_destroy + +> core_authenticated_sessions_destroy(uuid) + + +AuthenticatedSession Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Authenticated Session. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_authenticated_sessions_list + +> models::PaginatedAuthenticatedSessionList core_authenticated_sessions_list(last_ip, last_user_agent, ordering, page, page_size, search, user__username) + + +AuthenticatedSession Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**last_ip** | Option<**String**> | | | +**last_user_agent** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**user__username** | Option<**String**> | | | + +### Return type + +[**models::PaginatedAuthenticatedSessionList**](PaginatedAuthenticatedSessionList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_authenticated_sessions_retrieve + +> models::AuthenticatedSession core_authenticated_sessions_retrieve(uuid) + + +AuthenticatedSession Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Authenticated Session. | [required] | + +### Return type + +[**models::AuthenticatedSession**](AuthenticatedSession.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_authenticated_sessions_used_by_list + +> Vec core_authenticated_sessions_used_by_list(uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Authenticated Session. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_brands_create + +> models::Brand core_brands_create(brand_request) + + +Brand Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**brand_request** | [**BrandRequest**](BrandRequest.md) | | [required] | + +### Return type + +[**models::Brand**](Brand.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_brands_current_retrieve + +> models::CurrentBrand core_brands_current_retrieve() + + +Get current brand + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**models::CurrentBrand**](CurrentBrand.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_brands_destroy + +> core_brands_destroy(brand_uuid) + + +Brand Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**brand_uuid** | **uuid::Uuid** | A UUID string identifying this Brand. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_brands_list + +> models::PaginatedBrandList core_brands_list(brand_uuid, branding_favicon, branding_logo, branding_title, default, domain, flow_authentication, flow_device_code, flow_invalidation, flow_recovery, flow_unenrollment, flow_user_settings, ordering, page, page_size, search, web_certificate) + + +Brand Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**brand_uuid** | Option<**uuid::Uuid**> | | | +**branding_favicon** | Option<**String**> | | | +**branding_logo** | Option<**String**> | | | +**branding_title** | Option<**String**> | | | +**default** | Option<**bool**> | | | +**domain** | Option<**String**> | | | +**flow_authentication** | Option<**uuid::Uuid**> | | | +**flow_device_code** | Option<**uuid::Uuid**> | | | +**flow_invalidation** | Option<**uuid::Uuid**> | | | +**flow_recovery** | Option<**uuid::Uuid**> | | | +**flow_unenrollment** | Option<**uuid::Uuid**> | | | +**flow_user_settings** | Option<**uuid::Uuid**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**web_certificate** | Option<**uuid::Uuid**> | | | + +### Return type + +[**models::PaginatedBrandList**](PaginatedBrandList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_brands_partial_update + +> models::Brand core_brands_partial_update(brand_uuid, patched_brand_request) + + +Brand Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**brand_uuid** | **uuid::Uuid** | A UUID string identifying this Brand. | [required] | +**patched_brand_request** | Option<[**PatchedBrandRequest**](PatchedBrandRequest.md)> | | | + +### Return type + +[**models::Brand**](Brand.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_brands_retrieve + +> models::Brand core_brands_retrieve(brand_uuid) + + +Brand Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**brand_uuid** | **uuid::Uuid** | A UUID string identifying this Brand. | [required] | + +### Return type + +[**models::Brand**](Brand.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_brands_update + +> models::Brand core_brands_update(brand_uuid, brand_request) + + +Brand Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**brand_uuid** | **uuid::Uuid** | A UUID string identifying this Brand. | [required] | +**brand_request** | [**BrandRequest**](BrandRequest.md) | | [required] | + +### Return type + +[**models::Brand**](Brand.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_brands_used_by_list + +> Vec core_brands_used_by_list(brand_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**brand_uuid** | **uuid::Uuid** | A UUID string identifying this Brand. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_groups_add_user_create + +> core_groups_add_user_create(group_uuid, user_account_request) + + +Add user to group + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**group_uuid** | **uuid::Uuid** | A UUID string identifying this Group. | [required] | +**user_account_request** | [**UserAccountRequest**](UserAccountRequest.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_groups_create + +> models::Group core_groups_create(group_request) + + +Group Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**group_request** | [**GroupRequest**](GroupRequest.md) | | [required] | + +### Return type + +[**models::Group**](Group.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_groups_destroy + +> core_groups_destroy(group_uuid) + + +Group Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**group_uuid** | **uuid::Uuid** | A UUID string identifying this Group. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_groups_list + +> models::PaginatedGroupList core_groups_list(attributes, include_users, is_superuser, members_by_pk, members_by_username, name, ordering, page, page_size, search) + + +Group Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**attributes** | Option<**String**> | Attributes | | +**include_users** | Option<**bool**> | | |[default to true] +**is_superuser** | Option<**bool**> | | | +**members_by_pk** | Option<[**Vec**](i32.md)> | | | +**members_by_username** | Option<[**Vec**](String.md)> | Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedGroupList**](PaginatedGroupList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_groups_partial_update + +> models::Group core_groups_partial_update(group_uuid, patched_group_request) + + +Group Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**group_uuid** | **uuid::Uuid** | A UUID string identifying this Group. | [required] | +**patched_group_request** | Option<[**PatchedGroupRequest**](PatchedGroupRequest.md)> | | | + +### Return type + +[**models::Group**](Group.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_groups_remove_user_create + +> core_groups_remove_user_create(group_uuid, user_account_request) + + +Add user to group + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**group_uuid** | **uuid::Uuid** | A UUID string identifying this Group. | [required] | +**user_account_request** | [**UserAccountRequest**](UserAccountRequest.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_groups_retrieve + +> models::Group core_groups_retrieve(group_uuid, include_users) + + +Group Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**group_uuid** | **uuid::Uuid** | A UUID string identifying this Group. | [required] | +**include_users** | Option<**bool**> | | |[default to true] + +### Return type + +[**models::Group**](Group.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_groups_update + +> models::Group core_groups_update(group_uuid, group_request) + + +Group Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**group_uuid** | **uuid::Uuid** | A UUID string identifying this Group. | [required] | +**group_request** | [**GroupRequest**](GroupRequest.md) | | [required] | + +### Return type + +[**models::Group**](Group.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_groups_used_by_list + +> Vec core_groups_used_by_list(group_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**group_uuid** | **uuid::Uuid** | A UUID string identifying this Group. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_tokens_create + +> models::Token core_tokens_create(token_request) + + +Token Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**token_request** | [**TokenRequest**](TokenRequest.md) | | [required] | + +### Return type + +[**models::Token**](Token.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_tokens_destroy + +> core_tokens_destroy(identifier) + + +Token Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**identifier** | **String** | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_tokens_list + +> models::PaginatedTokenList core_tokens_list(description, expires, expiring, identifier, intent, managed, ordering, page, page_size, search, user__username) + + +Token Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**description** | Option<**String**> | | | +**expires** | Option<**String**> | | | +**expiring** | Option<**bool**> | | | +**identifier** | Option<**String**> | | | +**intent** | Option<**String**> | | | +**managed** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**user__username** | Option<**String**> | | | + +### Return type + +[**models::PaginatedTokenList**](PaginatedTokenList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_tokens_partial_update + +> models::Token core_tokens_partial_update(identifier, patched_token_request) + + +Token Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**identifier** | **String** | | [required] | +**patched_token_request** | Option<[**PatchedTokenRequest**](PatchedTokenRequest.md)> | | | + +### Return type + +[**models::Token**](Token.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_tokens_retrieve + +> models::Token core_tokens_retrieve(identifier) + + +Token Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**identifier** | **String** | | [required] | + +### Return type + +[**models::Token**](Token.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_tokens_set_key_create + +> core_tokens_set_key_create(identifier, token_set_key_request) + + +Set token key. Action is logged as event. `authentik_core.set_token_key` permission is required. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**identifier** | **String** | | [required] | +**token_set_key_request** | [**TokenSetKeyRequest**](TokenSetKeyRequest.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_tokens_update + +> models::Token core_tokens_update(identifier, token_request) + + +Token Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**identifier** | **String** | | [required] | +**token_request** | [**TokenRequest**](TokenRequest.md) | | [required] | + +### Return type + +[**models::Token**](Token.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_tokens_used_by_list + +> Vec core_tokens_used_by_list(identifier) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**identifier** | **String** | | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_tokens_view_key_retrieve + +> models::TokenView core_tokens_view_key_retrieve(identifier) + + +Return token key and log access + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**identifier** | **String** | | [required] | + +### Return type + +[**models::TokenView**](TokenView.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_transactional_applications_update + +> models::TransactionApplicationResponse core_transactional_applications_update(transaction_application_request) + + +Convert data into a blueprint, validate it and apply it + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**transaction_application_request** | [**TransactionApplicationRequest**](TransactionApplicationRequest.md) | | [required] | + +### Return type + +[**models::TransactionApplicationResponse**](TransactionApplicationResponse.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_user_consent_destroy + +> core_user_consent_destroy(id) + + +UserConsent Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User Consent. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_user_consent_list + +> models::PaginatedUserConsentList core_user_consent_list(application, ordering, page, page_size, search, user) + + +UserConsent Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**application** | Option<**uuid::Uuid**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**user** | Option<**i32**> | | | + +### Return type + +[**models::PaginatedUserConsentList**](PaginatedUserConsentList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_user_consent_retrieve + +> models::UserConsent core_user_consent_retrieve(id) + + +UserConsent Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User Consent. | [required] | + +### Return type + +[**models::UserConsent**](UserConsent.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_user_consent_used_by_list + +> Vec core_user_consent_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User Consent. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_users_create + +> models::User core_users_create(user_request) + + +User Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**user_request** | [**UserRequest**](UserRequest.md) | | [required] | + +### Return type + +[**models::User**](User.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_users_destroy + +> core_users_destroy(id) + + +User Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_users_impersonate_create + +> core_users_impersonate_create(id) + + +Impersonate a user + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_users_impersonate_end_retrieve + +> core_users_impersonate_end_retrieve() + + +End Impersonation a user + +### Parameters + +This endpoint does not need any parameter. + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_users_list + +> models::PaginatedUserList core_users_list(attributes, email, groups_by_name, groups_by_pk, include_groups, is_active, is_superuser, name, ordering, page, page_size, path, path_startswith, search, r#type, username, uuid) + + +User Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**attributes** | Option<**String**> | Attributes | | +**email** | Option<**String**> | | | +**groups_by_name** | Option<[**Vec**](String.md)> | | | +**groups_by_pk** | Option<[**Vec**](uuid::Uuid.md)> | | | +**include_groups** | Option<**bool**> | | |[default to true] +**is_active** | Option<**bool**> | | | +**is_superuser** | Option<**bool**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**path** | Option<**String**> | | | +**path_startswith** | Option<**String**> | | | +**search** | Option<**String**> | A search term. | | +**r#type** | Option<[**Vec**](String.md)> | | | +**username** | Option<**String**> | | | +**uuid** | Option<**uuid::Uuid**> | | | + +### Return type + +[**models::PaginatedUserList**](PaginatedUserList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_users_me_retrieve + +> models::SessionUser core_users_me_retrieve() + + +Get information about current user + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**models::SessionUser**](SessionUser.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_users_metrics_retrieve + +> models::UserMetrics core_users_metrics_retrieve(id) + + +User metrics per 1h + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User. | [required] | + +### Return type + +[**models::UserMetrics**](UserMetrics.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_users_partial_update + +> models::User core_users_partial_update(id, patched_user_request) + + +User Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User. | [required] | +**patched_user_request** | Option<[**PatchedUserRequest**](PatchedUserRequest.md)> | | | + +### Return type + +[**models::User**](User.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_users_paths_retrieve + +> models::UserPath core_users_paths_retrieve(search) + + +Get all user paths + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**search** | Option<**String**> | | | + +### Return type + +[**models::UserPath**](UserPath.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_users_recovery_create + +> models::Link core_users_recovery_create(id) + + +Create a temporary link that a user can use to recover their accounts + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User. | [required] | + +### Return type + +[**models::Link**](Link.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_users_recovery_email_create + +> core_users_recovery_email_create(email_stage, id) + + +Create a temporary link that a user can use to recover their accounts + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**email_stage** | **String** | | [required] | +**id** | **i32** | A unique integer value identifying this User. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_users_retrieve + +> models::User core_users_retrieve(id) + + +User Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User. | [required] | + +### Return type + +[**models::User**](User.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_users_service_account_create + +> models::UserServiceAccountResponse core_users_service_account_create(user_service_account_request) + + +Create a new user account that is marked as a service account + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**user_service_account_request** | [**UserServiceAccountRequest**](UserServiceAccountRequest.md) | | [required] | + +### Return type + +[**models::UserServiceAccountResponse**](UserServiceAccountResponse.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_users_set_password_create + +> core_users_set_password_create(id, user_password_set_request) + + +Set password for user + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User. | [required] | +**user_password_set_request** | [**UserPasswordSetRequest**](UserPasswordSetRequest.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_users_update + +> models::User core_users_update(id, user_request) + + +User Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User. | [required] | +**user_request** | [**UserRequest**](UserRequest.md) | | [required] | + +### Return type + +[**models::User**](User.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## core_users_used_by_list + +> Vec core_users_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/CountryCodeEnum.md b/docs/CountryCodeEnum.md new file mode 100644 index 0000000..ee31bf1 --- /dev/null +++ b/docs/CountryCodeEnum.md @@ -0,0 +1,260 @@ +# CountryCodeEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Af | AF | +| Ax | AX | +| Al | AL | +| Dz | DZ | +| As | AS | +| Ad | AD | +| Ao | AO | +| Ai | AI | +| Aq | AQ | +| Ag | AG | +| Ar | AR | +| Am | AM | +| Aw | AW | +| Au | AU | +| At | AT | +| Az | AZ | +| Bs | BS | +| Bh | BH | +| Bd | BD | +| Bb | BB | +| By | BY | +| Be | BE | +| Bz | BZ | +| Bj | BJ | +| Bm | BM | +| Bt | BT | +| Bo | BO | +| Bq | BQ | +| Ba | BA | +| Bw | BW | +| Bv | BV | +| Br | BR | +| Io | IO | +| Bn | BN | +| Bg | BG | +| Bf | BF | +| Bi | BI | +| Cv | CV | +| Kh | KH | +| Cm | CM | +| Ca | CA | +| Ky | KY | +| Cf | CF | +| Td | TD | +| Cl | CL | +| Cn | CN | +| Cx | CX | +| Cc | CC | +| Co | CO | +| Km | KM | +| Cg | CG | +| Cd | CD | +| Ck | CK | +| Cr | CR | +| Ci | CI | +| Hr | HR | +| Cu | CU | +| Cw | CW | +| Cy | CY | +| Cz | CZ | +| Dk | DK | +| Dj | DJ | +| Dm | DM | +| Do | DO | +| Ec | EC | +| Eg | EG | +| Sv | SV | +| Gq | GQ | +| Er | ER | +| Ee | EE | +| Sz | SZ | +| Et | ET | +| Fk | FK | +| Fo | FO | +| Fj | FJ | +| Fi | FI | +| Fr | FR | +| Gf | GF | +| Pf | PF | +| Tf | TF | +| Ga | GA | +| Gm | GM | +| Ge | GE | +| De | DE | +| Gh | GH | +| Gi | GI | +| Gr | GR | +| Gl | GL | +| Gd | GD | +| Gp | GP | +| Gu | GU | +| Gt | GT | +| Gg | GG | +| Gn | GN | +| Gw | GW | +| Gy | GY | +| Ht | HT | +| Hm | HM | +| Va | VA | +| Hn | HN | +| Hk | HK | +| Hu | HU | +| Is | IS | +| In | IN | +| Id | ID | +| Ir | IR | +| Iq | IQ | +| Ie | IE | +| Im | IM | +| Il | IL | +| It | IT | +| Jm | JM | +| Jp | JP | +| Je | JE | +| Jo | JO | +| Kz | KZ | +| Ke | KE | +| Ki | KI | +| Kw | KW | +| Kg | KG | +| La | LA | +| Lv | LV | +| Lb | LB | +| Ls | LS | +| Lr | LR | +| Ly | LY | +| Li | LI | +| Lt | LT | +| Lu | LU | +| Mo | MO | +| Mg | MG | +| Mw | MW | +| My | MY | +| Mv | MV | +| Ml | ML | +| Mt | MT | +| Mh | MH | +| Mq | MQ | +| Mr | MR | +| Mu | MU | +| Yt | YT | +| Mx | MX | +| Fm | FM | +| Md | MD | +| Mc | MC | +| Mn | MN | +| Me | ME | +| Ms | MS | +| Ma | MA | +| Mz | MZ | +| Mm | MM | +| Na | NA | +| Nr | NR | +| Np | NP | +| Nl | NL | +| Nc | NC | +| Nz | NZ | +| Ni | NI | +| Ne | NE | +| Ng | NG | +| Nu | NU | +| Nf | NF | +| Kp | KP | +| Mk | MK | +| Mp | MP | +| No | NO | +| Om | OM | +| Pk | PK | +| Pw | PW | +| Ps | PS | +| Pa | PA | +| Pg | PG | +| Py | PY | +| Pe | PE | +| Ph | PH | +| Pn | PN | +| Pl | PL | +| Pt | PT | +| Pr | PR | +| Qa | QA | +| Re | RE | +| Ro | RO | +| Ru | RU | +| Rw | RW | +| Bl | BL | +| Sh | SH | +| Kn | KN | +| Lc | LC | +| Mf | MF | +| Pm | PM | +| Vc | VC | +| Ws | WS | +| Sm | SM | +| St | ST | +| Sa | SA | +| Sn | SN | +| Rs | RS | +| Sc | SC | +| Sl | SL | +| Sg | SG | +| Sx | SX | +| Sk | SK | +| Si | SI | +| Sb | SB | +| So | SO | +| Za | ZA | +| Gs | GS | +| Kr | KR | +| Ss | SS | +| Es | ES | +| Lk | LK | +| Sd | SD | +| Sr | SR | +| Sj | SJ | +| Se | SE | +| Ch | CH | +| Sy | SY | +| Tw | TW | +| Tj | TJ | +| Tz | TZ | +| Th | TH | +| Tl | TL | +| Tg | TG | +| Tk | TK | +| To | TO | +| Tt | TT | +| Tn | TN | +| Tr | TR | +| Tm | TM | +| Tc | TC | +| Tv | TV | +| Ug | UG | +| Ua | UA | +| Ae | AE | +| Gb | GB | +| Um | UM | +| Us | US | +| Uy | UY | +| Uz | UZ | +| Vu | VU | +| Ve | VE | +| Vn | VN | +| Vg | VG | +| Vi | VI | +| Wf | WF | +| Eh | EH | +| Ye | YE | +| Zm | ZM | +| Zw | ZW | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CryptoApi.md b/docs/CryptoApi.md new file mode 100644 index 0000000..3fcb149 --- /dev/null +++ b/docs/CryptoApi.md @@ -0,0 +1,329 @@ +# \CryptoApi + +All URIs are relative to *http://localhost/api/v3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**crypto_certificatekeypairs_create**](CryptoApi.md#crypto_certificatekeypairs_create) | **POST** /crypto/certificatekeypairs/ | +[**crypto_certificatekeypairs_destroy**](CryptoApi.md#crypto_certificatekeypairs_destroy) | **DELETE** /crypto/certificatekeypairs/{kp_uuid}/ | +[**crypto_certificatekeypairs_generate_create**](CryptoApi.md#crypto_certificatekeypairs_generate_create) | **POST** /crypto/certificatekeypairs/generate/ | +[**crypto_certificatekeypairs_list**](CryptoApi.md#crypto_certificatekeypairs_list) | **GET** /crypto/certificatekeypairs/ | +[**crypto_certificatekeypairs_partial_update**](CryptoApi.md#crypto_certificatekeypairs_partial_update) | **PATCH** /crypto/certificatekeypairs/{kp_uuid}/ | +[**crypto_certificatekeypairs_retrieve**](CryptoApi.md#crypto_certificatekeypairs_retrieve) | **GET** /crypto/certificatekeypairs/{kp_uuid}/ | +[**crypto_certificatekeypairs_update**](CryptoApi.md#crypto_certificatekeypairs_update) | **PUT** /crypto/certificatekeypairs/{kp_uuid}/ | +[**crypto_certificatekeypairs_used_by_list**](CryptoApi.md#crypto_certificatekeypairs_used_by_list) | **GET** /crypto/certificatekeypairs/{kp_uuid}/used_by/ | +[**crypto_certificatekeypairs_view_certificate_retrieve**](CryptoApi.md#crypto_certificatekeypairs_view_certificate_retrieve) | **GET** /crypto/certificatekeypairs/{kp_uuid}/view_certificate/ | +[**crypto_certificatekeypairs_view_private_key_retrieve**](CryptoApi.md#crypto_certificatekeypairs_view_private_key_retrieve) | **GET** /crypto/certificatekeypairs/{kp_uuid}/view_private_key/ | + + + +## crypto_certificatekeypairs_create + +> models::CertificateKeyPair crypto_certificatekeypairs_create(certificate_key_pair_request) + + +CertificateKeyPair Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**certificate_key_pair_request** | [**CertificateKeyPairRequest**](CertificateKeyPairRequest.md) | | [required] | + +### Return type + +[**models::CertificateKeyPair**](CertificateKeyPair.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## crypto_certificatekeypairs_destroy + +> crypto_certificatekeypairs_destroy(kp_uuid) + + +CertificateKeyPair Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**kp_uuid** | **uuid::Uuid** | A UUID string identifying this Certificate-Key Pair. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## crypto_certificatekeypairs_generate_create + +> models::CertificateKeyPair crypto_certificatekeypairs_generate_create(certificate_generation_request) + + +Generate a new, self-signed certificate-key pair + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**certificate_generation_request** | [**CertificateGenerationRequest**](CertificateGenerationRequest.md) | | [required] | + +### Return type + +[**models::CertificateKeyPair**](CertificateKeyPair.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## crypto_certificatekeypairs_list + +> models::PaginatedCertificateKeyPairList crypto_certificatekeypairs_list(has_key, include_details, managed, name, ordering, page, page_size, search) + + +CertificateKeyPair Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**has_key** | Option<**bool**> | Only return certificate-key pairs with keys | | +**include_details** | Option<**bool**> | | |[default to true] +**managed** | Option<**String**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedCertificateKeyPairList**](PaginatedCertificateKeyPairList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## crypto_certificatekeypairs_partial_update + +> models::CertificateKeyPair crypto_certificatekeypairs_partial_update(kp_uuid, patched_certificate_key_pair_request) + + +CertificateKeyPair Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**kp_uuid** | **uuid::Uuid** | A UUID string identifying this Certificate-Key Pair. | [required] | +**patched_certificate_key_pair_request** | Option<[**PatchedCertificateKeyPairRequest**](PatchedCertificateKeyPairRequest.md)> | | | + +### Return type + +[**models::CertificateKeyPair**](CertificateKeyPair.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## crypto_certificatekeypairs_retrieve + +> models::CertificateKeyPair crypto_certificatekeypairs_retrieve(kp_uuid) + + +CertificateKeyPair Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**kp_uuid** | **uuid::Uuid** | A UUID string identifying this Certificate-Key Pair. | [required] | + +### Return type + +[**models::CertificateKeyPair**](CertificateKeyPair.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## crypto_certificatekeypairs_update + +> models::CertificateKeyPair crypto_certificatekeypairs_update(kp_uuid, certificate_key_pair_request) + + +CertificateKeyPair Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**kp_uuid** | **uuid::Uuid** | A UUID string identifying this Certificate-Key Pair. | [required] | +**certificate_key_pair_request** | [**CertificateKeyPairRequest**](CertificateKeyPairRequest.md) | | [required] | + +### Return type + +[**models::CertificateKeyPair**](CertificateKeyPair.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## crypto_certificatekeypairs_used_by_list + +> Vec crypto_certificatekeypairs_used_by_list(kp_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**kp_uuid** | **uuid::Uuid** | A UUID string identifying this Certificate-Key Pair. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## crypto_certificatekeypairs_view_certificate_retrieve + +> models::CertificateData crypto_certificatekeypairs_view_certificate_retrieve(kp_uuid, download) + + +Return certificate-key pairs certificate and log access + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**kp_uuid** | **uuid::Uuid** | A UUID string identifying this Certificate-Key Pair. | [required] | +**download** | Option<**bool**> | | | + +### Return type + +[**models::CertificateData**](CertificateData.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## crypto_certificatekeypairs_view_private_key_retrieve + +> models::CertificateData crypto_certificatekeypairs_view_private_key_retrieve(kp_uuid, download) + + +Return certificate-key pairs private key and log access + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**kp_uuid** | **uuid::Uuid** | A UUID string identifying this Certificate-Key Pair. | [required] | +**download** | Option<**bool**> | | | + +### Return type + +[**models::CertificateData**](CertificateData.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/CurrentBrand.md b/docs/CurrentBrand.md new file mode 100644 index 0000000..d8a4aad --- /dev/null +++ b/docs/CurrentBrand.md @@ -0,0 +1,23 @@ +# CurrentBrand + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**matched_domain** | **String** | | +**branding_title** | **String** | | +**branding_logo** | **String** | | +**branding_favicon** | **String** | | +**ui_footer_links** | [**Vec**](FooterLink.md) | | [readonly] +**ui_theme** | [**models::UiThemeEnum**](UiThemeEnum.md) | | [readonly][default to Automatic] +**flow_authentication** | Option<**String**> | | [optional] +**flow_invalidation** | Option<**String**> | | [optional] +**flow_recovery** | Option<**String**> | | [optional] +**flow_unenrollment** | Option<**String**> | | [optional] +**flow_user_settings** | Option<**String**> | | [optional] +**flow_device_code** | Option<**String**> | | [optional] +**default_locale** | **String** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DeniedActionEnum.md b/docs/DeniedActionEnum.md new file mode 100644 index 0000000..104910c --- /dev/null +++ b/docs/DeniedActionEnum.md @@ -0,0 +1,14 @@ +# DeniedActionEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| MessageContinue | message_continue | +| Message | message | +| Continue | continue | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DenyStage.md b/docs/DenyStage.md new file mode 100644 index 0000000..d5a961f --- /dev/null +++ b/docs/DenyStage.md @@ -0,0 +1,18 @@ +# DenyStage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**component** | **String** | Get object type so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**flow_set** | Option<[**Vec**](FlowSet.md)> | | [optional] +**deny_message** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DenyStageRequest.md b/docs/DenyStageRequest.md new file mode 100644 index 0000000..75d9298 --- /dev/null +++ b/docs/DenyStageRequest.md @@ -0,0 +1,13 @@ +# DenyStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**deny_message** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DetailedCountry.md b/docs/DetailedCountry.md new file mode 100644 index 0000000..f8396e4 --- /dev/null +++ b/docs/DetailedCountry.md @@ -0,0 +1,12 @@ +# DetailedCountry + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**code** | [**models::CountryCodeEnum**](CountryCodeEnum.md) | | +**name** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DetailedCountryField.md b/docs/DetailedCountryField.md new file mode 100644 index 0000000..b0ef620 --- /dev/null +++ b/docs/DetailedCountryField.md @@ -0,0 +1,12 @@ +# DetailedCountryField + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**code** | [**models::CountryCodeEnum**](CountryCodeEnum.md) | | +**name** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DetailedCountryFieldRequest.md b/docs/DetailedCountryFieldRequest.md new file mode 100644 index 0000000..1337bf5 --- /dev/null +++ b/docs/DetailedCountryFieldRequest.md @@ -0,0 +1,12 @@ +# DetailedCountryFieldRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**code** | [**models::CountryCodeEnum**](CountryCodeEnum.md) | | +**name** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Device.md b/docs/Device.md new file mode 100644 index 0000000..fc67efa --- /dev/null +++ b/docs/Device.md @@ -0,0 +1,20 @@ +# Device + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**pk** | **i32** | | +**name** | **String** | | +**r#type** | **String** | Get type of device | [readonly] +**confirmed** | **bool** | | +**created** | **String** | | [readonly] +**last_updated** | **String** | | [readonly] +**last_used** | Option<**String**> | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DeviceChallenge.md b/docs/DeviceChallenge.md new file mode 100644 index 0000000..5fecb27 --- /dev/null +++ b/docs/DeviceChallenge.md @@ -0,0 +1,13 @@ +# DeviceChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**device_class** | **String** | | +**device_uid** | **String** | | +**challenge** | [**std::collections::HashMap**](serde_json::Value.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DeviceChallengeRequest.md b/docs/DeviceChallengeRequest.md new file mode 100644 index 0000000..affaebe --- /dev/null +++ b/docs/DeviceChallengeRequest.md @@ -0,0 +1,13 @@ +# DeviceChallengeRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**device_class** | **String** | | +**device_uid** | **String** | | +**challenge** | [**std::collections::HashMap**](serde_json::Value.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DeviceClassesEnum.md b/docs/DeviceClassesEnum.md new file mode 100644 index 0000000..564b7c0 --- /dev/null +++ b/docs/DeviceClassesEnum.md @@ -0,0 +1,16 @@ +# DeviceClassesEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Static | static | +| Totp | totp | +| Webauthn | webauthn | +| Duo | duo | +| Sms | sms | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DigestAlgorithmEnum.md b/docs/DigestAlgorithmEnum.md new file mode 100644 index 0000000..6d8a67c --- /dev/null +++ b/docs/DigestAlgorithmEnum.md @@ -0,0 +1,15 @@ +# DigestAlgorithmEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Variant2000Slash09SlashXmldsigHashSha1 | http://www.w3.org/2000/09/xmldsig#sha1 | +| Variant2001Slash04SlashXmlencHashSha256 | http://www.w3.org/2001/04/xmlenc#sha256 | +| Variant2001Slash04SlashXmldsigMoreHashSha384 | http://www.w3.org/2001/04/xmldsig-more#sha384 | +| Variant2001Slash04SlashXmlencHashSha512 | http://www.w3.org/2001/04/xmlenc#sha512 | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DigitsEnum.md b/docs/DigitsEnum.md new file mode 100644 index 0000000..1856cee --- /dev/null +++ b/docs/DigitsEnum.md @@ -0,0 +1,13 @@ +# DigitsEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Variant6 | 6 | +| Variant8 | 8 | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DockerServiceConnection.md b/docs/DockerServiceConnection.md new file mode 100644 index 0000000..f43b805 --- /dev/null +++ b/docs/DockerServiceConnection.md @@ -0,0 +1,20 @@ +# DockerServiceConnection + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**local** | Option<**bool**> | If enabled, use the local connection. Required Docker socket/Kubernetes Integration | [optional] +**component** | **String** | | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**url** | **String** | Can be in the format of 'unix://' when connecting to a local docker daemon, or 'https://:2376' when connecting to a remote system. | +**tls_verification** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | CA which the endpoint's Certificate is verified against. Can be left empty for no validation. | [optional] +**tls_authentication** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Certificate/Key used for authentication. Can be left empty for no authentication. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DockerServiceConnectionRequest.md b/docs/DockerServiceConnectionRequest.md new file mode 100644 index 0000000..96d4c3f --- /dev/null +++ b/docs/DockerServiceConnectionRequest.md @@ -0,0 +1,15 @@ +# DockerServiceConnectionRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**local** | Option<**bool**> | If enabled, use the local connection. Required Docker socket/Kubernetes Integration | [optional] +**url** | **String** | Can be in the format of 'unix://' when connecting to a local docker daemon, or 'https://:2376' when connecting to a remote system. | +**tls_verification** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | CA which the endpoint's Certificate is verified against. Can be left empty for no validation. | [optional] +**tls_authentication** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Certificate/Key used for authentication. Can be left empty for no authentication. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Domain.md b/docs/Domain.md new file mode 100644 index 0000000..3868c34 --- /dev/null +++ b/docs/Domain.md @@ -0,0 +1,14 @@ +# Domain + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **i32** | | [readonly] +**domain** | **String** | | +**is_primary** | Option<**bool**> | | [optional] +**tenant** | [**uuid::Uuid**](uuid::Uuid.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DomainRequest.md b/docs/DomainRequest.md new file mode 100644 index 0000000..a2b5ac6 --- /dev/null +++ b/docs/DomainRequest.md @@ -0,0 +1,13 @@ +# DomainRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**domain** | **String** | | +**is_primary** | Option<**bool**> | | [optional] +**tenant** | [**uuid::Uuid**](uuid::Uuid.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DummyChallenge.md b/docs/DummyChallenge.md new file mode 100644 index 0000000..7af75bb --- /dev/null +++ b/docs/DummyChallenge.md @@ -0,0 +1,14 @@ +# DummyChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**flow_info** | Option<[**models::ContextualFlowInfo**](ContextualFlowInfo.md)> | | [optional] +**component** | Option<**String**> | | [optional][default to ak-stage-dummy] +**response_errors** | Option<[**std::collections::HashMap>**](Vec.md)> | | [optional] +**name** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DummyChallengeResponseRequest.md b/docs/DummyChallengeResponseRequest.md new file mode 100644 index 0000000..ba7d21d --- /dev/null +++ b/docs/DummyChallengeResponseRequest.md @@ -0,0 +1,11 @@ +# DummyChallengeResponseRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | Option<**String**> | | [optional][default to ak-stage-dummy] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DummyPolicy.md b/docs/DummyPolicy.md new file mode 100644 index 0000000..f32a531 --- /dev/null +++ b/docs/DummyPolicy.md @@ -0,0 +1,21 @@ +# DummyPolicy + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**execution_logging** | Option<**bool**> | When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**bound_to** | **i32** | Return objects policy is bound to | [readonly] +**result** | Option<**bool**> | | [optional] +**wait_min** | Option<**i32**> | | [optional] +**wait_max** | Option<**i32**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DummyPolicyRequest.md b/docs/DummyPolicyRequest.md new file mode 100644 index 0000000..9e00df0 --- /dev/null +++ b/docs/DummyPolicyRequest.md @@ -0,0 +1,15 @@ +# DummyPolicyRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**execution_logging** | Option<**bool**> | When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. | [optional] +**result** | Option<**bool**> | | [optional] +**wait_min** | Option<**i32**> | | [optional] +**wait_max** | Option<**i32**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DummyStage.md b/docs/DummyStage.md new file mode 100644 index 0000000..4c7db21 --- /dev/null +++ b/docs/DummyStage.md @@ -0,0 +1,18 @@ +# DummyStage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**component** | **String** | Get object type so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**flow_set** | Option<[**Vec**](FlowSet.md)> | | [optional] +**throw_error** | Option<**bool**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DummyStageRequest.md b/docs/DummyStageRequest.md new file mode 100644 index 0000000..72fc6a4 --- /dev/null +++ b/docs/DummyStageRequest.md @@ -0,0 +1,13 @@ +# DummyStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**throw_error** | Option<**bool**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DuoDevice.md b/docs/DuoDevice.md new file mode 100644 index 0000000..c02aa41 --- /dev/null +++ b/docs/DuoDevice.md @@ -0,0 +1,12 @@ +# DuoDevice + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**name** | **String** | The human-readable name of this device. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DuoDeviceEnrollmentStatus.md b/docs/DuoDeviceEnrollmentStatus.md new file mode 100644 index 0000000..fb1ebf2 --- /dev/null +++ b/docs/DuoDeviceEnrollmentStatus.md @@ -0,0 +1,11 @@ +# DuoDeviceEnrollmentStatus + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**duo_response** | [**models::DuoResponseEnum**](DuoResponseEnum.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DuoDeviceRequest.md b/docs/DuoDeviceRequest.md new file mode 100644 index 0000000..6fe7f93 --- /dev/null +++ b/docs/DuoDeviceRequest.md @@ -0,0 +1,11 @@ +# DuoDeviceRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | The human-readable name of this device. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DuoResponseEnum.md b/docs/DuoResponseEnum.md new file mode 100644 index 0000000..b0c3993 --- /dev/null +++ b/docs/DuoResponseEnum.md @@ -0,0 +1,14 @@ +# DuoResponseEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Success | success | +| Waiting | waiting | +| Invalid | invalid | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EmailChallenge.md b/docs/EmailChallenge.md new file mode 100644 index 0000000..9647580 --- /dev/null +++ b/docs/EmailChallenge.md @@ -0,0 +1,13 @@ +# EmailChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**flow_info** | Option<[**models::ContextualFlowInfo**](ContextualFlowInfo.md)> | | [optional] +**component** | Option<**String**> | | [optional][default to ak-stage-email] +**response_errors** | Option<[**std::collections::HashMap>**](Vec.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EmailChallengeResponseRequest.md b/docs/EmailChallengeResponseRequest.md new file mode 100644 index 0000000..2a383a5 --- /dev/null +++ b/docs/EmailChallengeResponseRequest.md @@ -0,0 +1,11 @@ +# EmailChallengeResponseRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | Option<**String**> | | [optional][default to ak-stage-email] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EmailStage.md b/docs/EmailStage.md new file mode 100644 index 0000000..1fadd61 --- /dev/null +++ b/docs/EmailStage.md @@ -0,0 +1,29 @@ +# EmailStage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**component** | **String** | Get object type so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**flow_set** | Option<[**Vec**](FlowSet.md)> | | [optional] +**use_global_settings** | Option<**bool**> | When enabled, global Email connection settings will be used and connection settings below will be ignored. | [optional] +**host** | Option<**String**> | | [optional] +**port** | Option<**i32**> | | [optional] +**username** | Option<**String**> | | [optional] +**use_tls** | Option<**bool**> | | [optional] +**use_ssl** | Option<**bool**> | | [optional] +**timeout** | Option<**i32**> | | [optional] +**from_address** | Option<**String**> | | [optional] +**token_expiry** | Option<**i32**> | Time in minutes the token sent is valid. | [optional] +**subject** | Option<**String**> | | [optional] +**template** | Option<**String**> | | [optional] +**activate_user_on_success** | Option<**bool**> | Activate users upon completion of stage. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EmailStageRequest.md b/docs/EmailStageRequest.md new file mode 100644 index 0000000..0eb7407 --- /dev/null +++ b/docs/EmailStageRequest.md @@ -0,0 +1,25 @@ +# EmailStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**use_global_settings** | Option<**bool**> | When enabled, global Email connection settings will be used and connection settings below will be ignored. | [optional] +**host** | Option<**String**> | | [optional] +**port** | Option<**i32**> | | [optional] +**username** | Option<**String**> | | [optional] +**password** | Option<**String**> | | [optional] +**use_tls** | Option<**bool**> | | [optional] +**use_ssl** | Option<**bool**> | | [optional] +**timeout** | Option<**i32**> | | [optional] +**from_address** | Option<**String**> | | [optional] +**token_expiry** | Option<**i32**> | Time in minutes the token sent is valid. | [optional] +**subject** | Option<**String**> | | [optional] +**template** | Option<**String**> | | [optional] +**activate_user_on_success** | Option<**bool**> | Activate users upon completion of stage. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Endpoint.md b/docs/Endpoint.md new file mode 100644 index 0000000..175952a --- /dev/null +++ b/docs/Endpoint.md @@ -0,0 +1,21 @@ +# Endpoint + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**provider** | **i32** | | +**provider_obj** | [**models::RacProvider**](RACProvider.md) | | [readonly] +**protocol** | [**models::ProtocolEnum**](ProtocolEnum.md) | | +**host** | **String** | | +**settings** | Option<[**serde_json::Value**](.md)> | | [optional] +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**auth_mode** | [**models::AuthModeEnum**](AuthModeEnum.md) | | +**launch_url** | Option<**String**> | Build actual launch URL (the provider itself does not have one, just individual endpoints) | [readonly] +**maximum_connections** | Option<**i32**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EndpointRequest.md b/docs/EndpointRequest.md new file mode 100644 index 0000000..934e48c --- /dev/null +++ b/docs/EndpointRequest.md @@ -0,0 +1,18 @@ +# EndpointRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**provider** | **i32** | | +**protocol** | [**models::ProtocolEnum**](ProtocolEnum.md) | | +**host** | **String** | | +**settings** | Option<[**serde_json::Value**](.md)> | | [optional] +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**auth_mode** | [**models::AuthModeEnum**](AuthModeEnum.md) | | +**maximum_connections** | Option<**i32**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EnterpriseApi.md b/docs/EnterpriseApi.md new file mode 100644 index 0000000..0bc1b73 --- /dev/null +++ b/docs/EnterpriseApi.md @@ -0,0 +1,318 @@ +# \EnterpriseApi + +All URIs are relative to *http://localhost/api/v3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**enterprise_license_create**](EnterpriseApi.md#enterprise_license_create) | **POST** /enterprise/license/ | +[**enterprise_license_destroy**](EnterpriseApi.md#enterprise_license_destroy) | **DELETE** /enterprise/license/{license_uuid}/ | +[**enterprise_license_forecast_retrieve**](EnterpriseApi.md#enterprise_license_forecast_retrieve) | **GET** /enterprise/license/forecast/ | +[**enterprise_license_install_id_retrieve**](EnterpriseApi.md#enterprise_license_install_id_retrieve) | **GET** /enterprise/license/install_id/ | +[**enterprise_license_list**](EnterpriseApi.md#enterprise_license_list) | **GET** /enterprise/license/ | +[**enterprise_license_partial_update**](EnterpriseApi.md#enterprise_license_partial_update) | **PATCH** /enterprise/license/{license_uuid}/ | +[**enterprise_license_retrieve**](EnterpriseApi.md#enterprise_license_retrieve) | **GET** /enterprise/license/{license_uuid}/ | +[**enterprise_license_summary_retrieve**](EnterpriseApi.md#enterprise_license_summary_retrieve) | **GET** /enterprise/license/summary/ | +[**enterprise_license_update**](EnterpriseApi.md#enterprise_license_update) | **PUT** /enterprise/license/{license_uuid}/ | +[**enterprise_license_used_by_list**](EnterpriseApi.md#enterprise_license_used_by_list) | **GET** /enterprise/license/{license_uuid}/used_by/ | + + + +## enterprise_license_create + +> models::License enterprise_license_create(license_request) + + +License Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**license_request** | [**LicenseRequest**](LicenseRequest.md) | | [required] | + +### Return type + +[**models::License**](License.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## enterprise_license_destroy + +> enterprise_license_destroy(license_uuid) + + +License Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**license_uuid** | **uuid::Uuid** | A UUID string identifying this License. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## enterprise_license_forecast_retrieve + +> models::LicenseForecast enterprise_license_forecast_retrieve() + + +Forecast how many users will be required in a year + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**models::LicenseForecast**](LicenseForecast.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## enterprise_license_install_id_retrieve + +> models::InstallId enterprise_license_install_id_retrieve() + + +Get install_id + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**models::InstallId**](InstallID.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## enterprise_license_list + +> models::PaginatedLicenseList enterprise_license_list(name, ordering, page, page_size, search) + + +License Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedLicenseList**](PaginatedLicenseList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## enterprise_license_partial_update + +> models::License enterprise_license_partial_update(license_uuid, patched_license_request) + + +License Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**license_uuid** | **uuid::Uuid** | A UUID string identifying this License. | [required] | +**patched_license_request** | Option<[**PatchedLicenseRequest**](PatchedLicenseRequest.md)> | | | + +### Return type + +[**models::License**](License.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## enterprise_license_retrieve + +> models::License enterprise_license_retrieve(license_uuid) + + +License Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**license_uuid** | **uuid::Uuid** | A UUID string identifying this License. | [required] | + +### Return type + +[**models::License**](License.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## enterprise_license_summary_retrieve + +> models::LicenseSummary enterprise_license_summary_retrieve(cached) + + +Get the total license status + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**cached** | Option<**bool**> | | |[default to true] + +### Return type + +[**models::LicenseSummary**](LicenseSummary.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## enterprise_license_update + +> models::License enterprise_license_update(license_uuid, license_request) + + +License Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**license_uuid** | **uuid::Uuid** | A UUID string identifying this License. | [required] | +**license_request** | [**LicenseRequest**](LicenseRequest.md) | | [required] | + +### Return type + +[**models::License**](License.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## enterprise_license_used_by_list + +> Vec enterprise_license_used_by_list(license_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**license_uuid** | **uuid::Uuid** | A UUID string identifying this License. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/ErrorDetail.md b/docs/ErrorDetail.md new file mode 100644 index 0000000..f9b14df --- /dev/null +++ b/docs/ErrorDetail.md @@ -0,0 +1,12 @@ +# ErrorDetail + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**string** | **String** | | +**code** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ErrorReportingConfig.md b/docs/ErrorReportingConfig.md new file mode 100644 index 0000000..25749e8 --- /dev/null +++ b/docs/ErrorReportingConfig.md @@ -0,0 +1,15 @@ +# ErrorReportingConfig + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**enabled** | **bool** | | [readonly] +**sentry_dsn** | **String** | | [readonly] +**environment** | **String** | | [readonly] +**send_pii** | **bool** | | [readonly] +**traces_sample_rate** | **f64** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Event.md b/docs/Event.md new file mode 100644 index 0000000..5cccc6a --- /dev/null +++ b/docs/Event.md @@ -0,0 +1,19 @@ +# Event + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**user** | Option<[**serde_json::Value**](.md)> | | [optional] +**action** | [**models::EventActions**](EventActions.md) | | +**app** | **String** | | +**context** | Option<[**serde_json::Value**](.md)> | | [optional] +**client_ip** | Option<**String**> | | [optional] +**created** | **String** | | [readonly] +**expires** | Option<**String**> | | [optional] +**brand** | Option<[**serde_json::Value**](.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EventActions.md b/docs/EventActions.md new file mode 100644 index 0000000..35eb54f --- /dev/null +++ b/docs/EventActions.md @@ -0,0 +1,38 @@ +# EventActions + +## Enum Variants + +| Name | Value | +|---- | -----| +| Login | login | +| LoginFailed | login_failed | +| Logout | logout | +| UserWrite | user_write | +| SuspiciousRequest | suspicious_request | +| PasswordSet | password_set | +| SecretView | secret_view | +| SecretRotate | secret_rotate | +| InvitationUsed | invitation_used | +| AuthorizeApplication | authorize_application | +| SourceLinked | source_linked | +| ImpersonationStarted | impersonation_started | +| ImpersonationEnded | impersonation_ended | +| FlowExecution | flow_execution | +| PolicyExecution | policy_execution | +| PolicyException | policy_exception | +| PropertyMappingException | property_mapping_exception | +| SystemTaskExecution | system_task_execution | +| SystemTaskException | system_task_exception | +| SystemException | system_exception | +| ConfigurationError | configuration_error | +| ModelCreated | model_created | +| ModelUpdated | model_updated | +| ModelDeleted | model_deleted | +| EmailSent | email_sent | +| UpdateAvailable | update_available | +| Custom | custom_ | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EventMatcherPolicy.md b/docs/EventMatcherPolicy.md new file mode 100644 index 0000000..d539666 --- /dev/null +++ b/docs/EventMatcherPolicy.md @@ -0,0 +1,22 @@ +# EventMatcherPolicy + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**execution_logging** | Option<**bool**> | When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**bound_to** | **i32** | Return objects policy is bound to | [readonly] +**action** | Option<[**models::EventActions**](EventActions.md)> | Match created events with this action type. When left empty, all action types will be matched. | [optional] +**client_ip** | Option<**String**> | Matches Event's Client IP (strict matching, for network matching use an Expression Policy) | [optional] +**app** | Option<[**models::AppEnum**](AppEnum.md)> | Match events created by selected application. When left empty, all applications are matched. | [optional] +**model** | Option<[**models::ModelEnum**](ModelEnum.md)> | Match events created by selected model. When left empty, all models are matched. When an app is selected, all the application's models are matched. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EventMatcherPolicyRequest.md b/docs/EventMatcherPolicyRequest.md new file mode 100644 index 0000000..7d90baa --- /dev/null +++ b/docs/EventMatcherPolicyRequest.md @@ -0,0 +1,16 @@ +# EventMatcherPolicyRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**execution_logging** | Option<**bool**> | When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. | [optional] +**action** | Option<[**models::EventActions**](EventActions.md)> | Match created events with this action type. When left empty, all action types will be matched. | [optional] +**client_ip** | Option<**String**> | Matches Event's Client IP (strict matching, for network matching use an Expression Policy) | [optional] +**app** | Option<[**models::AppEnum**](AppEnum.md)> | Match events created by selected application. When left empty, all applications are matched. | [optional] +**model** | Option<[**models::ModelEnum**](ModelEnum.md)> | Match events created by selected model. When left empty, all models are matched. When an app is selected, all the application's models are matched. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EventRequest.md b/docs/EventRequest.md new file mode 100644 index 0000000..62ad21d --- /dev/null +++ b/docs/EventRequest.md @@ -0,0 +1,17 @@ +# EventRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user** | Option<[**serde_json::Value**](.md)> | | [optional] +**action** | [**models::EventActions**](EventActions.md) | | +**app** | **String** | | +**context** | Option<[**serde_json::Value**](.md)> | | [optional] +**client_ip** | Option<**String**> | | [optional] +**expires** | Option<**String**> | | [optional] +**brand** | Option<[**serde_json::Value**](.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EventTopPerUser.md b/docs/EventTopPerUser.md new file mode 100644 index 0000000..9bf18be --- /dev/null +++ b/docs/EventTopPerUser.md @@ -0,0 +1,13 @@ +# EventTopPerUser + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**application** | [**std::collections::HashMap**](serde_json::Value.md) | | +**counted_events** | **i32** | | +**unique_users** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EventsApi.md b/docs/EventsApi.md new file mode 100644 index 0000000..afe1c88 --- /dev/null +++ b/docs/EventsApi.md @@ -0,0 +1,1145 @@ +# \EventsApi + +All URIs are relative to *http://localhost/api/v3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**events_events_actions_list**](EventsApi.md#events_events_actions_list) | **GET** /events/events/actions/ | +[**events_events_create**](EventsApi.md#events_events_create) | **POST** /events/events/ | +[**events_events_destroy**](EventsApi.md#events_events_destroy) | **DELETE** /events/events/{event_uuid}/ | +[**events_events_list**](EventsApi.md#events_events_list) | **GET** /events/events/ | +[**events_events_partial_update**](EventsApi.md#events_events_partial_update) | **PATCH** /events/events/{event_uuid}/ | +[**events_events_per_month_list**](EventsApi.md#events_events_per_month_list) | **GET** /events/events/per_month/ | +[**events_events_retrieve**](EventsApi.md#events_events_retrieve) | **GET** /events/events/{event_uuid}/ | +[**events_events_top_per_user_list**](EventsApi.md#events_events_top_per_user_list) | **GET** /events/events/top_per_user/ | +[**events_events_update**](EventsApi.md#events_events_update) | **PUT** /events/events/{event_uuid}/ | +[**events_events_volume_list**](EventsApi.md#events_events_volume_list) | **GET** /events/events/volume/ | +[**events_notifications_destroy**](EventsApi.md#events_notifications_destroy) | **DELETE** /events/notifications/{uuid}/ | +[**events_notifications_list**](EventsApi.md#events_notifications_list) | **GET** /events/notifications/ | +[**events_notifications_mark_all_seen_create**](EventsApi.md#events_notifications_mark_all_seen_create) | **POST** /events/notifications/mark_all_seen/ | +[**events_notifications_partial_update**](EventsApi.md#events_notifications_partial_update) | **PATCH** /events/notifications/{uuid}/ | +[**events_notifications_retrieve**](EventsApi.md#events_notifications_retrieve) | **GET** /events/notifications/{uuid}/ | +[**events_notifications_update**](EventsApi.md#events_notifications_update) | **PUT** /events/notifications/{uuid}/ | +[**events_notifications_used_by_list**](EventsApi.md#events_notifications_used_by_list) | **GET** /events/notifications/{uuid}/used_by/ | +[**events_rules_create**](EventsApi.md#events_rules_create) | **POST** /events/rules/ | +[**events_rules_destroy**](EventsApi.md#events_rules_destroy) | **DELETE** /events/rules/{pbm_uuid}/ | +[**events_rules_list**](EventsApi.md#events_rules_list) | **GET** /events/rules/ | +[**events_rules_partial_update**](EventsApi.md#events_rules_partial_update) | **PATCH** /events/rules/{pbm_uuid}/ | +[**events_rules_retrieve**](EventsApi.md#events_rules_retrieve) | **GET** /events/rules/{pbm_uuid}/ | +[**events_rules_update**](EventsApi.md#events_rules_update) | **PUT** /events/rules/{pbm_uuid}/ | +[**events_rules_used_by_list**](EventsApi.md#events_rules_used_by_list) | **GET** /events/rules/{pbm_uuid}/used_by/ | +[**events_system_tasks_list**](EventsApi.md#events_system_tasks_list) | **GET** /events/system_tasks/ | +[**events_system_tasks_retrieve**](EventsApi.md#events_system_tasks_retrieve) | **GET** /events/system_tasks/{uuid}/ | +[**events_system_tasks_run_create**](EventsApi.md#events_system_tasks_run_create) | **POST** /events/system_tasks/{uuid}/run/ | +[**events_transports_create**](EventsApi.md#events_transports_create) | **POST** /events/transports/ | +[**events_transports_destroy**](EventsApi.md#events_transports_destroy) | **DELETE** /events/transports/{uuid}/ | +[**events_transports_list**](EventsApi.md#events_transports_list) | **GET** /events/transports/ | +[**events_transports_partial_update**](EventsApi.md#events_transports_partial_update) | **PATCH** /events/transports/{uuid}/ | +[**events_transports_retrieve**](EventsApi.md#events_transports_retrieve) | **GET** /events/transports/{uuid}/ | +[**events_transports_test_create**](EventsApi.md#events_transports_test_create) | **POST** /events/transports/{uuid}/test/ | +[**events_transports_update**](EventsApi.md#events_transports_update) | **PUT** /events/transports/{uuid}/ | +[**events_transports_used_by_list**](EventsApi.md#events_transports_used_by_list) | **GET** /events/transports/{uuid}/used_by/ | + + + +## events_events_actions_list + +> Vec events_events_actions_list() + + +Get all actions + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**Vec**](TypeCreate.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_events_create + +> models::Event events_events_create(event_request) + + +Event Read-Only Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**event_request** | [**EventRequest**](EventRequest.md) | | [required] | + +### Return type + +[**models::Event**](Event.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_events_destroy + +> events_events_destroy(event_uuid) + + +Event Read-Only Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**event_uuid** | **uuid::Uuid** | A UUID string identifying this Event. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_events_list + +> models::PaginatedEventList events_events_list(action, brand_name, client_ip, context_authorized_app, context_model_app, context_model_name, context_model_pk, ordering, page, page_size, search, username) + + +Event Read-Only Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**action** | Option<**String**> | | | +**brand_name** | Option<**String**> | Brand name | | +**client_ip** | Option<**String**> | | | +**context_authorized_app** | Option<**String**> | Context Authorized application | | +**context_model_app** | Option<**String**> | Context Model App | | +**context_model_name** | Option<**String**> | Context Model Name | | +**context_model_pk** | Option<**String**> | Context Model Primary Key | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**username** | Option<**String**> | Username | | + +### Return type + +[**models::PaginatedEventList**](PaginatedEventList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_events_partial_update + +> models::Event events_events_partial_update(event_uuid, patched_event_request) + + +Event Read-Only Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**event_uuid** | **uuid::Uuid** | A UUID string identifying this Event. | [required] | +**patched_event_request** | Option<[**PatchedEventRequest**](PatchedEventRequest.md)> | | | + +### Return type + +[**models::Event**](Event.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_events_per_month_list + +> Vec events_events_per_month_list(action, query) + + +Get the count of events per month + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**action** | Option<**String**> | | | +**query** | Option<**String**> | | | + +### Return type + +[**Vec**](Coordinate.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_events_retrieve + +> models::Event events_events_retrieve(event_uuid) + + +Event Read-Only Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**event_uuid** | **uuid::Uuid** | A UUID string identifying this Event. | [required] | + +### Return type + +[**models::Event**](Event.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_events_top_per_user_list + +> Vec events_events_top_per_user_list(action, top_n) + + +Get the top_n events grouped by user count + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**action** | Option<**String**> | | | +**top_n** | Option<**i32**> | | | + +### Return type + +[**Vec**](EventTopPerUser.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_events_update + +> models::Event events_events_update(event_uuid, event_request) + + +Event Read-Only Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**event_uuid** | **uuid::Uuid** | A UUID string identifying this Event. | [required] | +**event_request** | [**EventRequest**](EventRequest.md) | | [required] | + +### Return type + +[**models::Event**](Event.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_events_volume_list + +> Vec events_events_volume_list(action, brand_name, client_ip, context_authorized_app, context_model_app, context_model_name, context_model_pk, ordering, search, username) + + +Get event volume for specified filters and timeframe + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**action** | Option<**String**> | | | +**brand_name** | Option<**String**> | Brand name | | +**client_ip** | Option<**String**> | | | +**context_authorized_app** | Option<**String**> | Context Authorized application | | +**context_model_app** | Option<**String**> | Context Model App | | +**context_model_name** | Option<**String**> | Context Model Name | | +**context_model_pk** | Option<**String**> | Context Model Primary Key | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**search** | Option<**String**> | A search term. | | +**username** | Option<**String**> | Username | | + +### Return type + +[**Vec**](Coordinate.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_notifications_destroy + +> events_notifications_destroy(uuid) + + +Notification Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Notification. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_notifications_list + +> models::PaginatedNotificationList events_notifications_list(body, created, event, ordering, page, page_size, search, seen, severity, user) + + +Notification Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**body** | Option<**String**> | | | +**created** | Option<**String**> | | | +**event** | Option<**uuid::Uuid**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**seen** | Option<**bool**> | | | +**severity** | Option<**String**> | | | +**user** | Option<**i32**> | | | + +### Return type + +[**models::PaginatedNotificationList**](PaginatedNotificationList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_notifications_mark_all_seen_create + +> events_notifications_mark_all_seen_create() + + +Mark all the user's notifications as seen + +### Parameters + +This endpoint does not need any parameter. + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_notifications_partial_update + +> models::Notification events_notifications_partial_update(uuid, patched_notification_request) + + +Notification Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Notification. | [required] | +**patched_notification_request** | Option<[**PatchedNotificationRequest**](PatchedNotificationRequest.md)> | | | + +### Return type + +[**models::Notification**](Notification.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_notifications_retrieve + +> models::Notification events_notifications_retrieve(uuid) + + +Notification Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Notification. | [required] | + +### Return type + +[**models::Notification**](Notification.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_notifications_update + +> models::Notification events_notifications_update(uuid, notification_request) + + +Notification Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Notification. | [required] | +**notification_request** | Option<[**NotificationRequest**](NotificationRequest.md)> | | | + +### Return type + +[**models::Notification**](Notification.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_notifications_used_by_list + +> Vec events_notifications_used_by_list(uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Notification. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_rules_create + +> models::NotificationRule events_rules_create(notification_rule_request) + + +NotificationRule Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**notification_rule_request** | [**NotificationRuleRequest**](NotificationRuleRequest.md) | | [required] | + +### Return type + +[**models::NotificationRule**](NotificationRule.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_rules_destroy + +> events_rules_destroy(pbm_uuid) + + +NotificationRule Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pbm_uuid** | **uuid::Uuid** | A UUID string identifying this Notification Rule. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_rules_list + +> models::PaginatedNotificationRuleList events_rules_list(group__name, name, ordering, page, page_size, search, severity) + + +NotificationRule Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**group__name** | Option<**String**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**severity** | Option<**String**> | Controls which severity level the created notifications will have. | | + +### Return type + +[**models::PaginatedNotificationRuleList**](PaginatedNotificationRuleList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_rules_partial_update + +> models::NotificationRule events_rules_partial_update(pbm_uuid, patched_notification_rule_request) + + +NotificationRule Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pbm_uuid** | **uuid::Uuid** | A UUID string identifying this Notification Rule. | [required] | +**patched_notification_rule_request** | Option<[**PatchedNotificationRuleRequest**](PatchedNotificationRuleRequest.md)> | | | + +### Return type + +[**models::NotificationRule**](NotificationRule.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_rules_retrieve + +> models::NotificationRule events_rules_retrieve(pbm_uuid) + + +NotificationRule Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pbm_uuid** | **uuid::Uuid** | A UUID string identifying this Notification Rule. | [required] | + +### Return type + +[**models::NotificationRule**](NotificationRule.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_rules_update + +> models::NotificationRule events_rules_update(pbm_uuid, notification_rule_request) + + +NotificationRule Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pbm_uuid** | **uuid::Uuid** | A UUID string identifying this Notification Rule. | [required] | +**notification_rule_request** | [**NotificationRuleRequest**](NotificationRuleRequest.md) | | [required] | + +### Return type + +[**models::NotificationRule**](NotificationRule.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_rules_used_by_list + +> Vec events_rules_used_by_list(pbm_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pbm_uuid** | **uuid::Uuid** | A UUID string identifying this Notification Rule. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_system_tasks_list + +> models::PaginatedSystemTaskList events_system_tasks_list(name, ordering, page, page_size, search, status, uid) + + +Read-only view set that returns all background tasks + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**status** | Option<**String**> | | | +**uid** | Option<**String**> | | | + +### Return type + +[**models::PaginatedSystemTaskList**](PaginatedSystemTaskList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_system_tasks_retrieve + +> models::SystemTask events_system_tasks_retrieve(uuid) + + +Read-only view set that returns all background tasks + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this System Task. | [required] | + +### Return type + +[**models::SystemTask**](SystemTask.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_system_tasks_run_create + +> events_system_tasks_run_create(uuid) + + +Run task + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this System Task. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_transports_create + +> models::NotificationTransport events_transports_create(notification_transport_request) + + +NotificationTransport Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**notification_transport_request** | [**NotificationTransportRequest**](NotificationTransportRequest.md) | | [required] | + +### Return type + +[**models::NotificationTransport**](NotificationTransport.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_transports_destroy + +> events_transports_destroy(uuid) + + +NotificationTransport Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Notification Transport. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_transports_list + +> models::PaginatedNotificationTransportList events_transports_list(mode, name, ordering, page, page_size, search, send_once, webhook_url) + + +NotificationTransport Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**mode** | Option<**String**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**send_once** | Option<**bool**> | | | +**webhook_url** | Option<**String**> | | | + +### Return type + +[**models::PaginatedNotificationTransportList**](PaginatedNotificationTransportList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_transports_partial_update + +> models::NotificationTransport events_transports_partial_update(uuid, patched_notification_transport_request) + + +NotificationTransport Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Notification Transport. | [required] | +**patched_notification_transport_request** | Option<[**PatchedNotificationTransportRequest**](PatchedNotificationTransportRequest.md)> | | | + +### Return type + +[**models::NotificationTransport**](NotificationTransport.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_transports_retrieve + +> models::NotificationTransport events_transports_retrieve(uuid) + + +NotificationTransport Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Notification Transport. | [required] | + +### Return type + +[**models::NotificationTransport**](NotificationTransport.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_transports_test_create + +> models::NotificationTransportTest events_transports_test_create(uuid) + + +Send example notification using selected transport. Requires Modify permissions. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Notification Transport. | [required] | + +### Return type + +[**models::NotificationTransportTest**](NotificationTransportTest.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_transports_update + +> models::NotificationTransport events_transports_update(uuid, notification_transport_request) + + +NotificationTransport Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Notification Transport. | [required] | +**notification_transport_request** | [**NotificationTransportRequest**](NotificationTransportRequest.md) | | [required] | + +### Return type + +[**models::NotificationTransport**](NotificationTransport.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## events_transports_used_by_list + +> Vec events_transports_used_by_list(uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Notification Transport. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/ExpiringBaseGrantModel.md b/docs/ExpiringBaseGrantModel.md new file mode 100644 index 0000000..c63ace6 --- /dev/null +++ b/docs/ExpiringBaseGrantModel.md @@ -0,0 +1,16 @@ +# ExpiringBaseGrantModel + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**provider** | [**models::OAuth2Provider**](OAuth2Provider.md) | | +**user** | [**models::User**](User.md) | | +**is_expired** | **bool** | Check if token is expired yet. | [readonly] +**expires** | Option<**String**> | | [optional] +**scope** | **Vec** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ExpressionPolicy.md b/docs/ExpressionPolicy.md new file mode 100644 index 0000000..f1c8c6a --- /dev/null +++ b/docs/ExpressionPolicy.md @@ -0,0 +1,19 @@ +# ExpressionPolicy + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**execution_logging** | Option<**bool**> | When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**bound_to** | **i32** | Return objects policy is bound to | [readonly] +**expression** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ExpressionPolicyRequest.md b/docs/ExpressionPolicyRequest.md new file mode 100644 index 0000000..2cd13ef --- /dev/null +++ b/docs/ExpressionPolicyRequest.md @@ -0,0 +1,13 @@ +# ExpressionPolicyRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**execution_logging** | Option<**bool**> | When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. | [optional] +**expression** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ExtraRoleObjectPermission.md b/docs/ExtraRoleObjectPermission.md new file mode 100644 index 0000000..fea9a70 --- /dev/null +++ b/docs/ExtraRoleObjectPermission.md @@ -0,0 +1,19 @@ +# ExtraRoleObjectPermission + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **i32** | | [readonly] +**codename** | **String** | | [readonly] +**model** | **String** | | [readonly] +**app_label** | **String** | | [readonly] +**object_pk** | **String** | | +**name** | **String** | | [readonly] +**app_label_verbose** | **String** | Get app label from permission's model | [readonly] +**model_verbose** | **String** | Get model label from permission's model | [readonly] +**object_description** | Option<**String**> | Get model description from attached model. This operation takes at least one additional query, and the description is only shown if the user/role has the view_ permission on the object | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ExtraRoleObjectPermissionRequest.md b/docs/ExtraRoleObjectPermissionRequest.md new file mode 100644 index 0000000..82a0e0d --- /dev/null +++ b/docs/ExtraRoleObjectPermissionRequest.md @@ -0,0 +1,11 @@ +# ExtraRoleObjectPermissionRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**object_pk** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ExtraUserObjectPermission.md b/docs/ExtraUserObjectPermission.md new file mode 100644 index 0000000..8c05f83 --- /dev/null +++ b/docs/ExtraUserObjectPermission.md @@ -0,0 +1,19 @@ +# ExtraUserObjectPermission + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **i32** | | [readonly] +**codename** | **String** | | [readonly] +**model** | **String** | | [readonly] +**app_label** | **String** | | [readonly] +**object_pk** | **String** | | +**name** | **String** | | [readonly] +**app_label_verbose** | **String** | Get app label from permission's model | [readonly] +**model_verbose** | **String** | Get model label from permission's model | [readonly] +**object_description** | Option<**String**> | Get model description from attached model. This operation takes at least one additional query, and the description is only shown if the user/role has the view_ permission on the object | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ExtraUserObjectPermissionRequest.md b/docs/ExtraUserObjectPermissionRequest.md new file mode 100644 index 0000000..d5acf5b --- /dev/null +++ b/docs/ExtraUserObjectPermissionRequest.md @@ -0,0 +1,11 @@ +# ExtraUserObjectPermissionRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**object_pk** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/FilePathRequest.md b/docs/FilePathRequest.md new file mode 100644 index 0000000..ede616b --- /dev/null +++ b/docs/FilePathRequest.md @@ -0,0 +1,11 @@ +# FilePathRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**url** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Flow.md b/docs/Flow.md new file mode 100644 index 0000000..d8000f1 --- /dev/null +++ b/docs/Flow.md @@ -0,0 +1,26 @@ +# Flow + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**policybindingmodel_ptr_id** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**slug** | **String** | Visible in the URL. | +**title** | **String** | Shown as the Title in Flow pages. | +**designation** | [**models::FlowDesignationEnum**](FlowDesignationEnum.md) | Decides what this Flow is used for. For example, the Authentication flow is redirect to when an un-authenticated user visits authentik. | +**background** | **String** | Get the URL to the background image. If the name is /static or starts with http it is returned as-is | [readonly] +**stages** | [**Vec**](uuid::Uuid.md) | | [readonly] +**policies** | [**Vec**](uuid::Uuid.md) | | [readonly] +**cache_count** | **i32** | Get count of cached flows | [readonly] +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**compatibility_mode** | Option<**bool**> | Enable compatibility mode, increases compatibility with password managers on mobile devices. | [optional] +**export_url** | **String** | Get export URL for flow | [readonly] +**layout** | Option<[**models::FlowLayoutEnum**](FlowLayoutEnum.md)> | | [optional] +**denied_action** | Option<[**models::DeniedActionEnum**](DeniedActionEnum.md)> | Configure what should happen when a flow denies access to a user. | [optional] +**authentication** | Option<[**models::AuthenticationEnum**](AuthenticationEnum.md)> | Required level of authentication and authorization to access a flow. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/FlowChallengeResponseRequest.md b/docs/FlowChallengeResponseRequest.md new file mode 100644 index 0000000..461070a --- /dev/null +++ b/docs/FlowChallengeResponseRequest.md @@ -0,0 +1,10 @@ +# FlowChallengeResponseRequest + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/FlowDesignationEnum.md b/docs/FlowDesignationEnum.md new file mode 100644 index 0000000..3b44939 --- /dev/null +++ b/docs/FlowDesignationEnum.md @@ -0,0 +1,18 @@ +# FlowDesignationEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Authentication | authentication | +| Authorization | authorization | +| Invalidation | invalidation | +| Enrollment | enrollment | +| Unenrollment | unenrollment | +| Recovery | recovery | +| StageConfiguration | stage_configuration | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/FlowDiagram.md b/docs/FlowDiagram.md new file mode 100644 index 0000000..e671bbc --- /dev/null +++ b/docs/FlowDiagram.md @@ -0,0 +1,11 @@ +# FlowDiagram + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**diagram** | **String** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/FlowErrorChallenge.md b/docs/FlowErrorChallenge.md new file mode 100644 index 0000000..337b381 --- /dev/null +++ b/docs/FlowErrorChallenge.md @@ -0,0 +1,16 @@ +# FlowErrorChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**flow_info** | Option<[**models::ContextualFlowInfo**](ContextualFlowInfo.md)> | | [optional] +**component** | Option<**String**> | | [optional][default to ak-stage-flow-error] +**response_errors** | Option<[**std::collections::HashMap>**](Vec.md)> | | [optional] +**request_id** | **String** | | +**error** | Option<**String**> | | [optional] +**traceback** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/FlowImportResult.md b/docs/FlowImportResult.md new file mode 100644 index 0000000..60479a4 --- /dev/null +++ b/docs/FlowImportResult.md @@ -0,0 +1,12 @@ +# FlowImportResult + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**logs** | [**Vec**](LogEvent.md) | | [readonly] +**success** | **bool** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/FlowInspection.md b/docs/FlowInspection.md new file mode 100644 index 0000000..b4eacd4 --- /dev/null +++ b/docs/FlowInspection.md @@ -0,0 +1,13 @@ +# FlowInspection + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**plans** | [**Vec**](FlowInspectorPlan.md) | | +**current_plan** | Option<[**models::FlowInspectorPlan**](FlowInspectorPlan.md)> | | [optional] +**is_completed** | **bool** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/FlowInspectorPlan.md b/docs/FlowInspectorPlan.md new file mode 100644 index 0000000..905634b --- /dev/null +++ b/docs/FlowInspectorPlan.md @@ -0,0 +1,14 @@ +# FlowInspectorPlan + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**current_stage** | [**models::FlowStageBinding**](FlowStageBinding.md) | | [readonly] +**next_planned_stage** | [**models::FlowStageBinding**](FlowStageBinding.md) | | [readonly] +**plan_context** | [**std::collections::HashMap**](serde_json::Value.md) | Get the plan's context, sanitized | [readonly] +**session_id** | **String** | Get a unique session ID | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/FlowLayoutEnum.md b/docs/FlowLayoutEnum.md new file mode 100644 index 0000000..f04461a --- /dev/null +++ b/docs/FlowLayoutEnum.md @@ -0,0 +1,16 @@ +# FlowLayoutEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Stacked | stacked | +| ContentLeft | content_left | +| ContentRight | content_right | +| SidebarLeft | sidebar_left | +| SidebarRight | sidebar_right | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/FlowRequest.md b/docs/FlowRequest.md new file mode 100644 index 0000000..06433bd --- /dev/null +++ b/docs/FlowRequest.md @@ -0,0 +1,19 @@ +# FlowRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**slug** | **String** | Visible in the URL. | +**title** | **String** | Shown as the Title in Flow pages. | +**designation** | [**models::FlowDesignationEnum**](FlowDesignationEnum.md) | Decides what this Flow is used for. For example, the Authentication flow is redirect to when an un-authenticated user visits authentik. | +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**compatibility_mode** | Option<**bool**> | Enable compatibility mode, increases compatibility with password managers on mobile devices. | [optional] +**layout** | Option<[**models::FlowLayoutEnum**](FlowLayoutEnum.md)> | | [optional] +**denied_action** | Option<[**models::DeniedActionEnum**](DeniedActionEnum.md)> | Configure what should happen when a flow denies access to a user. | [optional] +**authentication** | Option<[**models::AuthenticationEnum**](AuthenticationEnum.md)> | Required level of authentication and authorization to access a flow. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/FlowSet.md b/docs/FlowSet.md new file mode 100644 index 0000000..0adfa67 --- /dev/null +++ b/docs/FlowSet.md @@ -0,0 +1,22 @@ +# FlowSet + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**policybindingmodel_ptr_id** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**slug** | **String** | Visible in the URL. | +**title** | **String** | Shown as the Title in Flow pages. | +**designation** | [**models::FlowDesignationEnum**](FlowDesignationEnum.md) | Decides what this Flow is used for. For example, the Authentication flow is redirect to when an un-authenticated user visits authentik. | +**background** | **String** | Get the URL to the background image. If the name is /static or starts with http it is returned as-is | [readonly] +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**compatibility_mode** | Option<**bool**> | Enable compatibility mode, increases compatibility with password managers on mobile devices. | [optional] +**export_url** | **String** | Get export URL for flow | [readonly] +**layout** | Option<[**models::FlowLayoutEnum**](FlowLayoutEnum.md)> | | [optional] +**denied_action** | Option<[**models::DeniedActionEnum**](DeniedActionEnum.md)> | Configure what should happen when a flow denies access to a user. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/FlowSetRequest.md b/docs/FlowSetRequest.md new file mode 100644 index 0000000..f28c55a --- /dev/null +++ b/docs/FlowSetRequest.md @@ -0,0 +1,18 @@ +# FlowSetRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**slug** | **String** | Visible in the URL. | +**title** | **String** | Shown as the Title in Flow pages. | +**designation** | [**models::FlowDesignationEnum**](FlowDesignationEnum.md) | Decides what this Flow is used for. For example, the Authentication flow is redirect to when an un-authenticated user visits authentik. | +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**compatibility_mode** | Option<**bool**> | Enable compatibility mode, increases compatibility with password managers on mobile devices. | [optional] +**layout** | Option<[**models::FlowLayoutEnum**](FlowLayoutEnum.md)> | | [optional] +**denied_action** | Option<[**models::DeniedActionEnum**](DeniedActionEnum.md)> | Configure what should happen when a flow denies access to a user. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/FlowStageBinding.md b/docs/FlowStageBinding.md new file mode 100644 index 0000000..0e95e5b --- /dev/null +++ b/docs/FlowStageBinding.md @@ -0,0 +1,20 @@ +# FlowStageBinding + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**policybindingmodel_ptr_id** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**target** | [**uuid::Uuid**](uuid::Uuid.md) | | +**stage** | [**uuid::Uuid**](uuid::Uuid.md) | | +**stage_obj** | [**models::Stage**](Stage.md) | | [readonly] +**evaluate_on_plan** | Option<**bool**> | Evaluate policies during the Flow planning process. | [optional] +**re_evaluate_policies** | Option<**bool**> | Evaluate policies when the Stage is present to the user. | [optional] +**order** | **i32** | | +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**invalid_response_action** | Option<[**models::InvalidResponseActionEnum**](InvalidResponseActionEnum.md)> | Configure how the flow executor should handle an invalid response to a challenge. RETRY returns the error message and a similar challenge to the executor. RESTART restarts the flow from the beginning, and RESTART_WITH_CONTEXT restarts the flow while keeping the current context. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/FlowStageBindingRequest.md b/docs/FlowStageBindingRequest.md new file mode 100644 index 0000000..9e7cc58 --- /dev/null +++ b/docs/FlowStageBindingRequest.md @@ -0,0 +1,17 @@ +# FlowStageBindingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**target** | [**uuid::Uuid**](uuid::Uuid.md) | | +**stage** | [**uuid::Uuid**](uuid::Uuid.md) | | +**evaluate_on_plan** | Option<**bool**> | Evaluate policies during the Flow planning process. | [optional] +**re_evaluate_policies** | Option<**bool**> | Evaluate policies when the Stage is present to the user. | [optional] +**order** | **i32** | | +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**invalid_response_action** | Option<[**models::InvalidResponseActionEnum**](InvalidResponseActionEnum.md)> | Configure how the flow executor should handle an invalid response to a challenge. RETRY returns the error message and a similar challenge to the executor. RESTART restarts the flow from the beginning, and RESTART_WITH_CONTEXT restarts the flow while keeping the current context. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/FlowsApi.md b/docs/FlowsApi.md new file mode 100644 index 0000000..50dcf51 --- /dev/null +++ b/docs/FlowsApi.md @@ -0,0 +1,809 @@ +# \FlowsApi + +All URIs are relative to *http://localhost/api/v3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**flows_bindings_create**](FlowsApi.md#flows_bindings_create) | **POST** /flows/bindings/ | +[**flows_bindings_destroy**](FlowsApi.md#flows_bindings_destroy) | **DELETE** /flows/bindings/{fsb_uuid}/ | +[**flows_bindings_list**](FlowsApi.md#flows_bindings_list) | **GET** /flows/bindings/ | +[**flows_bindings_partial_update**](FlowsApi.md#flows_bindings_partial_update) | **PATCH** /flows/bindings/{fsb_uuid}/ | +[**flows_bindings_retrieve**](FlowsApi.md#flows_bindings_retrieve) | **GET** /flows/bindings/{fsb_uuid}/ | +[**flows_bindings_update**](FlowsApi.md#flows_bindings_update) | **PUT** /flows/bindings/{fsb_uuid}/ | +[**flows_bindings_used_by_list**](FlowsApi.md#flows_bindings_used_by_list) | **GET** /flows/bindings/{fsb_uuid}/used_by/ | +[**flows_executor_get**](FlowsApi.md#flows_executor_get) | **GET** /flows/executor/{flow_slug}/ | +[**flows_executor_solve**](FlowsApi.md#flows_executor_solve) | **POST** /flows/executor/{flow_slug}/ | +[**flows_inspector_get**](FlowsApi.md#flows_inspector_get) | **GET** /flows/inspector/{flow_slug}/ | +[**flows_instances_cache_clear_create**](FlowsApi.md#flows_instances_cache_clear_create) | **POST** /flows/instances/cache_clear/ | +[**flows_instances_cache_info_retrieve**](FlowsApi.md#flows_instances_cache_info_retrieve) | **GET** /flows/instances/cache_info/ | +[**flows_instances_create**](FlowsApi.md#flows_instances_create) | **POST** /flows/instances/ | +[**flows_instances_destroy**](FlowsApi.md#flows_instances_destroy) | **DELETE** /flows/instances/{slug}/ | +[**flows_instances_diagram_retrieve**](FlowsApi.md#flows_instances_diagram_retrieve) | **GET** /flows/instances/{slug}/diagram/ | +[**flows_instances_execute_retrieve**](FlowsApi.md#flows_instances_execute_retrieve) | **GET** /flows/instances/{slug}/execute/ | +[**flows_instances_export_retrieve**](FlowsApi.md#flows_instances_export_retrieve) | **GET** /flows/instances/{slug}/export/ | +[**flows_instances_import_create**](FlowsApi.md#flows_instances_import_create) | **POST** /flows/instances/import/ | +[**flows_instances_list**](FlowsApi.md#flows_instances_list) | **GET** /flows/instances/ | +[**flows_instances_partial_update**](FlowsApi.md#flows_instances_partial_update) | **PATCH** /flows/instances/{slug}/ | +[**flows_instances_retrieve**](FlowsApi.md#flows_instances_retrieve) | **GET** /flows/instances/{slug}/ | +[**flows_instances_set_background_create**](FlowsApi.md#flows_instances_set_background_create) | **POST** /flows/instances/{slug}/set_background/ | +[**flows_instances_set_background_url_create**](FlowsApi.md#flows_instances_set_background_url_create) | **POST** /flows/instances/{slug}/set_background_url/ | +[**flows_instances_update**](FlowsApi.md#flows_instances_update) | **PUT** /flows/instances/{slug}/ | +[**flows_instances_used_by_list**](FlowsApi.md#flows_instances_used_by_list) | **GET** /flows/instances/{slug}/used_by/ | + + + +## flows_bindings_create + +> models::FlowStageBinding flows_bindings_create(flow_stage_binding_request) + + +FlowStageBinding Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**flow_stage_binding_request** | [**FlowStageBindingRequest**](FlowStageBindingRequest.md) | | [required] | + +### Return type + +[**models::FlowStageBinding**](FlowStageBinding.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_bindings_destroy + +> flows_bindings_destroy(fsb_uuid) + + +FlowStageBinding Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**fsb_uuid** | **uuid::Uuid** | A UUID string identifying this Flow Stage Binding. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_bindings_list + +> models::PaginatedFlowStageBindingList flows_bindings_list(evaluate_on_plan, fsb_uuid, invalid_response_action, order, ordering, page, page_size, pbm_uuid, policies, policy_engine_mode, re_evaluate_policies, search, stage, target) + + +FlowStageBinding Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**evaluate_on_plan** | Option<**bool**> | | | +**fsb_uuid** | Option<**uuid::Uuid**> | | | +**invalid_response_action** | Option<**String**> | Configure how the flow executor should handle an invalid response to a challenge. RETRY returns the error message and a similar challenge to the executor. RESTART restarts the flow from the beginning, and RESTART_WITH_CONTEXT restarts the flow while keeping the current context. | | +**order** | Option<**i32**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**pbm_uuid** | Option<**uuid::Uuid**> | | | +**policies** | Option<[**Vec**](uuid::Uuid.md)> | | | +**policy_engine_mode** | Option<**String**> | | | +**re_evaluate_policies** | Option<**bool**> | | | +**search** | Option<**String**> | A search term. | | +**stage** | Option<**uuid::Uuid**> | | | +**target** | Option<**uuid::Uuid**> | | | + +### Return type + +[**models::PaginatedFlowStageBindingList**](PaginatedFlowStageBindingList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_bindings_partial_update + +> models::FlowStageBinding flows_bindings_partial_update(fsb_uuid, patched_flow_stage_binding_request) + + +FlowStageBinding Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**fsb_uuid** | **uuid::Uuid** | A UUID string identifying this Flow Stage Binding. | [required] | +**patched_flow_stage_binding_request** | Option<[**PatchedFlowStageBindingRequest**](PatchedFlowStageBindingRequest.md)> | | | + +### Return type + +[**models::FlowStageBinding**](FlowStageBinding.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_bindings_retrieve + +> models::FlowStageBinding flows_bindings_retrieve(fsb_uuid) + + +FlowStageBinding Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**fsb_uuid** | **uuid::Uuid** | A UUID string identifying this Flow Stage Binding. | [required] | + +### Return type + +[**models::FlowStageBinding**](FlowStageBinding.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_bindings_update + +> models::FlowStageBinding flows_bindings_update(fsb_uuid, flow_stage_binding_request) + + +FlowStageBinding Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**fsb_uuid** | **uuid::Uuid** | A UUID string identifying this Flow Stage Binding. | [required] | +**flow_stage_binding_request** | [**FlowStageBindingRequest**](FlowStageBindingRequest.md) | | [required] | + +### Return type + +[**models::FlowStageBinding**](FlowStageBinding.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_bindings_used_by_list + +> Vec flows_bindings_used_by_list(fsb_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**fsb_uuid** | **uuid::Uuid** | A UUID string identifying this Flow Stage Binding. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_executor_get + +> models::ChallengeTypes flows_executor_get(flow_slug, query) + + +Get the next pending challenge from the currently active flow. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**flow_slug** | **String** | | [required] | +**query** | **String** | Querystring as received | [required] | + +### Return type + +[**models::ChallengeTypes**](ChallengeTypes.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_executor_solve + +> models::ChallengeTypes flows_executor_solve(flow_slug, query, flow_challenge_response_request) + + +Solve the previously retrieved challenge and advanced to the next stage. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**flow_slug** | **String** | | [required] | +**query** | **String** | Querystring as received | [required] | +**flow_challenge_response_request** | Option<[**FlowChallengeResponseRequest**](FlowChallengeResponseRequest.md)> | | | + +### Return type + +[**models::ChallengeTypes**](ChallengeTypes.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_inspector_get + +> models::FlowInspection flows_inspector_get(flow_slug) + + +Get current flow state and record it + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**flow_slug** | **String** | | [required] | + +### Return type + +[**models::FlowInspection**](FlowInspection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_instances_cache_clear_create + +> flows_instances_cache_clear_create() + + +Clear flow cache + +### Parameters + +This endpoint does not need any parameter. + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_instances_cache_info_retrieve + +> models::Cache flows_instances_cache_info_retrieve() + + +Info about cached flows + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**models::Cache**](Cache.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_instances_create + +> models::Flow flows_instances_create(flow_request) + + +Flow Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**flow_request** | [**FlowRequest**](FlowRequest.md) | | [required] | + +### Return type + +[**models::Flow**](Flow.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_instances_destroy + +> flows_instances_destroy(slug) + + +Flow Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_instances_diagram_retrieve + +> models::FlowDiagram flows_instances_diagram_retrieve(slug) + + +Return diagram for flow with slug `slug`, in the format used by flowchart.js + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + +[**models::FlowDiagram**](FlowDiagram.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_instances_execute_retrieve + +> models::Link flows_instances_execute_retrieve(slug) + + +Execute flow for current user + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + +[**models::Link**](Link.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_instances_export_retrieve + +> std::path::PathBuf flows_instances_export_retrieve(slug) + + +Export flow to .yaml file + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + +[**std::path::PathBuf**](std::path::PathBuf.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_instances_import_create + +> models::FlowImportResult flows_instances_import_create(file, clear) + + +Import flow from .yaml file + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**file** | Option<**std::path::PathBuf**> | | | +**clear** | Option<**bool**> | | |[default to false] + +### Return type + +[**models::FlowImportResult**](FlowImportResult.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: multipart/form-data +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_instances_list + +> models::PaginatedFlowList flows_instances_list(denied_action, designation, flow_uuid, name, ordering, page, page_size, search, slug) + + +Flow Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**denied_action** | Option<**String**> | Configure what should happen when a flow denies access to a user. | | +**designation** | Option<**String**> | Decides what this Flow is used for. For example, the Authentication flow is redirect to when an un-authenticated user visits authentik. | | +**flow_uuid** | Option<**uuid::Uuid**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**slug** | Option<**String**> | | | + +### Return type + +[**models::PaginatedFlowList**](PaginatedFlowList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_instances_partial_update + +> models::Flow flows_instances_partial_update(slug, patched_flow_request) + + +Flow Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | +**patched_flow_request** | Option<[**PatchedFlowRequest**](PatchedFlowRequest.md)> | | | + +### Return type + +[**models::Flow**](Flow.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_instances_retrieve + +> models::Flow flows_instances_retrieve(slug) + + +Flow Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + +[**models::Flow**](Flow.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_instances_set_background_create + +> flows_instances_set_background_create(slug, file, clear) + + +Set Flow background + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | +**file** | Option<**std::path::PathBuf**> | | | +**clear** | Option<**bool**> | | |[default to false] + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: multipart/form-data +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_instances_set_background_url_create + +> flows_instances_set_background_url_create(slug, file_path_request) + + +Set Flow background (as URL) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | +**file_path_request** | [**FilePathRequest**](FilePathRequest.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_instances_update + +> models::Flow flows_instances_update(slug, flow_request) + + +Flow Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | +**flow_request** | [**FlowRequest**](FlowRequest.md) | | [required] | + +### Return type + +[**models::Flow**](Flow.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## flows_instances_used_by_list + +> Vec flows_instances_used_by_list(slug) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/FooterLink.md b/docs/FooterLink.md new file mode 100644 index 0000000..2a48f4a --- /dev/null +++ b/docs/FooterLink.md @@ -0,0 +1,12 @@ +# FooterLink + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | Option<**String**> | | [readonly] +**name** | **String** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GenericError.md b/docs/GenericError.md new file mode 100644 index 0000000..dc075fd --- /dev/null +++ b/docs/GenericError.md @@ -0,0 +1,12 @@ +# GenericError + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**detail** | **String** | | +**code** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GeoIpPolicy.md b/docs/GeoIpPolicy.md new file mode 100644 index 0000000..587ca30 --- /dev/null +++ b/docs/GeoIpPolicy.md @@ -0,0 +1,21 @@ +# GeoIpPolicy + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**execution_logging** | Option<**bool**> | When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**bound_to** | **i32** | Return objects policy is bound to | [readonly] +**asns** | Option<**Vec**> | | [optional] +**countries** | [**Vec**](CountryCodeEnum.md) | | +**countries_obj** | [**Vec**](DetailedCountryField.md) | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GeoIpPolicyRequest.md b/docs/GeoIpPolicyRequest.md new file mode 100644 index 0000000..db09d73 --- /dev/null +++ b/docs/GeoIpPolicyRequest.md @@ -0,0 +1,14 @@ +# GeoIpPolicyRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**execution_logging** | Option<**bool**> | When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. | [optional] +**asns** | Option<**Vec**> | | [optional] +**countries** | [**Vec**](CountryCodeEnum.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GeoipBindingEnum.md b/docs/GeoipBindingEnum.md new file mode 100644 index 0000000..07f3d94 --- /dev/null +++ b/docs/GeoipBindingEnum.md @@ -0,0 +1,15 @@ +# GeoipBindingEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| NoBinding | no_binding | +| BindContinent | bind_continent | +| BindContinentCountry | bind_continent_country | +| BindContinentCountryCity | bind_continent_country_city | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GoogleWorkspaceProvider.md b/docs/GoogleWorkspaceProvider.md new file mode 100644 index 0000000..3e1dd31 --- /dev/null +++ b/docs/GoogleWorkspaceProvider.md @@ -0,0 +1,28 @@ +# GoogleWorkspaceProvider + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**name** | **String** | | +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**property_mappings_group** | Option<[**Vec**](uuid::Uuid.md)> | Property mappings used for group creation/updating. | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**assigned_backchannel_application_slug** | **String** | Internal application name, used in URLs. | [readonly] +**assigned_backchannel_application_name** | **String** | Application's display Name. | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**delegated_subject** | **String** | | +**credentials** | Option<[**serde_json::Value**](.md)> | | +**scopes** | Option<**String**> | | [optional] +**exclude_users_service_account** | Option<**bool**> | | [optional] +**filter_group** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**user_delete_action** | Option<[**models::OutgoingSyncDeleteAction**](OutgoingSyncDeleteAction.md)> | | [optional] +**group_delete_action** | Option<[**models::OutgoingSyncDeleteAction**](OutgoingSyncDeleteAction.md)> | | [optional] +**default_group_email_domain** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GoogleWorkspaceProviderGroup.md b/docs/GoogleWorkspaceProviderGroup.md new file mode 100644 index 0000000..a62006b --- /dev/null +++ b/docs/GoogleWorkspaceProviderGroup.md @@ -0,0 +1,16 @@ +# GoogleWorkspaceProviderGroup + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**google_id** | **String** | | +**group** | [**uuid::Uuid**](uuid::Uuid.md) | | +**group_obj** | [**models::UserGroup**](UserGroup.md) | | [readonly] +**provider** | **i32** | | +**attributes** | Option<[**serde_json::Value**](.md)> | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GoogleWorkspaceProviderGroupRequest.md b/docs/GoogleWorkspaceProviderGroupRequest.md new file mode 100644 index 0000000..9fdd205 --- /dev/null +++ b/docs/GoogleWorkspaceProviderGroupRequest.md @@ -0,0 +1,13 @@ +# GoogleWorkspaceProviderGroupRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**google_id** | **String** | | +**group** | [**uuid::Uuid**](uuid::Uuid.md) | | +**provider** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GoogleWorkspaceProviderMapping.md b/docs/GoogleWorkspaceProviderMapping.md new file mode 100644 index 0000000..a0507f7 --- /dev/null +++ b/docs/GoogleWorkspaceProviderMapping.md @@ -0,0 +1,18 @@ +# GoogleWorkspaceProviderMapping + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | **String** | | +**component** | **String** | Get object's component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GoogleWorkspaceProviderMappingRequest.md b/docs/GoogleWorkspaceProviderMappingRequest.md new file mode 100644 index 0000000..b02b6ae --- /dev/null +++ b/docs/GoogleWorkspaceProviderMappingRequest.md @@ -0,0 +1,13 @@ +# GoogleWorkspaceProviderMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GoogleWorkspaceProviderRequest.md b/docs/GoogleWorkspaceProviderRequest.md new file mode 100644 index 0000000..7a471be --- /dev/null +++ b/docs/GoogleWorkspaceProviderRequest.md @@ -0,0 +1,21 @@ +# GoogleWorkspaceProviderRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**property_mappings_group** | Option<[**Vec**](uuid::Uuid.md)> | Property mappings used for group creation/updating. | [optional] +**delegated_subject** | **String** | | +**credentials** | Option<[**serde_json::Value**](.md)> | | +**scopes** | Option<**String**> | | [optional] +**exclude_users_service_account** | Option<**bool**> | | [optional] +**filter_group** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**user_delete_action** | Option<[**models::OutgoingSyncDeleteAction**](OutgoingSyncDeleteAction.md)> | | [optional] +**group_delete_action** | Option<[**models::OutgoingSyncDeleteAction**](OutgoingSyncDeleteAction.md)> | | [optional] +**default_group_email_domain** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GoogleWorkspaceProviderUser.md b/docs/GoogleWorkspaceProviderUser.md new file mode 100644 index 0000000..7c3e383 --- /dev/null +++ b/docs/GoogleWorkspaceProviderUser.md @@ -0,0 +1,16 @@ +# GoogleWorkspaceProviderUser + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**google_id** | **String** | | +**user** | **i32** | | +**user_obj** | [**models::GroupMember**](GroupMember.md) | | [readonly] +**provider** | **i32** | | +**attributes** | Option<[**serde_json::Value**](.md)> | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GoogleWorkspaceProviderUserRequest.md b/docs/GoogleWorkspaceProviderUserRequest.md new file mode 100644 index 0000000..766f60f --- /dev/null +++ b/docs/GoogleWorkspaceProviderUserRequest.md @@ -0,0 +1,13 @@ +# GoogleWorkspaceProviderUserRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**google_id** | **String** | | +**user** | **i32** | | +**provider** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Group.md b/docs/Group.md new file mode 100644 index 0000000..6569922 --- /dev/null +++ b/docs/Group.md @@ -0,0 +1,21 @@ +# Group + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**num_pk** | **i32** | | [readonly] +**name** | **String** | | +**is_superuser** | Option<**bool**> | Users added to this group will be superusers. | [optional] +**parent** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**parent_name** | Option<**String**> | | [readonly] +**users** | Option<**Vec**> | | [optional] +**users_obj** | Option<[**Vec**](GroupMember.md)> | | [readonly] +**attributes** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | | [optional] +**roles** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**roles_obj** | [**Vec**](Role.md) | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GroupMatchingModeEnum.md b/docs/GroupMatchingModeEnum.md new file mode 100644 index 0000000..1062fcb --- /dev/null +++ b/docs/GroupMatchingModeEnum.md @@ -0,0 +1,14 @@ +# GroupMatchingModeEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Identifier | identifier | +| NameLink | name_link | +| NameDeny | name_deny | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GroupMember.md b/docs/GroupMember.md new file mode 100644 index 0000000..da36020 --- /dev/null +++ b/docs/GroupMember.md @@ -0,0 +1,18 @@ +# GroupMember + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**username** | **String** | Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. | +**name** | **String** | User's display name. | +**is_active** | Option<**bool**> | Designates whether this user should be treated as active. Unselect this instead of deleting accounts. | [optional] +**last_login** | Option<**String**> | | [optional] +**email** | Option<**String**> | | [optional] +**attributes** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | | [optional] +**uid** | **String** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GroupMemberRequest.md b/docs/GroupMemberRequest.md new file mode 100644 index 0000000..ad3cb98 --- /dev/null +++ b/docs/GroupMemberRequest.md @@ -0,0 +1,16 @@ +# GroupMemberRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**username** | **String** | Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. | +**name** | **String** | User's display name. | +**is_active** | Option<**bool**> | Designates whether this user should be treated as active. Unselect this instead of deleting accounts. | [optional] +**last_login** | Option<**String**> | | [optional] +**email** | Option<**String**> | | [optional] +**attributes** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GroupOAuthSourceConnection.md b/docs/GroupOAuthSourceConnection.md new file mode 100644 index 0000000..c14841c --- /dev/null +++ b/docs/GroupOAuthSourceConnection.md @@ -0,0 +1,15 @@ +# GroupOAuthSourceConnection + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**group** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**source** | [**models::Source**](Source.md) | | [readonly] +**identifier** | **String** | | [readonly] +**created** | **String** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GroupPlexSourceConnection.md b/docs/GroupPlexSourceConnection.md new file mode 100644 index 0000000..48de490 --- /dev/null +++ b/docs/GroupPlexSourceConnection.md @@ -0,0 +1,15 @@ +# GroupPlexSourceConnection + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**group** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**source** | [**models::Source**](Source.md) | | [readonly] +**identifier** | **String** | | [readonly] +**created** | **String** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GroupRequest.md b/docs/GroupRequest.md new file mode 100644 index 0000000..3b19561 --- /dev/null +++ b/docs/GroupRequest.md @@ -0,0 +1,16 @@ +# GroupRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**is_superuser** | Option<**bool**> | Users added to this group will be superusers. | [optional] +**parent** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**users** | Option<**Vec**> | | [optional] +**attributes** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | | [optional] +**roles** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GroupSamlSourceConnection.md b/docs/GroupSamlSourceConnection.md new file mode 100644 index 0000000..a52ab91 --- /dev/null +++ b/docs/GroupSamlSourceConnection.md @@ -0,0 +1,15 @@ +# GroupSamlSourceConnection + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**group** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**source** | [**models::Source**](Source.md) | | [readonly] +**identifier** | **String** | | [readonly] +**created** | **String** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/IdentificationChallenge.md b/docs/IdentificationChallenge.md new file mode 100644 index 0000000..d73a7f9 --- /dev/null +++ b/docs/IdentificationChallenge.md @@ -0,0 +1,24 @@ +# IdentificationChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**flow_info** | Option<[**models::ContextualFlowInfo**](ContextualFlowInfo.md)> | | [optional] +**component** | Option<**String**> | | [optional][default to ak-stage-identification] +**response_errors** | Option<[**std::collections::HashMap>**](Vec.md)> | | [optional] +**user_fields** | Option<**Vec**> | | +**password_fields** | **bool** | | +**allow_show_password** | Option<**bool**> | | [optional][default to false] +**application_pre** | Option<**String**> | | [optional] +**flow_designation** | [**models::FlowDesignationEnum**](FlowDesignationEnum.md) | | +**enroll_url** | Option<**String**> | | [optional] +**recovery_url** | Option<**String**> | | [optional] +**passwordless_url** | Option<**String**> | | [optional] +**primary_action** | **String** | | +**sources** | Option<[**Vec**](LoginSource.md)> | | [optional] +**show_source_labels** | **bool** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/IdentificationChallengeResponseRequest.md b/docs/IdentificationChallengeResponseRequest.md new file mode 100644 index 0000000..d85aea8 --- /dev/null +++ b/docs/IdentificationChallengeResponseRequest.md @@ -0,0 +1,13 @@ +# IdentificationChallengeResponseRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | Option<**String**> | | [optional][default to ak-stage-identification] +**uid_field** | **String** | | +**password** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/IdentificationStage.md b/docs/IdentificationStage.md new file mode 100644 index 0000000..6eca996 --- /dev/null +++ b/docs/IdentificationStage.md @@ -0,0 +1,27 @@ +# IdentificationStage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**component** | **String** | Get object type so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**flow_set** | Option<[**Vec**](FlowSet.md)> | | [optional] +**user_fields** | Option<[**Vec**](UserFieldsEnum.md)> | Fields of the user object to match against. (Hold shift to select multiple options) | [optional] +**password_stage** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | When set, shows a password field, instead of showing the password field as separate step. | [optional] +**case_insensitive_matching** | Option<**bool**> | When enabled, user fields are matched regardless of their casing. | [optional] +**show_matched_user** | Option<**bool**> | When a valid username/email has been entered, and this option is enabled, the user's username and avatar will be shown. Otherwise, the text that the user entered will be shown | [optional] +**enrollment_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Optional enrollment flow, which is linked at the bottom of the page. | [optional] +**recovery_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Optional recovery flow, which is linked at the bottom of the page. | [optional] +**passwordless_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Optional passwordless flow, which is linked at the bottom of the page. | [optional] +**sources** | Option<[**Vec**](uuid::Uuid.md)> | Specify which sources should be shown. | [optional] +**show_source_labels** | Option<**bool**> | | [optional] +**pretend_user_exists** | Option<**bool**> | When enabled, the stage will succeed and continue even when incorrect user info is entered. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/IdentificationStageRequest.md b/docs/IdentificationStageRequest.md new file mode 100644 index 0000000..32b3db3 --- /dev/null +++ b/docs/IdentificationStageRequest.md @@ -0,0 +1,22 @@ +# IdentificationStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**user_fields** | Option<[**Vec**](UserFieldsEnum.md)> | Fields of the user object to match against. (Hold shift to select multiple options) | [optional] +**password_stage** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | When set, shows a password field, instead of showing the password field as separate step. | [optional] +**case_insensitive_matching** | Option<**bool**> | When enabled, user fields are matched regardless of their casing. | [optional] +**show_matched_user** | Option<**bool**> | When a valid username/email has been entered, and this option is enabled, the user's username and avatar will be shown. Otherwise, the text that the user entered will be shown | [optional] +**enrollment_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Optional enrollment flow, which is linked at the bottom of the page. | [optional] +**recovery_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Optional recovery flow, which is linked at the bottom of the page. | [optional] +**passwordless_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Optional passwordless flow, which is linked at the bottom of the page. | [optional] +**sources** | Option<[**Vec**](uuid::Uuid.md)> | Specify which sources should be shown. | [optional] +**show_source_labels** | Option<**bool**> | | [optional] +**pretend_user_exists** | Option<**bool**> | When enabled, the stage will succeed and continue even when incorrect user info is entered. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/InstallId.md b/docs/InstallId.md new file mode 100644 index 0000000..6d39db8 --- /dev/null +++ b/docs/InstallId.md @@ -0,0 +1,11 @@ +# InstallId + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**install_id** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/IntentEnum.md b/docs/IntentEnum.md new file mode 100644 index 0000000..1064eff --- /dev/null +++ b/docs/IntentEnum.md @@ -0,0 +1,15 @@ +# IntentEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Verification | verification | +| Api | api | +| Recovery | recovery | +| AppPassword | app_password | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/InvalidResponseActionEnum.md b/docs/InvalidResponseActionEnum.md new file mode 100644 index 0000000..afc1834 --- /dev/null +++ b/docs/InvalidResponseActionEnum.md @@ -0,0 +1,14 @@ +# InvalidResponseActionEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Retry | retry | +| Restart | restart | +| RestartWithContext | restart_with_context | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Invitation.md b/docs/Invitation.md new file mode 100644 index 0000000..5b50e16 --- /dev/null +++ b/docs/Invitation.md @@ -0,0 +1,18 @@ +# Invitation + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**expires** | Option<**String**> | | [optional] +**fixed_data** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | | [optional] +**created_by** | [**models::GroupMember**](GroupMember.md) | | [readonly] +**single_use** | Option<**bool**> | When enabled, the invitation will be deleted after usage. | [optional] +**flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | When set, only the configured flow can use this invitation. | [optional] +**flow_obj** | [**models::Flow**](Flow.md) | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/InvitationRequest.md b/docs/InvitationRequest.md new file mode 100644 index 0000000..c8c0bca --- /dev/null +++ b/docs/InvitationRequest.md @@ -0,0 +1,15 @@ +# InvitationRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**expires** | Option<**String**> | | [optional] +**fixed_data** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | | [optional] +**single_use** | Option<**bool**> | When enabled, the invitation will be deleted after usage. | [optional] +**flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | When set, only the configured flow can use this invitation. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/InvitationStage.md b/docs/InvitationStage.md new file mode 100644 index 0000000..be095b6 --- /dev/null +++ b/docs/InvitationStage.md @@ -0,0 +1,18 @@ +# InvitationStage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**component** | **String** | Get object type so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**flow_set** | Option<[**Vec**](FlowSet.md)> | | [optional] +**continue_flow_without_invitation** | Option<**bool**> | If this flag is set, this Stage will jump to the next Stage when no Invitation is given. By default this Stage will cancel the Flow when no invitation is given. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/InvitationStageRequest.md b/docs/InvitationStageRequest.md new file mode 100644 index 0000000..92b4ab4 --- /dev/null +++ b/docs/InvitationStageRequest.md @@ -0,0 +1,13 @@ +# InvitationStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**continue_flow_without_invitation** | Option<**bool**> | If this flag is set, this Stage will jump to the next Stage when no Invitation is given. By default this Stage will cancel the Flow when no invitation is given. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/IssuerModeEnum.md b/docs/IssuerModeEnum.md new file mode 100644 index 0000000..3ebb623 --- /dev/null +++ b/docs/IssuerModeEnum.md @@ -0,0 +1,13 @@ +# IssuerModeEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Global | global | +| PerProvider | per_provider | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/KubernetesServiceConnection.md b/docs/KubernetesServiceConnection.md new file mode 100644 index 0000000..9d4066e --- /dev/null +++ b/docs/KubernetesServiceConnection.md @@ -0,0 +1,19 @@ +# KubernetesServiceConnection + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**local** | Option<**bool**> | If enabled, use the local connection. Required Docker socket/Kubernetes Integration | [optional] +**component** | **String** | | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**kubeconfig** | Option<[**serde_json::Value**](.md)> | Paste your kubeconfig here. authentik will automatically use the currently selected context. | [optional] +**verify_ssl** | Option<**bool**> | Verify SSL Certificates of the Kubernetes API endpoint | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/KubernetesServiceConnectionRequest.md b/docs/KubernetesServiceConnectionRequest.md new file mode 100644 index 0000000..c548df5 --- /dev/null +++ b/docs/KubernetesServiceConnectionRequest.md @@ -0,0 +1,14 @@ +# KubernetesServiceConnectionRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**local** | Option<**bool**> | If enabled, use the local connection. Required Docker socket/Kubernetes Integration | [optional] +**kubeconfig** | Option<[**serde_json::Value**](.md)> | Paste your kubeconfig here. authentik will automatically use the currently selected context. | [optional] +**verify_ssl** | Option<**bool**> | Verify SSL Certificates of the Kubernetes API endpoint | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LdapCheckAccess.md b/docs/LdapCheckAccess.md new file mode 100644 index 0000000..bc47d2d --- /dev/null +++ b/docs/LdapCheckAccess.md @@ -0,0 +1,12 @@ +# LdapCheckAccess + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**has_search_permission** | Option<**bool**> | | [optional] +**access** | [**models::PolicyTestResult**](PolicyTestResult.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LdapDebug.md b/docs/LdapDebug.md new file mode 100644 index 0000000..9380f4e --- /dev/null +++ b/docs/LdapDebug.md @@ -0,0 +1,13 @@ +# LdapDebug + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user** | [**Vec>**](std::collections::HashMap.md) | | [readonly] +**group** | [**Vec>**](std::collections::HashMap.md) | | [readonly] +**membership** | [**Vec>**](std::collections::HashMap.md) | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LdapOutpostConfig.md b/docs/LdapOutpostConfig.md new file mode 100644 index 0000000..ddb10b5 --- /dev/null +++ b/docs/LdapOutpostConfig.md @@ -0,0 +1,22 @@ +# LdapOutpostConfig + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**name** | **String** | | +**base_dn** | Option<**String**> | DN under which objects are accessible. | [optional] +**bind_flow_slug** | **String** | | +**application_slug** | **String** | Prioritise backchannel slug over direct application slug | [readonly] +**certificate** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**tls_server_name** | Option<**String**> | | [optional] +**uid_start_number** | Option<**i32**> | The start for uidNumbers, this number is added to the user.pk to make sure that the numbers aren't too low for POSIX users. Default is 2000 to ensure that we don't collide with local users uidNumber | [optional] +**gid_start_number** | Option<**i32**> | The start for gidNumbers, this number is added to a number generated from the group.pk to make sure that the numbers aren't too low for POSIX groups. Default is 4000 to ensure that we don't collide with local groups or users primary groups gidNumber | [optional] +**search_mode** | Option<[**models::LdapapiAccessMode**](LDAPAPIAccessMode.md)> | | [optional] +**bind_mode** | Option<[**models::LdapapiAccessMode**](LDAPAPIAccessMode.md)> | | [optional] +**mfa_support** | Option<**bool**> | When enabled, code-based multi-factor authentication can be used by appending a semicolon and the TOTP code to the password. This should only be enabled if all users that will bind to this provider have a TOTP device configured, as otherwise a password may incorrectly be rejected if it contains a semicolon. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LdapProvider.md b/docs/LdapProvider.md new file mode 100644 index 0000000..875b5be --- /dev/null +++ b/docs/LdapProvider.md @@ -0,0 +1,32 @@ +# LdapProvider + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**name** | **String** | | +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used for authentication when the associated application is accessed by an un-authenticated user. | [optional] +**authorization_flow** | [**uuid::Uuid**](uuid::Uuid.md) | Flow used when authorizing this provider. | +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**assigned_application_slug** | **String** | Internal application name, used in URLs. | [readonly] +**assigned_application_name** | **String** | Application's display Name. | [readonly] +**assigned_backchannel_application_slug** | **String** | Internal application name, used in URLs. | [readonly] +**assigned_backchannel_application_name** | **String** | Application's display Name. | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**base_dn** | Option<**String**> | DN under which objects are accessible. | [optional] +**certificate** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**tls_server_name** | Option<**String**> | | [optional] +**uid_start_number** | Option<**i32**> | The start for uidNumbers, this number is added to the user.pk to make sure that the numbers aren't too low for POSIX users. Default is 2000 to ensure that we don't collide with local users uidNumber | [optional] +**gid_start_number** | Option<**i32**> | The start for gidNumbers, this number is added to a number generated from the group.pk to make sure that the numbers aren't too low for POSIX groups. Default is 4000 to ensure that we don't collide with local groups or users primary groups gidNumber | [optional] +**outpost_set** | **Vec** | | [readonly] +**search_mode** | Option<[**models::LdapapiAccessMode**](LDAPAPIAccessMode.md)> | | [optional] +**bind_mode** | Option<[**models::LdapapiAccessMode**](LDAPAPIAccessMode.md)> | | [optional] +**mfa_support** | Option<**bool**> | When enabled, code-based multi-factor authentication can be used by appending a semicolon and the TOTP code to the password. This should only be enabled if all users that will bind to this provider have a TOTP device configured, as otherwise a password may incorrectly be rejected if it contains a semicolon. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LdapProviderRequest.md b/docs/LdapProviderRequest.md new file mode 100644 index 0000000..cd94b6a --- /dev/null +++ b/docs/LdapProviderRequest.md @@ -0,0 +1,22 @@ +# LdapProviderRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used for authentication when the associated application is accessed by an un-authenticated user. | [optional] +**authorization_flow** | [**uuid::Uuid**](uuid::Uuid.md) | Flow used when authorizing this provider. | +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**base_dn** | Option<**String**> | DN under which objects are accessible. | [optional] +**certificate** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**tls_server_name** | Option<**String**> | | [optional] +**uid_start_number** | Option<**i32**> | The start for uidNumbers, this number is added to the user.pk to make sure that the numbers aren't too low for POSIX users. Default is 2000 to ensure that we don't collide with local users uidNumber | [optional] +**gid_start_number** | Option<**i32**> | The start for gidNumbers, this number is added to a number generated from the group.pk to make sure that the numbers aren't too low for POSIX groups. Default is 4000 to ensure that we don't collide with local groups or users primary groups gidNumber | [optional] +**search_mode** | Option<[**models::LdapapiAccessMode**](LDAPAPIAccessMode.md)> | | [optional] +**bind_mode** | Option<[**models::LdapapiAccessMode**](LDAPAPIAccessMode.md)> | | [optional] +**mfa_support** | Option<**bool**> | When enabled, code-based multi-factor authentication can be used by appending a semicolon and the TOTP code to the password. This should only be enabled if all users that will bind to this provider have a TOTP device configured, as otherwise a password may incorrectly be rejected if it contains a semicolon. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LdapSource.md b/docs/LdapSource.md new file mode 100644 index 0000000..0565989 --- /dev/null +++ b/docs/LdapSource.md @@ -0,0 +1,46 @@ +# LdapSource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | Source's display Name. | +**slug** | **String** | Internal source name, used in URLs. | +**enabled** | Option<**bool**> | | [optional] +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when authenticating existing users. | [optional] +**enrollment_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when enrolling new users. | [optional] +**user_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**group_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**user_matching_mode** | Option<[**models::UserMatchingModeEnum**](UserMatchingModeEnum.md)> | How the source determines if an existing user should be authenticated or a new user enrolled. | [optional] +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [readonly] +**user_path_template** | Option<**String**> | | [optional] +**icon** | **String** | | [readonly] +**server_uri** | **String** | | +**peer_certificate** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Optionally verify the LDAP Server's Certificate against the CA Chain in this keypair. | [optional] +**client_certificate** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Client certificate to authenticate against the LDAP Server's Certificate. | [optional] +**bind_cn** | Option<**String**> | | [optional] +**start_tls** | Option<**bool**> | | [optional] +**sni** | Option<**bool**> | | [optional] +**base_dn** | **String** | | +**additional_user_dn** | Option<**String**> | Prepended to Base DN for User-queries. | [optional] +**additional_group_dn** | Option<**String**> | Prepended to Base DN for Group-queries. | [optional] +**user_object_filter** | Option<**String**> | Consider Objects matching this filter to be Users. | [optional] +**group_object_filter** | Option<**String**> | Consider Objects matching this filter to be Groups. | [optional] +**group_membership_field** | Option<**String**> | Field which contains members of a group. | [optional] +**object_uniqueness_field** | Option<**String**> | Field which contains a unique Identifier. | [optional] +**password_login_update_internal_password** | Option<**bool**> | Update internal authentik password when login succeeds with LDAP | [optional] +**sync_users** | Option<**bool**> | | [optional] +**sync_users_password** | Option<**bool**> | When a user changes their password, sync it back to LDAP. This can only be enabled on a single LDAP source. | [optional] +**sync_groups** | Option<**bool**> | | [optional] +**sync_parent_group** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**connectivity** | Option<[**std::collections::HashMap>**](std::collections::HashMap.md)> | Get cached source connectivity | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LdapSourcePropertyMapping.md b/docs/LdapSourcePropertyMapping.md new file mode 100644 index 0000000..14e6a2d --- /dev/null +++ b/docs/LdapSourcePropertyMapping.md @@ -0,0 +1,18 @@ +# LdapSourcePropertyMapping + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | **String** | | +**component** | **String** | Get object's component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LdapSourcePropertyMappingRequest.md b/docs/LdapSourcePropertyMappingRequest.md new file mode 100644 index 0000000..3603863 --- /dev/null +++ b/docs/LdapSourcePropertyMappingRequest.md @@ -0,0 +1,13 @@ +# LdapSourcePropertyMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LdapSourceRequest.md b/docs/LdapSourceRequest.md new file mode 100644 index 0000000..59b4a75 --- /dev/null +++ b/docs/LdapSourceRequest.md @@ -0,0 +1,39 @@ +# LdapSourceRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | Source's display Name. | +**slug** | **String** | Internal source name, used in URLs. | +**enabled** | Option<**bool**> | | [optional] +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when authenticating existing users. | [optional] +**enrollment_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when enrolling new users. | [optional] +**user_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**group_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**user_matching_mode** | Option<[**models::UserMatchingModeEnum**](UserMatchingModeEnum.md)> | How the source determines if an existing user should be authenticated or a new user enrolled. | [optional] +**user_path_template** | Option<**String**> | | [optional] +**server_uri** | **String** | | +**peer_certificate** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Optionally verify the LDAP Server's Certificate against the CA Chain in this keypair. | [optional] +**client_certificate** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Client certificate to authenticate against the LDAP Server's Certificate. | [optional] +**bind_cn** | Option<**String**> | | [optional] +**bind_password** | Option<**String**> | | [optional] +**start_tls** | Option<**bool**> | | [optional] +**sni** | Option<**bool**> | | [optional] +**base_dn** | **String** | | +**additional_user_dn** | Option<**String**> | Prepended to Base DN for User-queries. | [optional] +**additional_group_dn** | Option<**String**> | Prepended to Base DN for Group-queries. | [optional] +**user_object_filter** | Option<**String**> | Consider Objects matching this filter to be Users. | [optional] +**group_object_filter** | Option<**String**> | Consider Objects matching this filter to be Groups. | [optional] +**group_membership_field** | Option<**String**> | Field which contains members of a group. | [optional] +**object_uniqueness_field** | Option<**String**> | Field which contains a unique Identifier. | [optional] +**password_login_update_internal_password** | Option<**bool**> | Update internal authentik password when login succeeds with LDAP | [optional] +**sync_users** | Option<**bool**> | | [optional] +**sync_users_password** | Option<**bool**> | When a user changes their password, sync it back to LDAP. This can only be enabled on a single LDAP source. | [optional] +**sync_groups** | Option<**bool**> | | [optional] +**sync_parent_group** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LdapapiAccessMode.md b/docs/LdapapiAccessMode.md new file mode 100644 index 0000000..e3d6645 --- /dev/null +++ b/docs/LdapapiAccessMode.md @@ -0,0 +1,13 @@ +# LdapapiAccessMode + +## Enum Variants + +| Name | Value | +|---- | -----| +| Direct | direct | +| Cached | cached | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/License.md b/docs/License.md new file mode 100644 index 0000000..58cb1a1 --- /dev/null +++ b/docs/License.md @@ -0,0 +1,16 @@ +# License + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**license_uuid** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | [readonly] +**key** | **String** | | +**expiry** | **String** | | [readonly] +**internal_users** | **i32** | | [readonly] +**external_users** | **i32** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LicenseFlagsEnum.md b/docs/LicenseFlagsEnum.md new file mode 100644 index 0000000..b21d76a --- /dev/null +++ b/docs/LicenseFlagsEnum.md @@ -0,0 +1,13 @@ +# LicenseFlagsEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Trial | trial | +| NonProduction | non_production | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LicenseForecast.md b/docs/LicenseForecast.md new file mode 100644 index 0000000..19730c3 --- /dev/null +++ b/docs/LicenseForecast.md @@ -0,0 +1,14 @@ +# LicenseForecast + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**internal_users** | **i32** | | +**external_users** | **i32** | | +**forecasted_internal_users** | **i32** | | +**forecasted_external_users** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LicenseRequest.md b/docs/LicenseRequest.md new file mode 100644 index 0000000..5aaecd8 --- /dev/null +++ b/docs/LicenseRequest.md @@ -0,0 +1,11 @@ +# LicenseRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**key** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LicenseSummary.md b/docs/LicenseSummary.md new file mode 100644 index 0000000..a1d5446 --- /dev/null +++ b/docs/LicenseSummary.md @@ -0,0 +1,15 @@ +# LicenseSummary + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**internal_users** | **i32** | | +**external_users** | **i32** | | +**status** | [**models::LicenseSummaryStatusEnum**](LicenseSummaryStatusEnum.md) | | +**latest_valid** | **String** | | +**license_flags** | [**Vec**](LicenseFlagsEnum.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LicenseSummaryStatusEnum.md b/docs/LicenseSummaryStatusEnum.md new file mode 100644 index 0000000..b76a77b --- /dev/null +++ b/docs/LicenseSummaryStatusEnum.md @@ -0,0 +1,18 @@ +# LicenseSummaryStatusEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Unlicensed | unlicensed | +| Valid | valid | +| Expired | expired | +| ExpirySoon | expiry_soon | +| LimitExceededAdmin | limit_exceeded_admin | +| LimitExceededUser | limit_exceeded_user | +| ReadOnly | read_only | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Link.md b/docs/Link.md new file mode 100644 index 0000000..d16569e --- /dev/null +++ b/docs/Link.md @@ -0,0 +1,11 @@ +# Link + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**link** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LogEvent.md b/docs/LogEvent.md new file mode 100644 index 0000000..4b2fbaf --- /dev/null +++ b/docs/LogEvent.md @@ -0,0 +1,15 @@ +# LogEvent + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**timestamp** | **String** | | +**log_level** | [**models::LogLevelEnum**](LogLevelEnum.md) | | +**logger** | **String** | | +**event** | **String** | | +**attributes** | [**std::collections::HashMap**](serde_json::Value.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LogLevelEnum.md b/docs/LogLevelEnum.md new file mode 100644 index 0000000..0caf005 --- /dev/null +++ b/docs/LogLevelEnum.md @@ -0,0 +1,19 @@ +# LogLevelEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Critical | critical | +| Exception | exception | +| Error | error | +| Warn | warn | +| Warning | warning | +| Info | info | +| Debug | debug | +| Notset | notset | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LoginChallengeTypes.md b/docs/LoginChallengeTypes.md new file mode 100644 index 0000000..ed34387 --- /dev/null +++ b/docs/LoginChallengeTypes.md @@ -0,0 +1,10 @@ +# LoginChallengeTypes + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LoginMetrics.md b/docs/LoginMetrics.md new file mode 100644 index 0000000..914449d --- /dev/null +++ b/docs/LoginMetrics.md @@ -0,0 +1,13 @@ +# LoginMetrics + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**logins** | [**Vec**](Coordinate.md) | | [readonly] +**logins_failed** | [**Vec**](Coordinate.md) | | [readonly] +**authorizations** | [**Vec**](Coordinate.md) | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LoginSource.md b/docs/LoginSource.md new file mode 100644 index 0000000..b9616f3 --- /dev/null +++ b/docs/LoginSource.md @@ -0,0 +1,13 @@ +# LoginSource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**icon_url** | Option<**String**> | | [optional] +**challenge** | [**models::LoginChallengeTypes**](LoginChallengeTypes.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ManagedApi.md b/docs/ManagedApi.md new file mode 100644 index 0000000..e199f7d --- /dev/null +++ b/docs/ManagedApi.md @@ -0,0 +1,291 @@ +# \ManagedApi + +All URIs are relative to *http://localhost/api/v3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**managed_blueprints_apply_create**](ManagedApi.md#managed_blueprints_apply_create) | **POST** /managed/blueprints/{instance_uuid}/apply/ | +[**managed_blueprints_available_list**](ManagedApi.md#managed_blueprints_available_list) | **GET** /managed/blueprints/available/ | +[**managed_blueprints_create**](ManagedApi.md#managed_blueprints_create) | **POST** /managed/blueprints/ | +[**managed_blueprints_destroy**](ManagedApi.md#managed_blueprints_destroy) | **DELETE** /managed/blueprints/{instance_uuid}/ | +[**managed_blueprints_list**](ManagedApi.md#managed_blueprints_list) | **GET** /managed/blueprints/ | +[**managed_blueprints_partial_update**](ManagedApi.md#managed_blueprints_partial_update) | **PATCH** /managed/blueprints/{instance_uuid}/ | +[**managed_blueprints_retrieve**](ManagedApi.md#managed_blueprints_retrieve) | **GET** /managed/blueprints/{instance_uuid}/ | +[**managed_blueprints_update**](ManagedApi.md#managed_blueprints_update) | **PUT** /managed/blueprints/{instance_uuid}/ | +[**managed_blueprints_used_by_list**](ManagedApi.md#managed_blueprints_used_by_list) | **GET** /managed/blueprints/{instance_uuid}/used_by/ | + + + +## managed_blueprints_apply_create + +> models::BlueprintInstance managed_blueprints_apply_create(instance_uuid) + + +Apply a blueprint + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**instance_uuid** | **uuid::Uuid** | A UUID string identifying this Blueprint Instance. | [required] | + +### Return type + +[**models::BlueprintInstance**](BlueprintInstance.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## managed_blueprints_available_list + +> Vec managed_blueprints_available_list() + + +Get blueprints + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**Vec**](BlueprintFile.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## managed_blueprints_create + +> models::BlueprintInstance managed_blueprints_create(blueprint_instance_request) + + +Blueprint instances + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**blueprint_instance_request** | [**BlueprintInstanceRequest**](BlueprintInstanceRequest.md) | | [required] | + +### Return type + +[**models::BlueprintInstance**](BlueprintInstance.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## managed_blueprints_destroy + +> managed_blueprints_destroy(instance_uuid) + + +Blueprint instances + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**instance_uuid** | **uuid::Uuid** | A UUID string identifying this Blueprint Instance. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## managed_blueprints_list + +> models::PaginatedBlueprintInstanceList managed_blueprints_list(name, ordering, page, page_size, path, search) + + +Blueprint instances + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**path** | Option<**String**> | | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedBlueprintInstanceList**](PaginatedBlueprintInstanceList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## managed_blueprints_partial_update + +> models::BlueprintInstance managed_blueprints_partial_update(instance_uuid, patched_blueprint_instance_request) + + +Blueprint instances + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**instance_uuid** | **uuid::Uuid** | A UUID string identifying this Blueprint Instance. | [required] | +**patched_blueprint_instance_request** | Option<[**PatchedBlueprintInstanceRequest**](PatchedBlueprintInstanceRequest.md)> | | | + +### Return type + +[**models::BlueprintInstance**](BlueprintInstance.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## managed_blueprints_retrieve + +> models::BlueprintInstance managed_blueprints_retrieve(instance_uuid) + + +Blueprint instances + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**instance_uuid** | **uuid::Uuid** | A UUID string identifying this Blueprint Instance. | [required] | + +### Return type + +[**models::BlueprintInstance**](BlueprintInstance.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## managed_blueprints_update + +> models::BlueprintInstance managed_blueprints_update(instance_uuid, blueprint_instance_request) + + +Blueprint instances + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**instance_uuid** | **uuid::Uuid** | A UUID string identifying this Blueprint Instance. | [required] | +**blueprint_instance_request** | [**BlueprintInstanceRequest**](BlueprintInstanceRequest.md) | | [required] | + +### Return type + +[**models::BlueprintInstance**](BlueprintInstance.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## managed_blueprints_used_by_list + +> Vec managed_blueprints_used_by_list(instance_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**instance_uuid** | **uuid::Uuid** | A UUID string identifying this Blueprint Instance. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/Metadata.md b/docs/Metadata.md new file mode 100644 index 0000000..990b16b --- /dev/null +++ b/docs/Metadata.md @@ -0,0 +1,12 @@ +# Metadata + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**labels** | [**std::collections::HashMap**](serde_json::Value.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/MicrosoftEntraProvider.md b/docs/MicrosoftEntraProvider.md new file mode 100644 index 0000000..083140f --- /dev/null +++ b/docs/MicrosoftEntraProvider.md @@ -0,0 +1,27 @@ +# MicrosoftEntraProvider + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**name** | **String** | | +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**property_mappings_group** | Option<[**Vec**](uuid::Uuid.md)> | Property mappings used for group creation/updating. | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**assigned_backchannel_application_slug** | **String** | Internal application name, used in URLs. | [readonly] +**assigned_backchannel_application_name** | **String** | Application's display Name. | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**client_id** | **String** | | +**client_secret** | **String** | | +**tenant_id** | **String** | | +**exclude_users_service_account** | Option<**bool**> | | [optional] +**filter_group** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**user_delete_action** | Option<[**models::OutgoingSyncDeleteAction**](OutgoingSyncDeleteAction.md)> | | [optional] +**group_delete_action** | Option<[**models::OutgoingSyncDeleteAction**](OutgoingSyncDeleteAction.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/MicrosoftEntraProviderGroup.md b/docs/MicrosoftEntraProviderGroup.md new file mode 100644 index 0000000..6d19b59 --- /dev/null +++ b/docs/MicrosoftEntraProviderGroup.md @@ -0,0 +1,16 @@ +# MicrosoftEntraProviderGroup + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**microsoft_id** | **String** | | +**group** | [**uuid::Uuid**](uuid::Uuid.md) | | +**group_obj** | [**models::UserGroup**](UserGroup.md) | | [readonly] +**provider** | **i32** | | +**attributes** | Option<[**serde_json::Value**](.md)> | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/MicrosoftEntraProviderGroupRequest.md b/docs/MicrosoftEntraProviderGroupRequest.md new file mode 100644 index 0000000..7d64265 --- /dev/null +++ b/docs/MicrosoftEntraProviderGroupRequest.md @@ -0,0 +1,13 @@ +# MicrosoftEntraProviderGroupRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**microsoft_id** | **String** | | +**group** | [**uuid::Uuid**](uuid::Uuid.md) | | +**provider** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/MicrosoftEntraProviderMapping.md b/docs/MicrosoftEntraProviderMapping.md new file mode 100644 index 0000000..3d4b275 --- /dev/null +++ b/docs/MicrosoftEntraProviderMapping.md @@ -0,0 +1,18 @@ +# MicrosoftEntraProviderMapping + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | **String** | | +**component** | **String** | Get object's component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/MicrosoftEntraProviderMappingRequest.md b/docs/MicrosoftEntraProviderMappingRequest.md new file mode 100644 index 0000000..97d58f5 --- /dev/null +++ b/docs/MicrosoftEntraProviderMappingRequest.md @@ -0,0 +1,13 @@ +# MicrosoftEntraProviderMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/MicrosoftEntraProviderRequest.md b/docs/MicrosoftEntraProviderRequest.md new file mode 100644 index 0000000..1a73dac --- /dev/null +++ b/docs/MicrosoftEntraProviderRequest.md @@ -0,0 +1,20 @@ +# MicrosoftEntraProviderRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**property_mappings_group** | Option<[**Vec**](uuid::Uuid.md)> | Property mappings used for group creation/updating. | [optional] +**client_id** | **String** | | +**client_secret** | **String** | | +**tenant_id** | **String** | | +**exclude_users_service_account** | Option<**bool**> | | [optional] +**filter_group** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**user_delete_action** | Option<[**models::OutgoingSyncDeleteAction**](OutgoingSyncDeleteAction.md)> | | [optional] +**group_delete_action** | Option<[**models::OutgoingSyncDeleteAction**](OutgoingSyncDeleteAction.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/MicrosoftEntraProviderUser.md b/docs/MicrosoftEntraProviderUser.md new file mode 100644 index 0000000..3792615 --- /dev/null +++ b/docs/MicrosoftEntraProviderUser.md @@ -0,0 +1,16 @@ +# MicrosoftEntraProviderUser + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**microsoft_id** | **String** | | +**user** | **i32** | | +**user_obj** | [**models::GroupMember**](GroupMember.md) | | [readonly] +**provider** | **i32** | | +**attributes** | Option<[**serde_json::Value**](.md)> | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/MicrosoftEntraProviderUserRequest.md b/docs/MicrosoftEntraProviderUserRequest.md new file mode 100644 index 0000000..cb880ed --- /dev/null +++ b/docs/MicrosoftEntraProviderUserRequest.md @@ -0,0 +1,13 @@ +# MicrosoftEntraProviderUserRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**microsoft_id** | **String** | | +**user** | **i32** | | +**provider** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ModelEnum.md b/docs/ModelEnum.md new file mode 100644 index 0000000..ed2bd78 --- /dev/null +++ b/docs/ModelEnum.md @@ -0,0 +1,100 @@ +# ModelEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| TenantsPeriodDomain | authentik_tenants.domain | +| CryptoPeriodCertificatekeypair | authentik_crypto.certificatekeypair | +| FlowsPeriodFlow | authentik_flows.flow | +| FlowsPeriodFlowstagebinding | authentik_flows.flowstagebinding | +| OutpostsPeriodDockerserviceconnection | authentik_outposts.dockerserviceconnection | +| OutpostsPeriodKubernetesserviceconnection | authentik_outposts.kubernetesserviceconnection | +| OutpostsPeriodOutpost | authentik_outposts.outpost | +| PoliciesDummyPeriodDummypolicy | authentik_policies_dummy.dummypolicy | +| PoliciesEventMatcherPeriodEventmatcherpolicy | authentik_policies_event_matcher.eventmatcherpolicy | +| PoliciesExpiryPeriodPasswordexpirypolicy | authentik_policies_expiry.passwordexpirypolicy | +| PoliciesExpressionPeriodExpressionpolicy | authentik_policies_expression.expressionpolicy | +| PoliciesGeoipPeriodGeoippolicy | authentik_policies_geoip.geoippolicy | +| PoliciesPasswordPeriodPasswordpolicy | authentik_policies_password.passwordpolicy | +| PoliciesReputationPeriodReputationpolicy | authentik_policies_reputation.reputationpolicy | +| PoliciesPeriodPolicybinding | authentik_policies.policybinding | +| ProvidersLdapPeriodLdapprovider | authentik_providers_ldap.ldapprovider | +| ProvidersOauth2PeriodScopemapping | authentik_providers_oauth2.scopemapping | +| ProvidersOauth2PeriodOauth2provider | authentik_providers_oauth2.oauth2provider | +| ProvidersProxyPeriodProxyprovider | authentik_providers_proxy.proxyprovider | +| ProvidersRadiusPeriodRadiusprovider | authentik_providers_radius.radiusprovider | +| ProvidersRadiusPeriodRadiusproviderpropertymapping | authentik_providers_radius.radiusproviderpropertymapping | +| ProvidersSamlPeriodSamlprovider | authentik_providers_saml.samlprovider | +| ProvidersSamlPeriodSamlpropertymapping | authentik_providers_saml.samlpropertymapping | +| ProvidersScimPeriodScimprovider | authentik_providers_scim.scimprovider | +| ProvidersScimPeriodScimmapping | authentik_providers_scim.scimmapping | +| RbacPeriodRole | authentik_rbac.role | +| SourcesLdapPeriodLdapsource | authentik_sources_ldap.ldapsource | +| SourcesLdapPeriodLdapsourcepropertymapping | authentik_sources_ldap.ldapsourcepropertymapping | +| SourcesOauthPeriodOauthsource | authentik_sources_oauth.oauthsource | +| SourcesOauthPeriodOauthsourcepropertymapping | authentik_sources_oauth.oauthsourcepropertymapping | +| SourcesOauthPeriodUseroauthsourceconnection | authentik_sources_oauth.useroauthsourceconnection | +| SourcesOauthPeriodGroupoauthsourceconnection | authentik_sources_oauth.groupoauthsourceconnection | +| SourcesPlexPeriodPlexsource | authentik_sources_plex.plexsource | +| SourcesPlexPeriodPlexsourcepropertymapping | authentik_sources_plex.plexsourcepropertymapping | +| SourcesPlexPeriodUserplexsourceconnection | authentik_sources_plex.userplexsourceconnection | +| SourcesPlexPeriodGroupplexsourceconnection | authentik_sources_plex.groupplexsourceconnection | +| SourcesSamlPeriodSamlsource | authentik_sources_saml.samlsource | +| SourcesSamlPeriodSamlsourcepropertymapping | authentik_sources_saml.samlsourcepropertymapping | +| SourcesSamlPeriodUsersamlsourceconnection | authentik_sources_saml.usersamlsourceconnection | +| SourcesSamlPeriodGroupsamlsourceconnection | authentik_sources_saml.groupsamlsourceconnection | +| SourcesScimPeriodScimsource | authentik_sources_scim.scimsource | +| SourcesScimPeriodScimsourcepropertymapping | authentik_sources_scim.scimsourcepropertymapping | +| StagesAuthenticatorDuoPeriodAuthenticatorduostage | authentik_stages_authenticator_duo.authenticatorduostage | +| StagesAuthenticatorDuoPeriodDuodevice | authentik_stages_authenticator_duo.duodevice | +| StagesAuthenticatorSmsPeriodAuthenticatorsmsstage | authentik_stages_authenticator_sms.authenticatorsmsstage | +| StagesAuthenticatorSmsPeriodSmsdevice | authentik_stages_authenticator_sms.smsdevice | +| StagesAuthenticatorStaticPeriodAuthenticatorstaticstage | authentik_stages_authenticator_static.authenticatorstaticstage | +| StagesAuthenticatorStaticPeriodStaticdevice | authentik_stages_authenticator_static.staticdevice | +| StagesAuthenticatorTotpPeriodAuthenticatortotpstage | authentik_stages_authenticator_totp.authenticatortotpstage | +| StagesAuthenticatorTotpPeriodTotpdevice | authentik_stages_authenticator_totp.totpdevice | +| StagesAuthenticatorValidatePeriodAuthenticatorvalidatestage | authentik_stages_authenticator_validate.authenticatorvalidatestage | +| StagesAuthenticatorWebauthnPeriodAuthenticatorwebauthnstage | authentik_stages_authenticator_webauthn.authenticatorwebauthnstage | +| StagesAuthenticatorWebauthnPeriodWebauthndevice | authentik_stages_authenticator_webauthn.webauthndevice | +| StagesCaptchaPeriodCaptchastage | authentik_stages_captcha.captchastage | +| StagesConsentPeriodConsentstage | authentik_stages_consent.consentstage | +| StagesConsentPeriodUserconsent | authentik_stages_consent.userconsent | +| StagesDenyPeriodDenystage | authentik_stages_deny.denystage | +| StagesDummyPeriodDummystage | authentik_stages_dummy.dummystage | +| StagesEmailPeriodEmailstage | authentik_stages_email.emailstage | +| StagesIdentificationPeriodIdentificationstage | authentik_stages_identification.identificationstage | +| StagesInvitationPeriodInvitationstage | authentik_stages_invitation.invitationstage | +| StagesInvitationPeriodInvitation | authentik_stages_invitation.invitation | +| StagesPasswordPeriodPasswordstage | authentik_stages_password.passwordstage | +| StagesPromptPeriodPrompt | authentik_stages_prompt.prompt | +| StagesPromptPeriodPromptstage | authentik_stages_prompt.promptstage | +| StagesUserDeletePeriodUserdeletestage | authentik_stages_user_delete.userdeletestage | +| StagesUserLoginPeriodUserloginstage | authentik_stages_user_login.userloginstage | +| StagesUserLogoutPeriodUserlogoutstage | authentik_stages_user_logout.userlogoutstage | +| StagesUserWritePeriodUserwritestage | authentik_stages_user_write.userwritestage | +| BrandsPeriodBrand | authentik_brands.brand | +| BlueprintsPeriodBlueprintinstance | authentik_blueprints.blueprintinstance | +| CorePeriodGroup | authentik_core.group | +| CorePeriodUser | authentik_core.user | +| CorePeriodApplication | authentik_core.application | +| CorePeriodToken | authentik_core.token | +| EnterprisePeriodLicense | authentik_enterprise.license | +| ProvidersGoogleWorkspacePeriodGoogleworkspaceprovider | authentik_providers_google_workspace.googleworkspaceprovider | +| ProvidersGoogleWorkspacePeriodGoogleworkspaceprovidermapping | authentik_providers_google_workspace.googleworkspaceprovidermapping | +| ProvidersMicrosoftEntraPeriodMicrosoftentraprovider | authentik_providers_microsoft_entra.microsoftentraprovider | +| ProvidersMicrosoftEntraPeriodMicrosoftentraprovidermapping | authentik_providers_microsoft_entra.microsoftentraprovidermapping | +| ProvidersRacPeriodRacprovider | authentik_providers_rac.racprovider | +| ProvidersRacPeriodEndpoint | authentik_providers_rac.endpoint | +| ProvidersRacPeriodRacpropertymapping | authentik_providers_rac.racpropertymapping | +| StagesSourcePeriodSourcestage | authentik_stages_source.sourcestage | +| EventsPeriodEvent | authentik_events.event | +| EventsPeriodNotificationtransport | authentik_events.notificationtransport | +| EventsPeriodNotification | authentik_events.notification | +| EventsPeriodNotificationrule | authentik_events.notificationrule | +| EventsPeriodNotificationwebhookmapping | authentik_events.notificationwebhookmapping | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ModelRequest.md b/docs/ModelRequest.md new file mode 100644 index 0000000..c592b42 --- /dev/null +++ b/docs/ModelRequest.md @@ -0,0 +1,10 @@ +# ModelRequest + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/NameIdPolicyEnum.md b/docs/NameIdPolicyEnum.md new file mode 100644 index 0000000..4c70518 --- /dev/null +++ b/docs/NameIdPolicyEnum.md @@ -0,0 +1,16 @@ +# NameIdPolicyEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Variant1Period1ColonNameidFormatColonEmailAddress | urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress | +| Variant2Period0ColonNameidFormatColonPersistent | urn:oasis:names:tc:SAML:2.0:nameid-format:persistent | +| Variant2Period0ColonNameidFormatColonX509SubjectName | urn:oasis:names:tc:SAML:2.0:nameid-format:X509SubjectName | +| Variant2Period0ColonNameidFormatColonWindowsDomainQualifiedName | urn:oasis:names:tc:SAML:2.0:nameid-format:WindowsDomainQualifiedName | +| Variant2Period0ColonNameidFormatColonTransient | urn:oasis:names:tc:SAML:2.0:nameid-format:transient | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/NetworkBindingEnum.md b/docs/NetworkBindingEnum.md new file mode 100644 index 0000000..1804875 --- /dev/null +++ b/docs/NetworkBindingEnum.md @@ -0,0 +1,15 @@ +# NetworkBindingEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| NoBinding | no_binding | +| BindAsn | bind_asn | +| BindAsnNetwork | bind_asn_network | +| BindAsnNetworkIp | bind_asn_network_ip | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/NotConfiguredActionEnum.md b/docs/NotConfiguredActionEnum.md new file mode 100644 index 0000000..c607cb1 --- /dev/null +++ b/docs/NotConfiguredActionEnum.md @@ -0,0 +1,14 @@ +# NotConfiguredActionEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Skip | skip | +| Deny | deny | +| Configure | configure | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Notification.md b/docs/Notification.md new file mode 100644 index 0000000..41b788b --- /dev/null +++ b/docs/Notification.md @@ -0,0 +1,16 @@ +# Notification + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**severity** | [**models::SeverityEnum**](SeverityEnum.md) | | [readonly] +**body** | **String** | | [readonly] +**created** | **String** | | [readonly] +**event** | Option<[**models::Event**](Event.md)> | | [optional] +**seen** | Option<**bool**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/NotificationRequest.md b/docs/NotificationRequest.md new file mode 100644 index 0000000..fa5f3b7 --- /dev/null +++ b/docs/NotificationRequest.md @@ -0,0 +1,12 @@ +# NotificationRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**event** | Option<[**models::EventRequest**](EventRequest.md)> | | [optional] +**seen** | Option<**bool**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/NotificationRule.md b/docs/NotificationRule.md new file mode 100644 index 0000000..0b7bea6 --- /dev/null +++ b/docs/NotificationRule.md @@ -0,0 +1,16 @@ +# NotificationRule + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**transports** | Option<[**Vec**](uuid::Uuid.md)> | Select which transports should be used to notify the user. If none are selected, the notification will only be shown in the authentik UI. | [optional] +**severity** | Option<[**models::SeverityEnum**](SeverityEnum.md)> | Controls which severity level the created notifications will have. | [optional] +**group** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Define which group of users this notification should be sent and shown to. If left empty, Notification won't ben sent. | [optional] +**group_obj** | [**models::Group**](Group.md) | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/NotificationRuleRequest.md b/docs/NotificationRuleRequest.md new file mode 100644 index 0000000..7f4232b --- /dev/null +++ b/docs/NotificationRuleRequest.md @@ -0,0 +1,14 @@ +# NotificationRuleRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**transports** | Option<[**Vec**](uuid::Uuid.md)> | Select which transports should be used to notify the user. If none are selected, the notification will only be shown in the authentik UI. | [optional] +**severity** | Option<[**models::SeverityEnum**](SeverityEnum.md)> | Controls which severity level the created notifications will have. | [optional] +**group** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Define which group of users this notification should be sent and shown to. If left empty, Notification won't ben sent. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/NotificationTransport.md b/docs/NotificationTransport.md new file mode 100644 index 0000000..61539a9 --- /dev/null +++ b/docs/NotificationTransport.md @@ -0,0 +1,17 @@ +# NotificationTransport + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**mode** | Option<[**models::NotificationTransportModeEnum**](NotificationTransportModeEnum.md)> | | [optional] +**mode_verbose** | **String** | Return selected mode with a UI Label | [readonly] +**webhook_url** | Option<**String**> | | [optional] +**webhook_mapping** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**send_once** | Option<**bool**> | Only send notification once, for example when sending a webhook into a chat channel. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/NotificationTransportModeEnum.md b/docs/NotificationTransportModeEnum.md new file mode 100644 index 0000000..86fc471 --- /dev/null +++ b/docs/NotificationTransportModeEnum.md @@ -0,0 +1,15 @@ +# NotificationTransportModeEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Local | local | +| Webhook | webhook | +| WebhookSlack | webhook_slack | +| Email | email | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/NotificationTransportRequest.md b/docs/NotificationTransportRequest.md new file mode 100644 index 0000000..f4ad85a --- /dev/null +++ b/docs/NotificationTransportRequest.md @@ -0,0 +1,15 @@ +# NotificationTransportRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**mode** | Option<[**models::NotificationTransportModeEnum**](NotificationTransportModeEnum.md)> | | [optional] +**webhook_url** | Option<**String**> | | [optional] +**webhook_mapping** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**send_once** | Option<**bool**> | Only send notification once, for example when sending a webhook into a chat channel. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/NotificationTransportTest.md b/docs/NotificationTransportTest.md new file mode 100644 index 0000000..e92f632 --- /dev/null +++ b/docs/NotificationTransportTest.md @@ -0,0 +1,11 @@ +# NotificationTransportTest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**messages** | **Vec** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/NotificationWebhookMapping.md b/docs/NotificationWebhookMapping.md new file mode 100644 index 0000000..42e7207 --- /dev/null +++ b/docs/NotificationWebhookMapping.md @@ -0,0 +1,13 @@ +# NotificationWebhookMapping + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**expression** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/NotificationWebhookMappingRequest.md b/docs/NotificationWebhookMappingRequest.md new file mode 100644 index 0000000..0c99925 --- /dev/null +++ b/docs/NotificationWebhookMappingRequest.md @@ -0,0 +1,12 @@ +# NotificationWebhookMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**expression** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OAuth2Provider.md b/docs/OAuth2Provider.md new file mode 100644 index 0000000..064a69e --- /dev/null +++ b/docs/OAuth2Provider.md @@ -0,0 +1,35 @@ +# OAuth2Provider + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**name** | **String** | | +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used for authentication when the associated application is accessed by an un-authenticated user. | [optional] +**authorization_flow** | [**uuid::Uuid**](uuid::Uuid.md) | Flow used when authorizing this provider. | +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**assigned_application_slug** | **String** | Internal application name, used in URLs. | [readonly] +**assigned_application_name** | **String** | Application's display Name. | [readonly] +**assigned_backchannel_application_slug** | **String** | Internal application name, used in URLs. | [readonly] +**assigned_backchannel_application_name** | **String** | Application's display Name. | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**client_type** | Option<[**models::ClientTypeEnum**](ClientTypeEnum.md)> | Confidential clients are capable of maintaining the confidentiality of their credentials. Public clients are incapable | [optional] +**client_id** | Option<**String**> | | [optional] +**client_secret** | Option<**String**> | | [optional] +**access_code_validity** | Option<**String**> | Access codes not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). | [optional] +**access_token_validity** | Option<**String**> | Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). | [optional] +**refresh_token_validity** | Option<**String**> | Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). | [optional] +**include_claims_in_id_token** | Option<**bool**> | Include User claims from scopes in the id_token, for applications that don't access the userinfo endpoint. | [optional] +**signing_key** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Key used to sign the tokens. Only required when JWT Algorithm is set to RS256. | [optional] +**redirect_uris** | Option<**String**> | Enter each URI on a new line. | [optional] +**sub_mode** | Option<[**models::SubModeEnum**](SubModeEnum.md)> | Configure what data should be used as unique User Identifier. For most cases, the default should be fine. | [optional] +**issuer_mode** | Option<[**models::IssuerModeEnum**](IssuerModeEnum.md)> | Configure how the issuer field of the ID Token should be filled. | [optional] +**jwks_sources** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OAuth2ProviderRequest.md b/docs/OAuth2ProviderRequest.md new file mode 100644 index 0000000..7104062 --- /dev/null +++ b/docs/OAuth2ProviderRequest.md @@ -0,0 +1,26 @@ +# OAuth2ProviderRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used for authentication when the associated application is accessed by an un-authenticated user. | [optional] +**authorization_flow** | [**uuid::Uuid**](uuid::Uuid.md) | Flow used when authorizing this provider. | +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**client_type** | Option<[**models::ClientTypeEnum**](ClientTypeEnum.md)> | Confidential clients are capable of maintaining the confidentiality of their credentials. Public clients are incapable | [optional] +**client_id** | Option<**String**> | | [optional] +**client_secret** | Option<**String**> | | [optional] +**access_code_validity** | Option<**String**> | Access codes not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). | [optional] +**access_token_validity** | Option<**String**> | Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). | [optional] +**refresh_token_validity** | Option<**String**> | Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). | [optional] +**include_claims_in_id_token** | Option<**bool**> | Include User claims from scopes in the id_token, for applications that don't access the userinfo endpoint. | [optional] +**signing_key** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Key used to sign the tokens. Only required when JWT Algorithm is set to RS256. | [optional] +**redirect_uris** | Option<**String**> | Enter each URI on a new line. | [optional] +**sub_mode** | Option<[**models::SubModeEnum**](SubModeEnum.md)> | Configure what data should be used as unique User Identifier. For most cases, the default should be fine. | [optional] +**issuer_mode** | Option<[**models::IssuerModeEnum**](IssuerModeEnum.md)> | Configure how the issuer field of the ID Token should be filled. | [optional] +**jwks_sources** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OAuth2ProviderSetupUrls.md b/docs/OAuth2ProviderSetupUrls.md new file mode 100644 index 0000000..eda00ef --- /dev/null +++ b/docs/OAuth2ProviderSetupUrls.md @@ -0,0 +1,17 @@ +# OAuth2ProviderSetupUrls + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**issuer** | **String** | | [readonly] +**authorize** | **String** | | [readonly] +**token** | **String** | | [readonly] +**user_info** | **String** | | [readonly] +**provider_info** | **String** | | [readonly] +**logout** | **String** | | [readonly] +**jwks** | **String** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OAuthDeviceCodeChallenge.md b/docs/OAuthDeviceCodeChallenge.md new file mode 100644 index 0000000..d81838a --- /dev/null +++ b/docs/OAuthDeviceCodeChallenge.md @@ -0,0 +1,13 @@ +# OAuthDeviceCodeChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**flow_info** | Option<[**models::ContextualFlowInfo**](ContextualFlowInfo.md)> | | [optional] +**component** | Option<**String**> | | [optional][default to ak-provider-oauth2-device-code] +**response_errors** | Option<[**std::collections::HashMap>**](Vec.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OAuthDeviceCodeChallengeResponseRequest.md b/docs/OAuthDeviceCodeChallengeResponseRequest.md new file mode 100644 index 0000000..27552b0 --- /dev/null +++ b/docs/OAuthDeviceCodeChallengeResponseRequest.md @@ -0,0 +1,12 @@ +# OAuthDeviceCodeChallengeResponseRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | Option<**String**> | | [optional][default to ak-provider-oauth2-device-code] +**code** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OAuthDeviceCodeFinishChallenge.md b/docs/OAuthDeviceCodeFinishChallenge.md new file mode 100644 index 0000000..962fa8d --- /dev/null +++ b/docs/OAuthDeviceCodeFinishChallenge.md @@ -0,0 +1,13 @@ +# OAuthDeviceCodeFinishChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**flow_info** | Option<[**models::ContextualFlowInfo**](ContextualFlowInfo.md)> | | [optional] +**component** | Option<**String**> | | [optional][default to ak-provider-oauth2-device-code-finish] +**response_errors** | Option<[**std::collections::HashMap>**](Vec.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OAuthDeviceCodeFinishChallengeResponseRequest.md b/docs/OAuthDeviceCodeFinishChallengeResponseRequest.md new file mode 100644 index 0000000..283cbc5 --- /dev/null +++ b/docs/OAuthDeviceCodeFinishChallengeResponseRequest.md @@ -0,0 +1,11 @@ +# OAuthDeviceCodeFinishChallengeResponseRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | Option<**String**> | | [optional][default to ak-provider-oauth2-device-code-finish] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OAuthSource.md b/docs/OAuthSource.md new file mode 100644 index 0000000..056e2fb --- /dev/null +++ b/docs/OAuthSource.md @@ -0,0 +1,40 @@ +# OAuthSource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | Source's display Name. | +**slug** | **String** | Internal source name, used in URLs. | +**enabled** | Option<**bool**> | | [optional] +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when authenticating existing users. | [optional] +**enrollment_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when enrolling new users. | [optional] +**user_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**group_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**user_matching_mode** | Option<[**models::UserMatchingModeEnum**](UserMatchingModeEnum.md)> | How the source determines if an existing user should be authenticated or a new user enrolled. | [optional] +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [readonly] +**user_path_template** | Option<**String**> | | [optional] +**icon** | Option<**String**> | | [readonly] +**group_matching_mode** | Option<[**models::GroupMatchingModeEnum**](GroupMatchingModeEnum.md)> | How the source determines if an existing group should be used or a new group created. | [optional] +**provider_type** | [**models::ProviderTypeEnum**](ProviderTypeEnum.md) | | +**request_token_url** | Option<**String**> | URL used to request the initial token. This URL is only required for OAuth 1. | [optional] +**authorization_url** | Option<**String**> | URL the user is redirect to to conest the flow. | [optional] +**access_token_url** | Option<**String**> | URL used by authentik to retrieve tokens. | [optional] +**profile_url** | Option<**String**> | URL used by authentik to get user information. | [optional] +**consumer_key** | **String** | | +**callback_url** | **String** | Get OAuth Callback URL | [readonly] +**additional_scopes** | Option<**String**> | | [optional] +**r#type** | [**models::SourceType**](SourceType.md) | | [readonly] +**oidc_well_known_url** | Option<**String**> | | [optional] +**oidc_jwks_url** | Option<**String**> | | [optional] +**oidc_jwks** | Option<[**serde_json::Value**](.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OAuthSourcePropertyMapping.md b/docs/OAuthSourcePropertyMapping.md new file mode 100644 index 0000000..19b4f57 --- /dev/null +++ b/docs/OAuthSourcePropertyMapping.md @@ -0,0 +1,18 @@ +# OAuthSourcePropertyMapping + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | **String** | | +**component** | **String** | Get object's component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OAuthSourcePropertyMappingRequest.md b/docs/OAuthSourcePropertyMappingRequest.md new file mode 100644 index 0000000..6835c85 --- /dev/null +++ b/docs/OAuthSourcePropertyMappingRequest.md @@ -0,0 +1,13 @@ +# OAuthSourcePropertyMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OAuthSourceRequest.md b/docs/OAuthSourceRequest.md new file mode 100644 index 0000000..593a27a --- /dev/null +++ b/docs/OAuthSourceRequest.md @@ -0,0 +1,32 @@ +# OAuthSourceRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | Source's display Name. | +**slug** | **String** | Internal source name, used in URLs. | +**enabled** | Option<**bool**> | | [optional] +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when authenticating existing users. | [optional] +**enrollment_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when enrolling new users. | [optional] +**user_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**group_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**user_matching_mode** | Option<[**models::UserMatchingModeEnum**](UserMatchingModeEnum.md)> | How the source determines if an existing user should be authenticated or a new user enrolled. | [optional] +**user_path_template** | Option<**String**> | | [optional] +**group_matching_mode** | Option<[**models::GroupMatchingModeEnum**](GroupMatchingModeEnum.md)> | How the source determines if an existing group should be used or a new group created. | [optional] +**provider_type** | [**models::ProviderTypeEnum**](ProviderTypeEnum.md) | | +**request_token_url** | Option<**String**> | URL used to request the initial token. This URL is only required for OAuth 1. | [optional] +**authorization_url** | Option<**String**> | URL the user is redirect to to conest the flow. | [optional] +**access_token_url** | Option<**String**> | URL used by authentik to retrieve tokens. | [optional] +**profile_url** | Option<**String**> | URL used by authentik to get user information. | [optional] +**consumer_key** | **String** | | +**consumer_secret** | **String** | | +**additional_scopes** | Option<**String**> | | [optional] +**oidc_well_known_url** | Option<**String**> | | [optional] +**oidc_jwks_url** | Option<**String**> | | [optional] +**oidc_jwks** | Option<[**serde_json::Value**](.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Oauth2Api.md b/docs/Oauth2Api.md new file mode 100644 index 0000000..d483576 --- /dev/null +++ b/docs/Oauth2Api.md @@ -0,0 +1,395 @@ +# \Oauth2Api + +All URIs are relative to *http://localhost/api/v3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**oauth2_access_tokens_destroy**](Oauth2Api.md#oauth2_access_tokens_destroy) | **DELETE** /oauth2/access_tokens/{id}/ | +[**oauth2_access_tokens_list**](Oauth2Api.md#oauth2_access_tokens_list) | **GET** /oauth2/access_tokens/ | +[**oauth2_access_tokens_retrieve**](Oauth2Api.md#oauth2_access_tokens_retrieve) | **GET** /oauth2/access_tokens/{id}/ | +[**oauth2_access_tokens_used_by_list**](Oauth2Api.md#oauth2_access_tokens_used_by_list) | **GET** /oauth2/access_tokens/{id}/used_by/ | +[**oauth2_authorization_codes_destroy**](Oauth2Api.md#oauth2_authorization_codes_destroy) | **DELETE** /oauth2/authorization_codes/{id}/ | +[**oauth2_authorization_codes_list**](Oauth2Api.md#oauth2_authorization_codes_list) | **GET** /oauth2/authorization_codes/ | +[**oauth2_authorization_codes_retrieve**](Oauth2Api.md#oauth2_authorization_codes_retrieve) | **GET** /oauth2/authorization_codes/{id}/ | +[**oauth2_authorization_codes_used_by_list**](Oauth2Api.md#oauth2_authorization_codes_used_by_list) | **GET** /oauth2/authorization_codes/{id}/used_by/ | +[**oauth2_refresh_tokens_destroy**](Oauth2Api.md#oauth2_refresh_tokens_destroy) | **DELETE** /oauth2/refresh_tokens/{id}/ | +[**oauth2_refresh_tokens_list**](Oauth2Api.md#oauth2_refresh_tokens_list) | **GET** /oauth2/refresh_tokens/ | +[**oauth2_refresh_tokens_retrieve**](Oauth2Api.md#oauth2_refresh_tokens_retrieve) | **GET** /oauth2/refresh_tokens/{id}/ | +[**oauth2_refresh_tokens_used_by_list**](Oauth2Api.md#oauth2_refresh_tokens_used_by_list) | **GET** /oauth2/refresh_tokens/{id}/used_by/ | + + + +## oauth2_access_tokens_destroy + +> oauth2_access_tokens_destroy(id) + + +AccessToken Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this OAuth2 Access Token. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## oauth2_access_tokens_list + +> models::PaginatedTokenModelList oauth2_access_tokens_list(ordering, page, page_size, provider, search, user) + + +AccessToken Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**provider** | Option<**i32**> | | | +**search** | Option<**String**> | A search term. | | +**user** | Option<**i32**> | | | + +### Return type + +[**models::PaginatedTokenModelList**](PaginatedTokenModelList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## oauth2_access_tokens_retrieve + +> models::TokenModel oauth2_access_tokens_retrieve(id) + + +AccessToken Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this OAuth2 Access Token. | [required] | + +### Return type + +[**models::TokenModel**](TokenModel.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## oauth2_access_tokens_used_by_list + +> Vec oauth2_access_tokens_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this OAuth2 Access Token. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## oauth2_authorization_codes_destroy + +> oauth2_authorization_codes_destroy(id) + + +AuthorizationCode Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Authorization Code. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## oauth2_authorization_codes_list + +> models::PaginatedExpiringBaseGrantModelList oauth2_authorization_codes_list(ordering, page, page_size, provider, search, user) + + +AuthorizationCode Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**provider** | Option<**i32**> | | | +**search** | Option<**String**> | A search term. | | +**user** | Option<**i32**> | | | + +### Return type + +[**models::PaginatedExpiringBaseGrantModelList**](PaginatedExpiringBaseGrantModelList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## oauth2_authorization_codes_retrieve + +> models::ExpiringBaseGrantModel oauth2_authorization_codes_retrieve(id) + + +AuthorizationCode Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Authorization Code. | [required] | + +### Return type + +[**models::ExpiringBaseGrantModel**](ExpiringBaseGrantModel.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## oauth2_authorization_codes_used_by_list + +> Vec oauth2_authorization_codes_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Authorization Code. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## oauth2_refresh_tokens_destroy + +> oauth2_refresh_tokens_destroy(id) + + +RefreshToken Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this OAuth2 Refresh Token. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## oauth2_refresh_tokens_list + +> models::PaginatedTokenModelList oauth2_refresh_tokens_list(ordering, page, page_size, provider, search, user) + + +RefreshToken Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**provider** | Option<**i32**> | | | +**search** | Option<**String**> | A search term. | | +**user** | Option<**i32**> | | | + +### Return type + +[**models::PaginatedTokenModelList**](PaginatedTokenModelList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## oauth2_refresh_tokens_retrieve + +> models::TokenModel oauth2_refresh_tokens_retrieve(id) + + +RefreshToken Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this OAuth2 Refresh Token. | [required] | + +### Return type + +[**models::TokenModel**](TokenModel.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## oauth2_refresh_tokens_used_by_list + +> Vec oauth2_refresh_tokens_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this OAuth2 Refresh Token. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/OpenIdConnectConfiguration.md b/docs/OpenIdConnectConfiguration.md new file mode 100644 index 0000000..cf0ff6c --- /dev/null +++ b/docs/OpenIdConnectConfiguration.md @@ -0,0 +1,21 @@ +# OpenIdConnectConfiguration + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**issuer** | **String** | | +**authorization_endpoint** | **String** | | +**token_endpoint** | **String** | | +**userinfo_endpoint** | **String** | | +**end_session_endpoint** | **String** | | +**introspection_endpoint** | **String** | | +**jwks_uri** | **String** | | +**response_types_supported** | **Vec** | | +**id_token_signing_alg_values_supported** | **Vec** | | +**subject_types_supported** | **Vec** | | +**token_endpoint_auth_methods_supported** | **Vec** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OutgoingSyncDeleteAction.md b/docs/OutgoingSyncDeleteAction.md new file mode 100644 index 0000000..50a1267 --- /dev/null +++ b/docs/OutgoingSyncDeleteAction.md @@ -0,0 +1,14 @@ +# OutgoingSyncDeleteAction + +## Enum Variants + +| Name | Value | +|---- | -----| +| DoNothing | do_nothing | +| Delete | delete | +| Suspend | suspend | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Outpost.md b/docs/Outpost.md new file mode 100644 index 0000000..8feb7ca --- /dev/null +++ b/docs/Outpost.md @@ -0,0 +1,21 @@ +# Outpost + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**r#type** | [**models::OutpostTypeEnum**](OutpostTypeEnum.md) | | +**providers** | **Vec** | | +**providers_obj** | [**Vec**](Provider.md) | | [readonly] +**service_connection** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Select Service-Connection authentik should use to manage this outpost. Leave empty if authentik should not handle the deployment. | [optional] +**service_connection_obj** | [**models::ServiceConnection**](ServiceConnection.md) | | [readonly] +**refresh_interval_s** | **i32** | | [readonly] +**token_identifier** | **String** | Get Token identifier | [readonly] +**config** | [**std::collections::HashMap**](serde_json::Value.md) | | +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OutpostDefaultConfig.md b/docs/OutpostDefaultConfig.md new file mode 100644 index 0000000..8694bb6 --- /dev/null +++ b/docs/OutpostDefaultConfig.md @@ -0,0 +1,11 @@ +# OutpostDefaultConfig + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**config** | [**std::collections::HashMap**](serde_json::Value.md) | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OutpostHealth.md b/docs/OutpostHealth.md new file mode 100644 index 0000000..22b510f --- /dev/null +++ b/docs/OutpostHealth.md @@ -0,0 +1,22 @@ +# OutpostHealth + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uid** | **String** | | [readonly] +**last_seen** | **String** | | [readonly] +**version** | **String** | | [readonly] +**golang_version** | **String** | | [readonly] +**openssl_enabled** | **bool** | | [readonly] +**openssl_version** | **String** | | [readonly] +**fips_enabled** | Option<**bool**> | Get FIPS enabled | [readonly] +**version_should** | **String** | | [readonly] +**version_outdated** | **bool** | | [readonly] +**build_hash** | **String** | | [readonly] +**build_hash_should** | **String** | | [readonly] +**hostname** | **String** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OutpostRequest.md b/docs/OutpostRequest.md new file mode 100644 index 0000000..3cc2859 --- /dev/null +++ b/docs/OutpostRequest.md @@ -0,0 +1,16 @@ +# OutpostRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**r#type** | [**models::OutpostTypeEnum**](OutpostTypeEnum.md) | | +**providers** | **Vec** | | +**service_connection** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Select Service-Connection authentik should use to manage this outpost. Leave empty if authentik should not handle the deployment. | [optional] +**config** | [**std::collections::HashMap**](serde_json::Value.md) | | +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OutpostTypeEnum.md b/docs/OutpostTypeEnum.md new file mode 100644 index 0000000..475bb5e --- /dev/null +++ b/docs/OutpostTypeEnum.md @@ -0,0 +1,15 @@ +# OutpostTypeEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Proxy | proxy | +| Ldap | ldap | +| Radius | radius | +| Rac | rac | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OutpostsApi.md b/docs/OutpostsApi.md new file mode 100644 index 0000000..66a8cb3 --- /dev/null +++ b/docs/OutpostsApi.md @@ -0,0 +1,1114 @@ +# \OutpostsApi + +All URIs are relative to *http://localhost/api/v3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**outposts_instances_create**](OutpostsApi.md#outposts_instances_create) | **POST** /outposts/instances/ | +[**outposts_instances_default_settings_retrieve**](OutpostsApi.md#outposts_instances_default_settings_retrieve) | **GET** /outposts/instances/default_settings/ | +[**outposts_instances_destroy**](OutpostsApi.md#outposts_instances_destroy) | **DELETE** /outposts/instances/{uuid}/ | +[**outposts_instances_health_list**](OutpostsApi.md#outposts_instances_health_list) | **GET** /outposts/instances/{uuid}/health/ | +[**outposts_instances_list**](OutpostsApi.md#outposts_instances_list) | **GET** /outposts/instances/ | +[**outposts_instances_partial_update**](OutpostsApi.md#outposts_instances_partial_update) | **PATCH** /outposts/instances/{uuid}/ | +[**outposts_instances_retrieve**](OutpostsApi.md#outposts_instances_retrieve) | **GET** /outposts/instances/{uuid}/ | +[**outposts_instances_update**](OutpostsApi.md#outposts_instances_update) | **PUT** /outposts/instances/{uuid}/ | +[**outposts_instances_used_by_list**](OutpostsApi.md#outposts_instances_used_by_list) | **GET** /outposts/instances/{uuid}/used_by/ | +[**outposts_ldap_access_check**](OutpostsApi.md#outposts_ldap_access_check) | **GET** /outposts/ldap/{id}/check_access/ | +[**outposts_ldap_list**](OutpostsApi.md#outposts_ldap_list) | **GET** /outposts/ldap/ | +[**outposts_proxy_list**](OutpostsApi.md#outposts_proxy_list) | **GET** /outposts/proxy/ | +[**outposts_radius_access_check**](OutpostsApi.md#outposts_radius_access_check) | **GET** /outposts/radius/{id}/check_access/ | +[**outposts_radius_list**](OutpostsApi.md#outposts_radius_list) | **GET** /outposts/radius/ | +[**outposts_service_connections_all_destroy**](OutpostsApi.md#outposts_service_connections_all_destroy) | **DELETE** /outposts/service_connections/all/{uuid}/ | +[**outposts_service_connections_all_list**](OutpostsApi.md#outposts_service_connections_all_list) | **GET** /outposts/service_connections/all/ | +[**outposts_service_connections_all_retrieve**](OutpostsApi.md#outposts_service_connections_all_retrieve) | **GET** /outposts/service_connections/all/{uuid}/ | +[**outposts_service_connections_all_state_retrieve**](OutpostsApi.md#outposts_service_connections_all_state_retrieve) | **GET** /outposts/service_connections/all/{uuid}/state/ | +[**outposts_service_connections_all_types_list**](OutpostsApi.md#outposts_service_connections_all_types_list) | **GET** /outposts/service_connections/all/types/ | +[**outposts_service_connections_all_used_by_list**](OutpostsApi.md#outposts_service_connections_all_used_by_list) | **GET** /outposts/service_connections/all/{uuid}/used_by/ | +[**outposts_service_connections_docker_create**](OutpostsApi.md#outposts_service_connections_docker_create) | **POST** /outposts/service_connections/docker/ | +[**outposts_service_connections_docker_destroy**](OutpostsApi.md#outposts_service_connections_docker_destroy) | **DELETE** /outposts/service_connections/docker/{uuid}/ | +[**outposts_service_connections_docker_list**](OutpostsApi.md#outposts_service_connections_docker_list) | **GET** /outposts/service_connections/docker/ | +[**outposts_service_connections_docker_partial_update**](OutpostsApi.md#outposts_service_connections_docker_partial_update) | **PATCH** /outposts/service_connections/docker/{uuid}/ | +[**outposts_service_connections_docker_retrieve**](OutpostsApi.md#outposts_service_connections_docker_retrieve) | **GET** /outposts/service_connections/docker/{uuid}/ | +[**outposts_service_connections_docker_update**](OutpostsApi.md#outposts_service_connections_docker_update) | **PUT** /outposts/service_connections/docker/{uuid}/ | +[**outposts_service_connections_docker_used_by_list**](OutpostsApi.md#outposts_service_connections_docker_used_by_list) | **GET** /outposts/service_connections/docker/{uuid}/used_by/ | +[**outposts_service_connections_kubernetes_create**](OutpostsApi.md#outposts_service_connections_kubernetes_create) | **POST** /outposts/service_connections/kubernetes/ | +[**outposts_service_connections_kubernetes_destroy**](OutpostsApi.md#outposts_service_connections_kubernetes_destroy) | **DELETE** /outposts/service_connections/kubernetes/{uuid}/ | +[**outposts_service_connections_kubernetes_list**](OutpostsApi.md#outposts_service_connections_kubernetes_list) | **GET** /outposts/service_connections/kubernetes/ | +[**outposts_service_connections_kubernetes_partial_update**](OutpostsApi.md#outposts_service_connections_kubernetes_partial_update) | **PATCH** /outposts/service_connections/kubernetes/{uuid}/ | +[**outposts_service_connections_kubernetes_retrieve**](OutpostsApi.md#outposts_service_connections_kubernetes_retrieve) | **GET** /outposts/service_connections/kubernetes/{uuid}/ | +[**outposts_service_connections_kubernetes_update**](OutpostsApi.md#outposts_service_connections_kubernetes_update) | **PUT** /outposts/service_connections/kubernetes/{uuid}/ | +[**outposts_service_connections_kubernetes_used_by_list**](OutpostsApi.md#outposts_service_connections_kubernetes_used_by_list) | **GET** /outposts/service_connections/kubernetes/{uuid}/used_by/ | + + + +## outposts_instances_create + +> models::Outpost outposts_instances_create(outpost_request) + + +Outpost Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**outpost_request** | [**OutpostRequest**](OutpostRequest.md) | | [required] | + +### Return type + +[**models::Outpost**](Outpost.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_instances_default_settings_retrieve + +> models::OutpostDefaultConfig outposts_instances_default_settings_retrieve() + + +Global default outpost config + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**models::OutpostDefaultConfig**](OutpostDefaultConfig.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_instances_destroy + +> outposts_instances_destroy(uuid) + + +Outpost Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Outpost. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_instances_health_list + +> Vec outposts_instances_health_list(uuid, managed__icontains, managed__iexact, name__icontains, name__iexact, ordering, providers__isnull, providers_by_pk, search, service_connection__name__icontains, service_connection__name__iexact) + + +Get outposts current health + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Outpost. | [required] | +**managed__icontains** | Option<**String**> | | | +**managed__iexact** | Option<**String**> | | | +**name__icontains** | Option<**String**> | | | +**name__iexact** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**providers__isnull** | Option<**bool**> | | | +**providers_by_pk** | Option<[**Vec**](i32.md)> | | | +**search** | Option<**String**> | A search term. | | +**service_connection__name__icontains** | Option<**String**> | | | +**service_connection__name__iexact** | Option<**String**> | | | + +### Return type + +[**Vec**](OutpostHealth.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_instances_list + +> models::PaginatedOutpostList outposts_instances_list(managed__icontains, managed__iexact, name__icontains, name__iexact, ordering, page, page_size, providers__isnull, providers_by_pk, search, service_connection__name__icontains, service_connection__name__iexact) + + +Outpost Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**managed__icontains** | Option<**String**> | | | +**managed__iexact** | Option<**String**> | | | +**name__icontains** | Option<**String**> | | | +**name__iexact** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**providers__isnull** | Option<**bool**> | | | +**providers_by_pk** | Option<[**Vec**](i32.md)> | | | +**search** | Option<**String**> | A search term. | | +**service_connection__name__icontains** | Option<**String**> | | | +**service_connection__name__iexact** | Option<**String**> | | | + +### Return type + +[**models::PaginatedOutpostList**](PaginatedOutpostList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_instances_partial_update + +> models::Outpost outposts_instances_partial_update(uuid, patched_outpost_request) + + +Outpost Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Outpost. | [required] | +**patched_outpost_request** | Option<[**PatchedOutpostRequest**](PatchedOutpostRequest.md)> | | | + +### Return type + +[**models::Outpost**](Outpost.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_instances_retrieve + +> models::Outpost outposts_instances_retrieve(uuid) + + +Outpost Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Outpost. | [required] | + +### Return type + +[**models::Outpost**](Outpost.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_instances_update + +> models::Outpost outposts_instances_update(uuid, outpost_request) + + +Outpost Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Outpost. | [required] | +**outpost_request** | [**OutpostRequest**](OutpostRequest.md) | | [required] | + +### Return type + +[**models::Outpost**](Outpost.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_instances_used_by_list + +> Vec outposts_instances_used_by_list(uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Outpost. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_ldap_access_check + +> models::LdapCheckAccess outposts_ldap_access_check(id, app_slug) + + +Check access to a single application by slug + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this LDAP Provider. | [required] | +**app_slug** | Option<**String**> | | | + +### Return type + +[**models::LdapCheckAccess**](LDAPCheckAccess.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_ldap_list + +> models::PaginatedLdapOutpostConfigList outposts_ldap_list(name, ordering, page, page_size, search) + + +LDAPProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedLdapOutpostConfigList**](PaginatedLDAPOutpostConfigList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_proxy_list + +> models::PaginatedProxyOutpostConfigList outposts_proxy_list(name, ordering, page, page_size, search) + + +ProxyProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedProxyOutpostConfigList**](PaginatedProxyOutpostConfigList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_radius_access_check + +> models::RadiusCheckAccess outposts_radius_access_check(id, app_slug) + + +Check access to a single application by slug + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Radius Provider. | [required] | +**app_slug** | Option<**String**> | | | + +### Return type + +[**models::RadiusCheckAccess**](RadiusCheckAccess.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_radius_list + +> models::PaginatedRadiusOutpostConfigList outposts_radius_list(name, ordering, page, page_size, search) + + +RadiusProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedRadiusOutpostConfigList**](PaginatedRadiusOutpostConfigList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_service_connections_all_destroy + +> outposts_service_connections_all_destroy(uuid) + + +ServiceConnection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Outpost Service-Connection. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_service_connections_all_list + +> models::PaginatedServiceConnectionList outposts_service_connections_all_list(name, ordering, page, page_size, search) + + +ServiceConnection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedServiceConnectionList**](PaginatedServiceConnectionList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_service_connections_all_retrieve + +> models::ServiceConnection outposts_service_connections_all_retrieve(uuid) + + +ServiceConnection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Outpost Service-Connection. | [required] | + +### Return type + +[**models::ServiceConnection**](ServiceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_service_connections_all_state_retrieve + +> models::ServiceConnectionState outposts_service_connections_all_state_retrieve(uuid) + + +Get the service connection's state + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Outpost Service-Connection. | [required] | + +### Return type + +[**models::ServiceConnectionState**](ServiceConnectionState.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_service_connections_all_types_list + +> Vec outposts_service_connections_all_types_list() + + +Get all creatable types + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**Vec**](TypeCreate.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_service_connections_all_used_by_list + +> Vec outposts_service_connections_all_used_by_list(uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Outpost Service-Connection. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_service_connections_docker_create + +> models::DockerServiceConnection outposts_service_connections_docker_create(docker_service_connection_request) + + +DockerServiceConnection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**docker_service_connection_request** | [**DockerServiceConnectionRequest**](DockerServiceConnectionRequest.md) | | [required] | + +### Return type + +[**models::DockerServiceConnection**](DockerServiceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_service_connections_docker_destroy + +> outposts_service_connections_docker_destroy(uuid) + + +DockerServiceConnection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Docker Service-Connection. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_service_connections_docker_list + +> models::PaginatedDockerServiceConnectionList outposts_service_connections_docker_list(local, name, ordering, page, page_size, search, tls_authentication, tls_verification, url) + + +DockerServiceConnection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**local** | Option<**bool**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**tls_authentication** | Option<**uuid::Uuid**> | | | +**tls_verification** | Option<**uuid::Uuid**> | | | +**url** | Option<**String**> | | | + +### Return type + +[**models::PaginatedDockerServiceConnectionList**](PaginatedDockerServiceConnectionList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_service_connections_docker_partial_update + +> models::DockerServiceConnection outposts_service_connections_docker_partial_update(uuid, patched_docker_service_connection_request) + + +DockerServiceConnection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Docker Service-Connection. | [required] | +**patched_docker_service_connection_request** | Option<[**PatchedDockerServiceConnectionRequest**](PatchedDockerServiceConnectionRequest.md)> | | | + +### Return type + +[**models::DockerServiceConnection**](DockerServiceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_service_connections_docker_retrieve + +> models::DockerServiceConnection outposts_service_connections_docker_retrieve(uuid) + + +DockerServiceConnection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Docker Service-Connection. | [required] | + +### Return type + +[**models::DockerServiceConnection**](DockerServiceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_service_connections_docker_update + +> models::DockerServiceConnection outposts_service_connections_docker_update(uuid, docker_service_connection_request) + + +DockerServiceConnection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Docker Service-Connection. | [required] | +**docker_service_connection_request** | [**DockerServiceConnectionRequest**](DockerServiceConnectionRequest.md) | | [required] | + +### Return type + +[**models::DockerServiceConnection**](DockerServiceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_service_connections_docker_used_by_list + +> Vec outposts_service_connections_docker_used_by_list(uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Docker Service-Connection. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_service_connections_kubernetes_create + +> models::KubernetesServiceConnection outposts_service_connections_kubernetes_create(kubernetes_service_connection_request) + + +KubernetesServiceConnection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**kubernetes_service_connection_request** | [**KubernetesServiceConnectionRequest**](KubernetesServiceConnectionRequest.md) | | [required] | + +### Return type + +[**models::KubernetesServiceConnection**](KubernetesServiceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_service_connections_kubernetes_destroy + +> outposts_service_connections_kubernetes_destroy(uuid) + + +KubernetesServiceConnection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Kubernetes Service-Connection. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_service_connections_kubernetes_list + +> models::PaginatedKubernetesServiceConnectionList outposts_service_connections_kubernetes_list(local, name, ordering, page, page_size, search) + + +KubernetesServiceConnection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**local** | Option<**bool**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedKubernetesServiceConnectionList**](PaginatedKubernetesServiceConnectionList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_service_connections_kubernetes_partial_update + +> models::KubernetesServiceConnection outposts_service_connections_kubernetes_partial_update(uuid, patched_kubernetes_service_connection_request) + + +KubernetesServiceConnection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Kubernetes Service-Connection. | [required] | +**patched_kubernetes_service_connection_request** | Option<[**PatchedKubernetesServiceConnectionRequest**](PatchedKubernetesServiceConnectionRequest.md)> | | | + +### Return type + +[**models::KubernetesServiceConnection**](KubernetesServiceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_service_connections_kubernetes_retrieve + +> models::KubernetesServiceConnection outposts_service_connections_kubernetes_retrieve(uuid) + + +KubernetesServiceConnection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Kubernetes Service-Connection. | [required] | + +### Return type + +[**models::KubernetesServiceConnection**](KubernetesServiceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_service_connections_kubernetes_update + +> models::KubernetesServiceConnection outposts_service_connections_kubernetes_update(uuid, kubernetes_service_connection_request) + + +KubernetesServiceConnection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Kubernetes Service-Connection. | [required] | +**kubernetes_service_connection_request** | [**KubernetesServiceConnectionRequest**](KubernetesServiceConnectionRequest.md) | | [required] | + +### Return type + +[**models::KubernetesServiceConnection**](KubernetesServiceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## outposts_service_connections_kubernetes_used_by_list + +> Vec outposts_service_connections_kubernetes_used_by_list(uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Kubernetes Service-Connection. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/PaginatedApplicationList.md b/docs/PaginatedApplicationList.md new file mode 100644 index 0000000..0f3d0ec --- /dev/null +++ b/docs/PaginatedApplicationList.md @@ -0,0 +1,12 @@ +# PaginatedApplicationList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](Application.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedAuthenticatedSessionList.md b/docs/PaginatedAuthenticatedSessionList.md new file mode 100644 index 0000000..690674a --- /dev/null +++ b/docs/PaginatedAuthenticatedSessionList.md @@ -0,0 +1,12 @@ +# PaginatedAuthenticatedSessionList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](AuthenticatedSession.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedAuthenticatorDuoStageList.md b/docs/PaginatedAuthenticatorDuoStageList.md new file mode 100644 index 0000000..0ef0205 --- /dev/null +++ b/docs/PaginatedAuthenticatorDuoStageList.md @@ -0,0 +1,12 @@ +# PaginatedAuthenticatorDuoStageList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](AuthenticatorDuoStage.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedAuthenticatorSmsStageList.md b/docs/PaginatedAuthenticatorSmsStageList.md new file mode 100644 index 0000000..a2e64ca --- /dev/null +++ b/docs/PaginatedAuthenticatorSmsStageList.md @@ -0,0 +1,12 @@ +# PaginatedAuthenticatorSmsStageList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](AuthenticatorSMSStage.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedAuthenticatorStaticStageList.md b/docs/PaginatedAuthenticatorStaticStageList.md new file mode 100644 index 0000000..839b755 --- /dev/null +++ b/docs/PaginatedAuthenticatorStaticStageList.md @@ -0,0 +1,12 @@ +# PaginatedAuthenticatorStaticStageList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](AuthenticatorStaticStage.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedAuthenticatorTotpStageList.md b/docs/PaginatedAuthenticatorTotpStageList.md new file mode 100644 index 0000000..44bc962 --- /dev/null +++ b/docs/PaginatedAuthenticatorTotpStageList.md @@ -0,0 +1,12 @@ +# PaginatedAuthenticatorTotpStageList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](AuthenticatorTOTPStage.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedAuthenticatorValidateStageList.md b/docs/PaginatedAuthenticatorValidateStageList.md new file mode 100644 index 0000000..d3105db --- /dev/null +++ b/docs/PaginatedAuthenticatorValidateStageList.md @@ -0,0 +1,12 @@ +# PaginatedAuthenticatorValidateStageList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](AuthenticatorValidateStage.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedAuthenticatorWebAuthnStageList.md b/docs/PaginatedAuthenticatorWebAuthnStageList.md new file mode 100644 index 0000000..e14be53 --- /dev/null +++ b/docs/PaginatedAuthenticatorWebAuthnStageList.md @@ -0,0 +1,12 @@ +# PaginatedAuthenticatorWebAuthnStageList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](AuthenticatorWebAuthnStage.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedBlueprintInstanceList.md b/docs/PaginatedBlueprintInstanceList.md new file mode 100644 index 0000000..65468ab --- /dev/null +++ b/docs/PaginatedBlueprintInstanceList.md @@ -0,0 +1,12 @@ +# PaginatedBlueprintInstanceList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](BlueprintInstance.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedBrandList.md b/docs/PaginatedBrandList.md new file mode 100644 index 0000000..1713334 --- /dev/null +++ b/docs/PaginatedBrandList.md @@ -0,0 +1,12 @@ +# PaginatedBrandList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](Brand.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedCaptchaStageList.md b/docs/PaginatedCaptchaStageList.md new file mode 100644 index 0000000..e6b3aa3 --- /dev/null +++ b/docs/PaginatedCaptchaStageList.md @@ -0,0 +1,12 @@ +# PaginatedCaptchaStageList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](CaptchaStage.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedCertificateKeyPairList.md b/docs/PaginatedCertificateKeyPairList.md new file mode 100644 index 0000000..8a1a7bb --- /dev/null +++ b/docs/PaginatedCertificateKeyPairList.md @@ -0,0 +1,12 @@ +# PaginatedCertificateKeyPairList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](CertificateKeyPair.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedConnectionTokenList.md b/docs/PaginatedConnectionTokenList.md new file mode 100644 index 0000000..e1056ed --- /dev/null +++ b/docs/PaginatedConnectionTokenList.md @@ -0,0 +1,12 @@ +# PaginatedConnectionTokenList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](ConnectionToken.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedConsentStageList.md b/docs/PaginatedConsentStageList.md new file mode 100644 index 0000000..d71cc1d --- /dev/null +++ b/docs/PaginatedConsentStageList.md @@ -0,0 +1,12 @@ +# PaginatedConsentStageList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](ConsentStage.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedDenyStageList.md b/docs/PaginatedDenyStageList.md new file mode 100644 index 0000000..12b7c4f --- /dev/null +++ b/docs/PaginatedDenyStageList.md @@ -0,0 +1,12 @@ +# PaginatedDenyStageList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](DenyStage.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedDockerServiceConnectionList.md b/docs/PaginatedDockerServiceConnectionList.md new file mode 100644 index 0000000..b32b72d --- /dev/null +++ b/docs/PaginatedDockerServiceConnectionList.md @@ -0,0 +1,12 @@ +# PaginatedDockerServiceConnectionList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](DockerServiceConnection.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedDomainList.md b/docs/PaginatedDomainList.md new file mode 100644 index 0000000..6e37be1 --- /dev/null +++ b/docs/PaginatedDomainList.md @@ -0,0 +1,12 @@ +# PaginatedDomainList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](Domain.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedDummyPolicyList.md b/docs/PaginatedDummyPolicyList.md new file mode 100644 index 0000000..6940d38 --- /dev/null +++ b/docs/PaginatedDummyPolicyList.md @@ -0,0 +1,12 @@ +# PaginatedDummyPolicyList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](DummyPolicy.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedDummyStageList.md b/docs/PaginatedDummyStageList.md new file mode 100644 index 0000000..56e6edc --- /dev/null +++ b/docs/PaginatedDummyStageList.md @@ -0,0 +1,12 @@ +# PaginatedDummyStageList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](DummyStage.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedDuoDeviceList.md b/docs/PaginatedDuoDeviceList.md new file mode 100644 index 0000000..1fb1db7 --- /dev/null +++ b/docs/PaginatedDuoDeviceList.md @@ -0,0 +1,12 @@ +# PaginatedDuoDeviceList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](DuoDevice.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedEmailStageList.md b/docs/PaginatedEmailStageList.md new file mode 100644 index 0000000..d2ad580 --- /dev/null +++ b/docs/PaginatedEmailStageList.md @@ -0,0 +1,12 @@ +# PaginatedEmailStageList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](EmailStage.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedEndpointList.md b/docs/PaginatedEndpointList.md new file mode 100644 index 0000000..12e3a5b --- /dev/null +++ b/docs/PaginatedEndpointList.md @@ -0,0 +1,12 @@ +# PaginatedEndpointList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](Endpoint.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedEventList.md b/docs/PaginatedEventList.md new file mode 100644 index 0000000..6709549 --- /dev/null +++ b/docs/PaginatedEventList.md @@ -0,0 +1,12 @@ +# PaginatedEventList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](Event.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedEventMatcherPolicyList.md b/docs/PaginatedEventMatcherPolicyList.md new file mode 100644 index 0000000..9ea78dd --- /dev/null +++ b/docs/PaginatedEventMatcherPolicyList.md @@ -0,0 +1,12 @@ +# PaginatedEventMatcherPolicyList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](EventMatcherPolicy.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedExpiringBaseGrantModelList.md b/docs/PaginatedExpiringBaseGrantModelList.md new file mode 100644 index 0000000..44db468 --- /dev/null +++ b/docs/PaginatedExpiringBaseGrantModelList.md @@ -0,0 +1,12 @@ +# PaginatedExpiringBaseGrantModelList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](ExpiringBaseGrantModel.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedExpressionPolicyList.md b/docs/PaginatedExpressionPolicyList.md new file mode 100644 index 0000000..8e0d4fd --- /dev/null +++ b/docs/PaginatedExpressionPolicyList.md @@ -0,0 +1,12 @@ +# PaginatedExpressionPolicyList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](ExpressionPolicy.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedExtraRoleObjectPermissionList.md b/docs/PaginatedExtraRoleObjectPermissionList.md new file mode 100644 index 0000000..1b40104 --- /dev/null +++ b/docs/PaginatedExtraRoleObjectPermissionList.md @@ -0,0 +1,12 @@ +# PaginatedExtraRoleObjectPermissionList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](ExtraRoleObjectPermission.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedExtraUserObjectPermissionList.md b/docs/PaginatedExtraUserObjectPermissionList.md new file mode 100644 index 0000000..2cd040c --- /dev/null +++ b/docs/PaginatedExtraUserObjectPermissionList.md @@ -0,0 +1,12 @@ +# PaginatedExtraUserObjectPermissionList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](ExtraUserObjectPermission.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedFlowList.md b/docs/PaginatedFlowList.md new file mode 100644 index 0000000..e0d8321 --- /dev/null +++ b/docs/PaginatedFlowList.md @@ -0,0 +1,12 @@ +# PaginatedFlowList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](Flow.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedFlowStageBindingList.md b/docs/PaginatedFlowStageBindingList.md new file mode 100644 index 0000000..0252ca2 --- /dev/null +++ b/docs/PaginatedFlowStageBindingList.md @@ -0,0 +1,12 @@ +# PaginatedFlowStageBindingList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](FlowStageBinding.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedGeoIpPolicyList.md b/docs/PaginatedGeoIpPolicyList.md new file mode 100644 index 0000000..ae4aae8 --- /dev/null +++ b/docs/PaginatedGeoIpPolicyList.md @@ -0,0 +1,12 @@ +# PaginatedGeoIpPolicyList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](GeoIPPolicy.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedGoogleWorkspaceProviderGroupList.md b/docs/PaginatedGoogleWorkspaceProviderGroupList.md new file mode 100644 index 0000000..c80d31e --- /dev/null +++ b/docs/PaginatedGoogleWorkspaceProviderGroupList.md @@ -0,0 +1,12 @@ +# PaginatedGoogleWorkspaceProviderGroupList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](GoogleWorkspaceProviderGroup.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedGoogleWorkspaceProviderList.md b/docs/PaginatedGoogleWorkspaceProviderList.md new file mode 100644 index 0000000..93a5734 --- /dev/null +++ b/docs/PaginatedGoogleWorkspaceProviderList.md @@ -0,0 +1,12 @@ +# PaginatedGoogleWorkspaceProviderList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](GoogleWorkspaceProvider.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedGoogleWorkspaceProviderMappingList.md b/docs/PaginatedGoogleWorkspaceProviderMappingList.md new file mode 100644 index 0000000..01855ba --- /dev/null +++ b/docs/PaginatedGoogleWorkspaceProviderMappingList.md @@ -0,0 +1,12 @@ +# PaginatedGoogleWorkspaceProviderMappingList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](GoogleWorkspaceProviderMapping.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedGoogleWorkspaceProviderUserList.md b/docs/PaginatedGoogleWorkspaceProviderUserList.md new file mode 100644 index 0000000..54be029 --- /dev/null +++ b/docs/PaginatedGoogleWorkspaceProviderUserList.md @@ -0,0 +1,12 @@ +# PaginatedGoogleWorkspaceProviderUserList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](GoogleWorkspaceProviderUser.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedGroupList.md b/docs/PaginatedGroupList.md new file mode 100644 index 0000000..cf67dc0 --- /dev/null +++ b/docs/PaginatedGroupList.md @@ -0,0 +1,12 @@ +# PaginatedGroupList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](Group.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedGroupOAuthSourceConnectionList.md b/docs/PaginatedGroupOAuthSourceConnectionList.md new file mode 100644 index 0000000..bea6d29 --- /dev/null +++ b/docs/PaginatedGroupOAuthSourceConnectionList.md @@ -0,0 +1,12 @@ +# PaginatedGroupOAuthSourceConnectionList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](GroupOAuthSourceConnection.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedGroupPlexSourceConnectionList.md b/docs/PaginatedGroupPlexSourceConnectionList.md new file mode 100644 index 0000000..7e3ef1d --- /dev/null +++ b/docs/PaginatedGroupPlexSourceConnectionList.md @@ -0,0 +1,12 @@ +# PaginatedGroupPlexSourceConnectionList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](GroupPlexSourceConnection.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedGroupSamlSourceConnectionList.md b/docs/PaginatedGroupSamlSourceConnectionList.md new file mode 100644 index 0000000..14f8db3 --- /dev/null +++ b/docs/PaginatedGroupSamlSourceConnectionList.md @@ -0,0 +1,12 @@ +# PaginatedGroupSamlSourceConnectionList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](GroupSAMLSourceConnection.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedIdentificationStageList.md b/docs/PaginatedIdentificationStageList.md new file mode 100644 index 0000000..e74befa --- /dev/null +++ b/docs/PaginatedIdentificationStageList.md @@ -0,0 +1,12 @@ +# PaginatedIdentificationStageList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](IdentificationStage.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedInvitationList.md b/docs/PaginatedInvitationList.md new file mode 100644 index 0000000..ac0224c --- /dev/null +++ b/docs/PaginatedInvitationList.md @@ -0,0 +1,12 @@ +# PaginatedInvitationList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](Invitation.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedInvitationStageList.md b/docs/PaginatedInvitationStageList.md new file mode 100644 index 0000000..dfc9c36 --- /dev/null +++ b/docs/PaginatedInvitationStageList.md @@ -0,0 +1,12 @@ +# PaginatedInvitationStageList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](InvitationStage.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedKubernetesServiceConnectionList.md b/docs/PaginatedKubernetesServiceConnectionList.md new file mode 100644 index 0000000..810ea71 --- /dev/null +++ b/docs/PaginatedKubernetesServiceConnectionList.md @@ -0,0 +1,12 @@ +# PaginatedKubernetesServiceConnectionList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](KubernetesServiceConnection.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedLdapOutpostConfigList.md b/docs/PaginatedLdapOutpostConfigList.md new file mode 100644 index 0000000..86ab324 --- /dev/null +++ b/docs/PaginatedLdapOutpostConfigList.md @@ -0,0 +1,12 @@ +# PaginatedLdapOutpostConfigList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](LDAPOutpostConfig.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedLdapProviderList.md b/docs/PaginatedLdapProviderList.md new file mode 100644 index 0000000..a5751ad --- /dev/null +++ b/docs/PaginatedLdapProviderList.md @@ -0,0 +1,12 @@ +# PaginatedLdapProviderList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](LDAPProvider.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedLdapSourceList.md b/docs/PaginatedLdapSourceList.md new file mode 100644 index 0000000..6910213 --- /dev/null +++ b/docs/PaginatedLdapSourceList.md @@ -0,0 +1,12 @@ +# PaginatedLdapSourceList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](LDAPSource.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedLdapSourcePropertyMappingList.md b/docs/PaginatedLdapSourcePropertyMappingList.md new file mode 100644 index 0000000..8e6f712 --- /dev/null +++ b/docs/PaginatedLdapSourcePropertyMappingList.md @@ -0,0 +1,12 @@ +# PaginatedLdapSourcePropertyMappingList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](LDAPSourcePropertyMapping.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedLicenseList.md b/docs/PaginatedLicenseList.md new file mode 100644 index 0000000..4038165 --- /dev/null +++ b/docs/PaginatedLicenseList.md @@ -0,0 +1,12 @@ +# PaginatedLicenseList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](License.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedMicrosoftEntraProviderGroupList.md b/docs/PaginatedMicrosoftEntraProviderGroupList.md new file mode 100644 index 0000000..1602e41 --- /dev/null +++ b/docs/PaginatedMicrosoftEntraProviderGroupList.md @@ -0,0 +1,12 @@ +# PaginatedMicrosoftEntraProviderGroupList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](MicrosoftEntraProviderGroup.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedMicrosoftEntraProviderList.md b/docs/PaginatedMicrosoftEntraProviderList.md new file mode 100644 index 0000000..1d3e218 --- /dev/null +++ b/docs/PaginatedMicrosoftEntraProviderList.md @@ -0,0 +1,12 @@ +# PaginatedMicrosoftEntraProviderList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](MicrosoftEntraProvider.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedMicrosoftEntraProviderMappingList.md b/docs/PaginatedMicrosoftEntraProviderMappingList.md new file mode 100644 index 0000000..3817507 --- /dev/null +++ b/docs/PaginatedMicrosoftEntraProviderMappingList.md @@ -0,0 +1,12 @@ +# PaginatedMicrosoftEntraProviderMappingList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](MicrosoftEntraProviderMapping.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedMicrosoftEntraProviderUserList.md b/docs/PaginatedMicrosoftEntraProviderUserList.md new file mode 100644 index 0000000..04eec75 --- /dev/null +++ b/docs/PaginatedMicrosoftEntraProviderUserList.md @@ -0,0 +1,12 @@ +# PaginatedMicrosoftEntraProviderUserList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](MicrosoftEntraProviderUser.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedNotificationList.md b/docs/PaginatedNotificationList.md new file mode 100644 index 0000000..8f10ab3 --- /dev/null +++ b/docs/PaginatedNotificationList.md @@ -0,0 +1,12 @@ +# PaginatedNotificationList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](Notification.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedNotificationRuleList.md b/docs/PaginatedNotificationRuleList.md new file mode 100644 index 0000000..9fbb1f1 --- /dev/null +++ b/docs/PaginatedNotificationRuleList.md @@ -0,0 +1,12 @@ +# PaginatedNotificationRuleList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](NotificationRule.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedNotificationTransportList.md b/docs/PaginatedNotificationTransportList.md new file mode 100644 index 0000000..24b5456 --- /dev/null +++ b/docs/PaginatedNotificationTransportList.md @@ -0,0 +1,12 @@ +# PaginatedNotificationTransportList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](NotificationTransport.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedNotificationWebhookMappingList.md b/docs/PaginatedNotificationWebhookMappingList.md new file mode 100644 index 0000000..cf2ae0e --- /dev/null +++ b/docs/PaginatedNotificationWebhookMappingList.md @@ -0,0 +1,12 @@ +# PaginatedNotificationWebhookMappingList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](NotificationWebhookMapping.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedOAuth2ProviderList.md b/docs/PaginatedOAuth2ProviderList.md new file mode 100644 index 0000000..6387c5a --- /dev/null +++ b/docs/PaginatedOAuth2ProviderList.md @@ -0,0 +1,12 @@ +# PaginatedOAuth2ProviderList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](OAuth2Provider.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedOAuthSourceList.md b/docs/PaginatedOAuthSourceList.md new file mode 100644 index 0000000..fca47dd --- /dev/null +++ b/docs/PaginatedOAuthSourceList.md @@ -0,0 +1,12 @@ +# PaginatedOAuthSourceList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](OAuthSource.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedOAuthSourcePropertyMappingList.md b/docs/PaginatedOAuthSourcePropertyMappingList.md new file mode 100644 index 0000000..71bff10 --- /dev/null +++ b/docs/PaginatedOAuthSourcePropertyMappingList.md @@ -0,0 +1,12 @@ +# PaginatedOAuthSourcePropertyMappingList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](OAuthSourcePropertyMapping.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedOutpostList.md b/docs/PaginatedOutpostList.md new file mode 100644 index 0000000..4b2769e --- /dev/null +++ b/docs/PaginatedOutpostList.md @@ -0,0 +1,12 @@ +# PaginatedOutpostList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](Outpost.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedPasswordExpiryPolicyList.md b/docs/PaginatedPasswordExpiryPolicyList.md new file mode 100644 index 0000000..5a92e35 --- /dev/null +++ b/docs/PaginatedPasswordExpiryPolicyList.md @@ -0,0 +1,12 @@ +# PaginatedPasswordExpiryPolicyList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](PasswordExpiryPolicy.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedPasswordPolicyList.md b/docs/PaginatedPasswordPolicyList.md new file mode 100644 index 0000000..bebf512 --- /dev/null +++ b/docs/PaginatedPasswordPolicyList.md @@ -0,0 +1,12 @@ +# PaginatedPasswordPolicyList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](PasswordPolicy.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedPasswordStageList.md b/docs/PaginatedPasswordStageList.md new file mode 100644 index 0000000..8dae5cd --- /dev/null +++ b/docs/PaginatedPasswordStageList.md @@ -0,0 +1,12 @@ +# PaginatedPasswordStageList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](PasswordStage.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedPermissionList.md b/docs/PaginatedPermissionList.md new file mode 100644 index 0000000..0fbd3bf --- /dev/null +++ b/docs/PaginatedPermissionList.md @@ -0,0 +1,12 @@ +# PaginatedPermissionList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](Permission.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedPlexSourceList.md b/docs/PaginatedPlexSourceList.md new file mode 100644 index 0000000..b1d1599 --- /dev/null +++ b/docs/PaginatedPlexSourceList.md @@ -0,0 +1,12 @@ +# PaginatedPlexSourceList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](PlexSource.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedPlexSourcePropertyMappingList.md b/docs/PaginatedPlexSourcePropertyMappingList.md new file mode 100644 index 0000000..31097aa --- /dev/null +++ b/docs/PaginatedPlexSourcePropertyMappingList.md @@ -0,0 +1,12 @@ +# PaginatedPlexSourcePropertyMappingList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](PlexSourcePropertyMapping.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedPolicyBindingList.md b/docs/PaginatedPolicyBindingList.md new file mode 100644 index 0000000..b161244 --- /dev/null +++ b/docs/PaginatedPolicyBindingList.md @@ -0,0 +1,12 @@ +# PaginatedPolicyBindingList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](PolicyBinding.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedPolicyList.md b/docs/PaginatedPolicyList.md new file mode 100644 index 0000000..f7b19b0 --- /dev/null +++ b/docs/PaginatedPolicyList.md @@ -0,0 +1,12 @@ +# PaginatedPolicyList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](Policy.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedPromptList.md b/docs/PaginatedPromptList.md new file mode 100644 index 0000000..53aeca3 --- /dev/null +++ b/docs/PaginatedPromptList.md @@ -0,0 +1,12 @@ +# PaginatedPromptList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](Prompt.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedPromptStageList.md b/docs/PaginatedPromptStageList.md new file mode 100644 index 0000000..297dcf2 --- /dev/null +++ b/docs/PaginatedPromptStageList.md @@ -0,0 +1,12 @@ +# PaginatedPromptStageList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](PromptStage.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedPropertyMappingList.md b/docs/PaginatedPropertyMappingList.md new file mode 100644 index 0000000..32b4ba0 --- /dev/null +++ b/docs/PaginatedPropertyMappingList.md @@ -0,0 +1,12 @@ +# PaginatedPropertyMappingList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](PropertyMapping.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedProviderList.md b/docs/PaginatedProviderList.md new file mode 100644 index 0000000..25add4b --- /dev/null +++ b/docs/PaginatedProviderList.md @@ -0,0 +1,12 @@ +# PaginatedProviderList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](Provider.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedProxyOutpostConfigList.md b/docs/PaginatedProxyOutpostConfigList.md new file mode 100644 index 0000000..f781330 --- /dev/null +++ b/docs/PaginatedProxyOutpostConfigList.md @@ -0,0 +1,12 @@ +# PaginatedProxyOutpostConfigList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](ProxyOutpostConfig.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedProxyProviderList.md b/docs/PaginatedProxyProviderList.md new file mode 100644 index 0000000..ee8fcbd --- /dev/null +++ b/docs/PaginatedProxyProviderList.md @@ -0,0 +1,12 @@ +# PaginatedProxyProviderList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](ProxyProvider.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedRacPropertyMappingList.md b/docs/PaginatedRacPropertyMappingList.md new file mode 100644 index 0000000..d6ac1dd --- /dev/null +++ b/docs/PaginatedRacPropertyMappingList.md @@ -0,0 +1,12 @@ +# PaginatedRacPropertyMappingList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](RACPropertyMapping.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedRacProviderList.md b/docs/PaginatedRacProviderList.md new file mode 100644 index 0000000..6340248 --- /dev/null +++ b/docs/PaginatedRacProviderList.md @@ -0,0 +1,12 @@ +# PaginatedRacProviderList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](RACProvider.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedRadiusOutpostConfigList.md b/docs/PaginatedRadiusOutpostConfigList.md new file mode 100644 index 0000000..3711d6d --- /dev/null +++ b/docs/PaginatedRadiusOutpostConfigList.md @@ -0,0 +1,12 @@ +# PaginatedRadiusOutpostConfigList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](RadiusOutpostConfig.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedRadiusProviderList.md b/docs/PaginatedRadiusProviderList.md new file mode 100644 index 0000000..abf4f2f --- /dev/null +++ b/docs/PaginatedRadiusProviderList.md @@ -0,0 +1,12 @@ +# PaginatedRadiusProviderList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](RadiusProvider.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedRadiusProviderPropertyMappingList.md b/docs/PaginatedRadiusProviderPropertyMappingList.md new file mode 100644 index 0000000..5754800 --- /dev/null +++ b/docs/PaginatedRadiusProviderPropertyMappingList.md @@ -0,0 +1,12 @@ +# PaginatedRadiusProviderPropertyMappingList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](RadiusProviderPropertyMapping.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedReputationList.md b/docs/PaginatedReputationList.md new file mode 100644 index 0000000..0919af7 --- /dev/null +++ b/docs/PaginatedReputationList.md @@ -0,0 +1,12 @@ +# PaginatedReputationList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](Reputation.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedReputationPolicyList.md b/docs/PaginatedReputationPolicyList.md new file mode 100644 index 0000000..0008a53 --- /dev/null +++ b/docs/PaginatedReputationPolicyList.md @@ -0,0 +1,12 @@ +# PaginatedReputationPolicyList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](ReputationPolicy.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedRoleAssignedObjectPermissionList.md b/docs/PaginatedRoleAssignedObjectPermissionList.md new file mode 100644 index 0000000..d1119d6 --- /dev/null +++ b/docs/PaginatedRoleAssignedObjectPermissionList.md @@ -0,0 +1,12 @@ +# PaginatedRoleAssignedObjectPermissionList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](RoleAssignedObjectPermission.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedRoleList.md b/docs/PaginatedRoleList.md new file mode 100644 index 0000000..c864592 --- /dev/null +++ b/docs/PaginatedRoleList.md @@ -0,0 +1,12 @@ +# PaginatedRoleList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](Role.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedSamlPropertyMappingList.md b/docs/PaginatedSamlPropertyMappingList.md new file mode 100644 index 0000000..1d95b78 --- /dev/null +++ b/docs/PaginatedSamlPropertyMappingList.md @@ -0,0 +1,12 @@ +# PaginatedSamlPropertyMappingList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](SAMLPropertyMapping.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedSamlProviderList.md b/docs/PaginatedSamlProviderList.md new file mode 100644 index 0000000..503944c --- /dev/null +++ b/docs/PaginatedSamlProviderList.md @@ -0,0 +1,12 @@ +# PaginatedSamlProviderList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](SAMLProvider.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedSamlSourceList.md b/docs/PaginatedSamlSourceList.md new file mode 100644 index 0000000..0b41225 --- /dev/null +++ b/docs/PaginatedSamlSourceList.md @@ -0,0 +1,12 @@ +# PaginatedSamlSourceList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](SAMLSource.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedSamlSourcePropertyMappingList.md b/docs/PaginatedSamlSourcePropertyMappingList.md new file mode 100644 index 0000000..e41cbbb --- /dev/null +++ b/docs/PaginatedSamlSourcePropertyMappingList.md @@ -0,0 +1,12 @@ +# PaginatedSamlSourcePropertyMappingList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](SAMLSourcePropertyMapping.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedScimMappingList.md b/docs/PaginatedScimMappingList.md new file mode 100644 index 0000000..de1ec0f --- /dev/null +++ b/docs/PaginatedScimMappingList.md @@ -0,0 +1,12 @@ +# PaginatedScimMappingList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](SCIMMapping.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedScimProviderGroupList.md b/docs/PaginatedScimProviderGroupList.md new file mode 100644 index 0000000..89f5470 --- /dev/null +++ b/docs/PaginatedScimProviderGroupList.md @@ -0,0 +1,12 @@ +# PaginatedScimProviderGroupList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](SCIMProviderGroup.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedScimProviderList.md b/docs/PaginatedScimProviderList.md new file mode 100644 index 0000000..961835b --- /dev/null +++ b/docs/PaginatedScimProviderList.md @@ -0,0 +1,12 @@ +# PaginatedScimProviderList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](SCIMProvider.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedScimProviderUserList.md b/docs/PaginatedScimProviderUserList.md new file mode 100644 index 0000000..ee0d7ca --- /dev/null +++ b/docs/PaginatedScimProviderUserList.md @@ -0,0 +1,12 @@ +# PaginatedScimProviderUserList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](SCIMProviderUser.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedScimSourceGroupList.md b/docs/PaginatedScimSourceGroupList.md new file mode 100644 index 0000000..d83d6e3 --- /dev/null +++ b/docs/PaginatedScimSourceGroupList.md @@ -0,0 +1,12 @@ +# PaginatedScimSourceGroupList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](SCIMSourceGroup.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedScimSourceList.md b/docs/PaginatedScimSourceList.md new file mode 100644 index 0000000..0c04f9a --- /dev/null +++ b/docs/PaginatedScimSourceList.md @@ -0,0 +1,12 @@ +# PaginatedScimSourceList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](SCIMSource.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedScimSourcePropertyMappingList.md b/docs/PaginatedScimSourcePropertyMappingList.md new file mode 100644 index 0000000..0723440 --- /dev/null +++ b/docs/PaginatedScimSourcePropertyMappingList.md @@ -0,0 +1,12 @@ +# PaginatedScimSourcePropertyMappingList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](SCIMSourcePropertyMapping.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedScimSourceUserList.md b/docs/PaginatedScimSourceUserList.md new file mode 100644 index 0000000..b836ed2 --- /dev/null +++ b/docs/PaginatedScimSourceUserList.md @@ -0,0 +1,12 @@ +# PaginatedScimSourceUserList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](SCIMSourceUser.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedScopeMappingList.md b/docs/PaginatedScopeMappingList.md new file mode 100644 index 0000000..ddf9fe4 --- /dev/null +++ b/docs/PaginatedScopeMappingList.md @@ -0,0 +1,12 @@ +# PaginatedScopeMappingList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](ScopeMapping.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedServiceConnectionList.md b/docs/PaginatedServiceConnectionList.md new file mode 100644 index 0000000..347275e --- /dev/null +++ b/docs/PaginatedServiceConnectionList.md @@ -0,0 +1,12 @@ +# PaginatedServiceConnectionList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](ServiceConnection.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedSmsDeviceList.md b/docs/PaginatedSmsDeviceList.md new file mode 100644 index 0000000..05995cd --- /dev/null +++ b/docs/PaginatedSmsDeviceList.md @@ -0,0 +1,12 @@ +# PaginatedSmsDeviceList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](SMSDevice.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedSourceList.md b/docs/PaginatedSourceList.md new file mode 100644 index 0000000..f26dab8 --- /dev/null +++ b/docs/PaginatedSourceList.md @@ -0,0 +1,12 @@ +# PaginatedSourceList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](Source.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedSourceStageList.md b/docs/PaginatedSourceStageList.md new file mode 100644 index 0000000..f4011f0 --- /dev/null +++ b/docs/PaginatedSourceStageList.md @@ -0,0 +1,12 @@ +# PaginatedSourceStageList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](SourceStage.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedStageList.md b/docs/PaginatedStageList.md new file mode 100644 index 0000000..41de2f0 --- /dev/null +++ b/docs/PaginatedStageList.md @@ -0,0 +1,12 @@ +# PaginatedStageList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](Stage.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedStaticDeviceList.md b/docs/PaginatedStaticDeviceList.md new file mode 100644 index 0000000..2b3f979 --- /dev/null +++ b/docs/PaginatedStaticDeviceList.md @@ -0,0 +1,12 @@ +# PaginatedStaticDeviceList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](StaticDevice.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedSystemTaskList.md b/docs/PaginatedSystemTaskList.md new file mode 100644 index 0000000..4a55de5 --- /dev/null +++ b/docs/PaginatedSystemTaskList.md @@ -0,0 +1,12 @@ +# PaginatedSystemTaskList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](SystemTask.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedTenantList.md b/docs/PaginatedTenantList.md new file mode 100644 index 0000000..80ad9e5 --- /dev/null +++ b/docs/PaginatedTenantList.md @@ -0,0 +1,12 @@ +# PaginatedTenantList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](Tenant.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedTokenList.md b/docs/PaginatedTokenList.md new file mode 100644 index 0000000..484586c --- /dev/null +++ b/docs/PaginatedTokenList.md @@ -0,0 +1,12 @@ +# PaginatedTokenList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](Token.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedTokenModelList.md b/docs/PaginatedTokenModelList.md new file mode 100644 index 0000000..fdbf37f --- /dev/null +++ b/docs/PaginatedTokenModelList.md @@ -0,0 +1,12 @@ +# PaginatedTokenModelList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](TokenModel.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedTotpDeviceList.md b/docs/PaginatedTotpDeviceList.md new file mode 100644 index 0000000..6f5e918 --- /dev/null +++ b/docs/PaginatedTotpDeviceList.md @@ -0,0 +1,12 @@ +# PaginatedTotpDeviceList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](TOTPDevice.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedUserAssignedObjectPermissionList.md b/docs/PaginatedUserAssignedObjectPermissionList.md new file mode 100644 index 0000000..a7802cf --- /dev/null +++ b/docs/PaginatedUserAssignedObjectPermissionList.md @@ -0,0 +1,12 @@ +# PaginatedUserAssignedObjectPermissionList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](UserAssignedObjectPermission.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedUserConsentList.md b/docs/PaginatedUserConsentList.md new file mode 100644 index 0000000..3a614eb --- /dev/null +++ b/docs/PaginatedUserConsentList.md @@ -0,0 +1,12 @@ +# PaginatedUserConsentList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](UserConsent.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedUserDeleteStageList.md b/docs/PaginatedUserDeleteStageList.md new file mode 100644 index 0000000..67615aa --- /dev/null +++ b/docs/PaginatedUserDeleteStageList.md @@ -0,0 +1,12 @@ +# PaginatedUserDeleteStageList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](UserDeleteStage.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedUserList.md b/docs/PaginatedUserList.md new file mode 100644 index 0000000..5a89841 --- /dev/null +++ b/docs/PaginatedUserList.md @@ -0,0 +1,12 @@ +# PaginatedUserList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](User.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedUserLoginStageList.md b/docs/PaginatedUserLoginStageList.md new file mode 100644 index 0000000..575197d --- /dev/null +++ b/docs/PaginatedUserLoginStageList.md @@ -0,0 +1,12 @@ +# PaginatedUserLoginStageList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](UserLoginStage.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedUserLogoutStageList.md b/docs/PaginatedUserLogoutStageList.md new file mode 100644 index 0000000..5de0685 --- /dev/null +++ b/docs/PaginatedUserLogoutStageList.md @@ -0,0 +1,12 @@ +# PaginatedUserLogoutStageList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](UserLogoutStage.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedUserOAuthSourceConnectionList.md b/docs/PaginatedUserOAuthSourceConnectionList.md new file mode 100644 index 0000000..148070b --- /dev/null +++ b/docs/PaginatedUserOAuthSourceConnectionList.md @@ -0,0 +1,12 @@ +# PaginatedUserOAuthSourceConnectionList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](UserOAuthSourceConnection.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedUserPlexSourceConnectionList.md b/docs/PaginatedUserPlexSourceConnectionList.md new file mode 100644 index 0000000..4b83825 --- /dev/null +++ b/docs/PaginatedUserPlexSourceConnectionList.md @@ -0,0 +1,12 @@ +# PaginatedUserPlexSourceConnectionList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](UserPlexSourceConnection.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedUserSamlSourceConnectionList.md b/docs/PaginatedUserSamlSourceConnectionList.md new file mode 100644 index 0000000..6fc4e21 --- /dev/null +++ b/docs/PaginatedUserSamlSourceConnectionList.md @@ -0,0 +1,12 @@ +# PaginatedUserSamlSourceConnectionList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](UserSAMLSourceConnection.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedUserSourceConnectionList.md b/docs/PaginatedUserSourceConnectionList.md new file mode 100644 index 0000000..a8c52e0 --- /dev/null +++ b/docs/PaginatedUserSourceConnectionList.md @@ -0,0 +1,12 @@ +# PaginatedUserSourceConnectionList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](UserSourceConnection.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedUserWriteStageList.md b/docs/PaginatedUserWriteStageList.md new file mode 100644 index 0000000..557fa93 --- /dev/null +++ b/docs/PaginatedUserWriteStageList.md @@ -0,0 +1,12 @@ +# PaginatedUserWriteStageList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](UserWriteStage.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedWebAuthnDeviceList.md b/docs/PaginatedWebAuthnDeviceList.md new file mode 100644 index 0000000..a40a41b --- /dev/null +++ b/docs/PaginatedWebAuthnDeviceList.md @@ -0,0 +1,12 @@ +# PaginatedWebAuthnDeviceList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](WebAuthnDevice.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaginatedWebAuthnDeviceTypeList.md b/docs/PaginatedWebAuthnDeviceTypeList.md new file mode 100644 index 0000000..349e62f --- /dev/null +++ b/docs/PaginatedWebAuthnDeviceTypeList.md @@ -0,0 +1,12 @@ +# PaginatedWebAuthnDeviceTypeList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**models::Pagination**](Pagination.md) | | +**results** | [**Vec**](WebAuthnDeviceType.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Pagination.md b/docs/Pagination.md new file mode 100644 index 0000000..6e54541 --- /dev/null +++ b/docs/Pagination.md @@ -0,0 +1,17 @@ +# Pagination + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**next** | **f64** | | +**previous** | **f64** | | +**count** | **f64** | | +**current** | **f64** | | +**total_pages** | **f64** | | +**start_index** | **f64** | | +**end_index** | **f64** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PasswordChallenge.md b/docs/PasswordChallenge.md new file mode 100644 index 0000000..0e5f18f --- /dev/null +++ b/docs/PasswordChallenge.md @@ -0,0 +1,17 @@ +# PasswordChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**flow_info** | Option<[**models::ContextualFlowInfo**](ContextualFlowInfo.md)> | | [optional] +**component** | Option<**String**> | | [optional][default to ak-stage-password] +**response_errors** | Option<[**std::collections::HashMap>**](Vec.md)> | | [optional] +**pending_user** | **String** | | +**pending_user_avatar** | **String** | | +**recovery_url** | Option<**String**> | | [optional] +**allow_show_password** | Option<**bool**> | | [optional][default to false] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PasswordChallengeResponseRequest.md b/docs/PasswordChallengeResponseRequest.md new file mode 100644 index 0000000..2274c33 --- /dev/null +++ b/docs/PasswordChallengeResponseRequest.md @@ -0,0 +1,12 @@ +# PasswordChallengeResponseRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | Option<**String**> | | [optional][default to ak-stage-password] +**password** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PasswordExpiryPolicy.md b/docs/PasswordExpiryPolicy.md new file mode 100644 index 0000000..8669708 --- /dev/null +++ b/docs/PasswordExpiryPolicy.md @@ -0,0 +1,20 @@ +# PasswordExpiryPolicy + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**execution_logging** | Option<**bool**> | When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**bound_to** | **i32** | Return objects policy is bound to | [readonly] +**days** | **i32** | | +**deny_only** | Option<**bool**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PasswordExpiryPolicyRequest.md b/docs/PasswordExpiryPolicyRequest.md new file mode 100644 index 0000000..34810b7 --- /dev/null +++ b/docs/PasswordExpiryPolicyRequest.md @@ -0,0 +1,14 @@ +# PasswordExpiryPolicyRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**execution_logging** | Option<**bool**> | When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. | [optional] +**days** | **i32** | | +**deny_only** | Option<**bool**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PasswordPolicy.md b/docs/PasswordPolicy.md new file mode 100644 index 0000000..1530590 --- /dev/null +++ b/docs/PasswordPolicy.md @@ -0,0 +1,31 @@ +# PasswordPolicy + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**execution_logging** | Option<**bool**> | When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**bound_to** | **i32** | Return objects policy is bound to | [readonly] +**password_field** | Option<**String**> | Field key to check, field keys defined in Prompt stages are available. | [optional] +**amount_digits** | Option<**u32**> | | [optional] +**amount_uppercase** | Option<**u32**> | | [optional] +**amount_lowercase** | Option<**u32**> | | [optional] +**amount_symbols** | Option<**u32**> | | [optional] +**length_min** | Option<**u32**> | | [optional] +**symbol_charset** | Option<**String**> | | [optional] +**error_message** | Option<**String**> | | [optional] +**check_static_rules** | Option<**bool**> | | [optional] +**check_have_i_been_pwned** | Option<**bool**> | | [optional] +**check_zxcvbn** | Option<**bool**> | | [optional] +**hibp_allowed_count** | Option<**u32**> | How many times the password hash is allowed to be on haveibeenpwned | [optional] +**zxcvbn_score_threshold** | Option<**u32**> | If the zxcvbn score is equal or less than this value, the policy will fail. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PasswordPolicyRequest.md b/docs/PasswordPolicyRequest.md new file mode 100644 index 0000000..e929013 --- /dev/null +++ b/docs/PasswordPolicyRequest.md @@ -0,0 +1,25 @@ +# PasswordPolicyRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**execution_logging** | Option<**bool**> | When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. | [optional] +**password_field** | Option<**String**> | Field key to check, field keys defined in Prompt stages are available. | [optional] +**amount_digits** | Option<**u32**> | | [optional] +**amount_uppercase** | Option<**u32**> | | [optional] +**amount_lowercase** | Option<**u32**> | | [optional] +**amount_symbols** | Option<**u32**> | | [optional] +**length_min** | Option<**u32**> | | [optional] +**symbol_charset** | Option<**String**> | | [optional] +**error_message** | Option<**String**> | | [optional] +**check_static_rules** | Option<**bool**> | | [optional] +**check_have_i_been_pwned** | Option<**bool**> | | [optional] +**check_zxcvbn** | Option<**bool**> | | [optional] +**hibp_allowed_count** | Option<**u32**> | How many times the password hash is allowed to be on haveibeenpwned | [optional] +**zxcvbn_score_threshold** | Option<**u32**> | If the zxcvbn score is equal or less than this value, the policy will fail. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PasswordStage.md b/docs/PasswordStage.md new file mode 100644 index 0000000..49aaa5b --- /dev/null +++ b/docs/PasswordStage.md @@ -0,0 +1,21 @@ +# PasswordStage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**component** | **String** | Get object type so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**flow_set** | Option<[**Vec**](FlowSet.md)> | | [optional] +**backends** | [**Vec**](BackendsEnum.md) | Selection of backends to test the password against. | +**configure_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. | [optional] +**failed_attempts_before_cancel** | Option<**i32**> | How many attempts a user has before the flow is canceled. To lock the user out, use a reputation policy and a user_write stage. | [optional] +**allow_show_password** | Option<**bool**> | When enabled, provides a 'show password' button with the password input field. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PasswordStageRequest.md b/docs/PasswordStageRequest.md new file mode 100644 index 0000000..e0325c4 --- /dev/null +++ b/docs/PasswordStageRequest.md @@ -0,0 +1,16 @@ +# PasswordStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**backends** | [**Vec**](BackendsEnum.md) | Selection of backends to test the password against. | +**configure_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. | [optional] +**failed_attempts_before_cancel** | Option<**i32**> | How many attempts a user has before the flow is canceled. To lock the user out, use a reputation policy and a user_write stage. | [optional] +**allow_show_password** | Option<**bool**> | When enabled, provides a 'show password' button with the password input field. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedApplicationRequest.md b/docs/PatchedApplicationRequest.md new file mode 100644 index 0000000..87446a1 --- /dev/null +++ b/docs/PatchedApplicationRequest.md @@ -0,0 +1,20 @@ +# PatchedApplicationRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | Application's display Name. | [optional] +**slug** | Option<**String**> | Internal application name, used in URLs. | [optional] +**provider** | Option<**i32**> | | [optional] +**backchannel_providers** | Option<**Vec**> | | [optional] +**open_in_new_tab** | Option<**bool**> | Open launch URL in a new browser tab or window. | [optional] +**meta_launch_url** | Option<**String**> | | [optional] +**meta_description** | Option<**String**> | | [optional] +**meta_publisher** | Option<**String**> | | [optional] +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**group** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedAuthenticatorDuoStageRequest.md b/docs/PatchedAuthenticatorDuoStageRequest.md new file mode 100644 index 0000000..2867b65 --- /dev/null +++ b/docs/PatchedAuthenticatorDuoStageRequest.md @@ -0,0 +1,19 @@ +# PatchedAuthenticatorDuoStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**configure_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. | [optional] +**friendly_name** | Option<**String**> | | [optional] +**client_id** | Option<**String**> | | [optional] +**client_secret** | Option<**String**> | | [optional] +**api_hostname** | Option<**String**> | | [optional] +**admin_integration_key** | Option<**String**> | | [optional] +**admin_secret_key** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedAuthenticatorSmsStageRequest.md b/docs/PatchedAuthenticatorSmsStageRequest.md new file mode 100644 index 0000000..8c88f40 --- /dev/null +++ b/docs/PatchedAuthenticatorSmsStageRequest.md @@ -0,0 +1,22 @@ +# PatchedAuthenticatorSmsStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**configure_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. | [optional] +**friendly_name** | Option<**String**> | | [optional] +**provider** | Option<[**models::ProviderEnum**](ProviderEnum.md)> | | [optional] +**from_number** | Option<**String**> | | [optional] +**account_sid** | Option<**String**> | | [optional] +**auth** | Option<**String**> | | [optional] +**auth_password** | Option<**String**> | | [optional] +**auth_type** | Option<[**models::AuthTypeEnum**](AuthTypeEnum.md)> | | [optional] +**verify_only** | Option<**bool**> | When enabled, the Phone number is only used during enrollment to verify the users authenticity. Only a hash of the phone number is saved to ensure it is not reused in the future. | [optional] +**mapping** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Optionally modify the payload being sent to custom providers. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedAuthenticatorStaticStageRequest.md b/docs/PatchedAuthenticatorStaticStageRequest.md new file mode 100644 index 0000000..ea32397 --- /dev/null +++ b/docs/PatchedAuthenticatorStaticStageRequest.md @@ -0,0 +1,16 @@ +# PatchedAuthenticatorStaticStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**configure_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. | [optional] +**friendly_name** | Option<**String**> | | [optional] +**token_count** | Option<**u32**> | | [optional] +**token_length** | Option<**u32**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedAuthenticatorTotpStageRequest.md b/docs/PatchedAuthenticatorTotpStageRequest.md new file mode 100644 index 0000000..4847f65 --- /dev/null +++ b/docs/PatchedAuthenticatorTotpStageRequest.md @@ -0,0 +1,15 @@ +# PatchedAuthenticatorTotpStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**configure_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. | [optional] +**friendly_name** | Option<**String**> | | [optional] +**digits** | Option<[**models::DigitsEnum**](DigitsEnum.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedAuthenticatorValidateStageRequest.md b/docs/PatchedAuthenticatorValidateStageRequest.md new file mode 100644 index 0000000..388927d --- /dev/null +++ b/docs/PatchedAuthenticatorValidateStageRequest.md @@ -0,0 +1,18 @@ +# PatchedAuthenticatorValidateStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**not_configured_action** | Option<[**models::NotConfiguredActionEnum**](NotConfiguredActionEnum.md)> | | [optional] +**device_classes** | Option<[**Vec**](DeviceClassesEnum.md)> | Device classes which can be used to authenticate | [optional] +**configuration_stages** | Option<[**Vec**](uuid::Uuid.md)> | Stages used to configure Authenticator when user doesn't have any compatible devices. After this configuration Stage passes, the user is not prompted again. | [optional] +**last_auth_threshold** | Option<**String**> | If any of the user's device has been used within this threshold, this stage will be skipped | [optional] +**webauthn_user_verification** | Option<[**models::UserVerificationEnum**](UserVerificationEnum.md)> | Enforce user verification for WebAuthn devices. | [optional] +**webauthn_allowed_device_types** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedAuthenticatorWebAuthnStageRequest.md b/docs/PatchedAuthenticatorWebAuthnStageRequest.md new file mode 100644 index 0000000..6fc2ed5 --- /dev/null +++ b/docs/PatchedAuthenticatorWebAuthnStageRequest.md @@ -0,0 +1,18 @@ +# PatchedAuthenticatorWebAuthnStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**configure_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. | [optional] +**friendly_name** | Option<**String**> | | [optional] +**user_verification** | Option<[**models::UserVerificationEnum**](UserVerificationEnum.md)> | | [optional] +**authenticator_attachment** | Option<[**models::AuthenticatorAttachmentEnum**](AuthenticatorAttachmentEnum.md)> | | [optional] +**resident_key_requirement** | Option<[**models::ResidentKeyRequirementEnum**](ResidentKeyRequirementEnum.md)> | | [optional] +**device_type_restrictions** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedBlueprintInstanceRequest.md b/docs/PatchedBlueprintInstanceRequest.md new file mode 100644 index 0000000..bf0c18f --- /dev/null +++ b/docs/PatchedBlueprintInstanceRequest.md @@ -0,0 +1,15 @@ +# PatchedBlueprintInstanceRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**path** | Option<**String**> | | [optional][default to ] +**context** | Option<[**serde_json::Value**](.md)> | | [optional] +**enabled** | Option<**bool**> | | [optional] +**content** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedBrandRequest.md b/docs/PatchedBrandRequest.md new file mode 100644 index 0000000..c1bdda0 --- /dev/null +++ b/docs/PatchedBrandRequest.md @@ -0,0 +1,24 @@ +# PatchedBrandRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**domain** | Option<**String**> | Domain that activates this brand. Can be a superset, i.e. `a.b` for `aa.b` and `ba.b` | [optional] +**default** | Option<**bool**> | | [optional] +**branding_title** | Option<**String**> | | [optional] +**branding_logo** | Option<**String**> | | [optional] +**branding_favicon** | Option<**String**> | | [optional] +**flow_authentication** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**flow_invalidation** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**flow_recovery** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**flow_unenrollment** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**flow_user_settings** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**flow_device_code** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**default_application** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | When set, external users will be redirected to this application after authenticating. | [optional] +**web_certificate** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Web Certificate used by the authentik Core webserver. | [optional] +**attributes** | Option<[**serde_json::Value**](.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedCaptchaStageRequest.md b/docs/PatchedCaptchaStageRequest.md new file mode 100644 index 0000000..2473a84 --- /dev/null +++ b/docs/PatchedCaptchaStageRequest.md @@ -0,0 +1,19 @@ +# PatchedCaptchaStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**public_key** | Option<**String**> | Public key, acquired your captcha Provider. | [optional] +**private_key** | Option<**String**> | Private key, acquired your captcha Provider. | [optional] +**js_url** | Option<**String**> | | [optional] +**api_url** | Option<**String**> | | [optional] +**score_min_threshold** | Option<**f64**> | | [optional] +**score_max_threshold** | Option<**f64**> | | [optional] +**error_on_invalid_score** | Option<**bool**> | When enabled and the received captcha score is outside of the given threshold, the stage will show an error message. When not enabled, the flow will continue, but the data from the captcha will be available in the context for policy decisions | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedCertificateKeyPairRequest.md b/docs/PatchedCertificateKeyPairRequest.md new file mode 100644 index 0000000..ddb9632 --- /dev/null +++ b/docs/PatchedCertificateKeyPairRequest.md @@ -0,0 +1,13 @@ +# PatchedCertificateKeyPairRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**certificate_data** | Option<**String**> | PEM-encoded Certificate data | [optional] +**key_data** | Option<**String**> | Optional Private Key. If this is set, you can use this keypair for encryption. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedConnectionTokenRequest.md b/docs/PatchedConnectionTokenRequest.md new file mode 100644 index 0000000..ebf24ba --- /dev/null +++ b/docs/PatchedConnectionTokenRequest.md @@ -0,0 +1,13 @@ +# PatchedConnectionTokenRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**provider** | Option<**i32**> | | [optional] +**endpoint** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedConsentStageRequest.md b/docs/PatchedConsentStageRequest.md new file mode 100644 index 0000000..6613b5d --- /dev/null +++ b/docs/PatchedConsentStageRequest.md @@ -0,0 +1,14 @@ +# PatchedConsentStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**mode** | Option<[**models::ConsentStageModeEnum**](ConsentStageModeEnum.md)> | | [optional] +**consent_expire_in** | Option<**String**> | Offset after which consent expires. (Format: hours=1;minutes=2;seconds=3). | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedDenyStageRequest.md b/docs/PatchedDenyStageRequest.md new file mode 100644 index 0000000..b303b7c --- /dev/null +++ b/docs/PatchedDenyStageRequest.md @@ -0,0 +1,13 @@ +# PatchedDenyStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**deny_message** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedDockerServiceConnectionRequest.md b/docs/PatchedDockerServiceConnectionRequest.md new file mode 100644 index 0000000..f66a3f3 --- /dev/null +++ b/docs/PatchedDockerServiceConnectionRequest.md @@ -0,0 +1,15 @@ +# PatchedDockerServiceConnectionRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**local** | Option<**bool**> | If enabled, use the local connection. Required Docker socket/Kubernetes Integration | [optional] +**url** | Option<**String**> | Can be in the format of 'unix://' when connecting to a local docker daemon, or 'https://:2376' when connecting to a remote system. | [optional] +**tls_verification** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | CA which the endpoint's Certificate is verified against. Can be left empty for no validation. | [optional] +**tls_authentication** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Certificate/Key used for authentication. Can be left empty for no authentication. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedDomainRequest.md b/docs/PatchedDomainRequest.md new file mode 100644 index 0000000..66e3232 --- /dev/null +++ b/docs/PatchedDomainRequest.md @@ -0,0 +1,13 @@ +# PatchedDomainRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**domain** | Option<**String**> | | [optional] +**is_primary** | Option<**bool**> | | [optional] +**tenant** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedDummyPolicyRequest.md b/docs/PatchedDummyPolicyRequest.md new file mode 100644 index 0000000..6a48c50 --- /dev/null +++ b/docs/PatchedDummyPolicyRequest.md @@ -0,0 +1,15 @@ +# PatchedDummyPolicyRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**execution_logging** | Option<**bool**> | When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. | [optional] +**result** | Option<**bool**> | | [optional] +**wait_min** | Option<**i32**> | | [optional] +**wait_max** | Option<**i32**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedDummyStageRequest.md b/docs/PatchedDummyStageRequest.md new file mode 100644 index 0000000..c7dffcd --- /dev/null +++ b/docs/PatchedDummyStageRequest.md @@ -0,0 +1,13 @@ +# PatchedDummyStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**throw_error** | Option<**bool**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedDuoDeviceRequest.md b/docs/PatchedDuoDeviceRequest.md new file mode 100644 index 0000000..f91191c --- /dev/null +++ b/docs/PatchedDuoDeviceRequest.md @@ -0,0 +1,11 @@ +# PatchedDuoDeviceRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | The human-readable name of this device. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedEmailStageRequest.md b/docs/PatchedEmailStageRequest.md new file mode 100644 index 0000000..02c390c --- /dev/null +++ b/docs/PatchedEmailStageRequest.md @@ -0,0 +1,25 @@ +# PatchedEmailStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**use_global_settings** | Option<**bool**> | When enabled, global Email connection settings will be used and connection settings below will be ignored. | [optional] +**host** | Option<**String**> | | [optional] +**port** | Option<**i32**> | | [optional] +**username** | Option<**String**> | | [optional] +**password** | Option<**String**> | | [optional] +**use_tls** | Option<**bool**> | | [optional] +**use_ssl** | Option<**bool**> | | [optional] +**timeout** | Option<**i32**> | | [optional] +**from_address** | Option<**String**> | | [optional] +**token_expiry** | Option<**i32**> | Time in minutes the token sent is valid. | [optional] +**subject** | Option<**String**> | | [optional] +**template** | Option<**String**> | | [optional] +**activate_user_on_success** | Option<**bool**> | Activate users upon completion of stage. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedEndpointRequest.md b/docs/PatchedEndpointRequest.md new file mode 100644 index 0000000..de798b5 --- /dev/null +++ b/docs/PatchedEndpointRequest.md @@ -0,0 +1,18 @@ +# PatchedEndpointRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**provider** | Option<**i32**> | | [optional] +**protocol** | Option<[**models::ProtocolEnum**](ProtocolEnum.md)> | | [optional] +**host** | Option<**String**> | | [optional] +**settings** | Option<[**serde_json::Value**](.md)> | | [optional] +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**auth_mode** | Option<[**models::AuthModeEnum**](AuthModeEnum.md)> | | [optional] +**maximum_connections** | Option<**i32**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedEventMatcherPolicyRequest.md b/docs/PatchedEventMatcherPolicyRequest.md new file mode 100644 index 0000000..41cb623 --- /dev/null +++ b/docs/PatchedEventMatcherPolicyRequest.md @@ -0,0 +1,16 @@ +# PatchedEventMatcherPolicyRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**execution_logging** | Option<**bool**> | When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. | [optional] +**action** | Option<[**models::EventActions**](EventActions.md)> | Match created events with this action type. When left empty, all action types will be matched. | [optional] +**client_ip** | Option<**String**> | Matches Event's Client IP (strict matching, for network matching use an Expression Policy) | [optional] +**app** | Option<[**models::AppEnum**](AppEnum.md)> | Match events created by selected application. When left empty, all applications are matched. | [optional] +**model** | Option<[**models::ModelEnum**](ModelEnum.md)> | Match events created by selected model. When left empty, all models are matched. When an app is selected, all the application's models are matched. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedEventRequest.md b/docs/PatchedEventRequest.md new file mode 100644 index 0000000..45759d3 --- /dev/null +++ b/docs/PatchedEventRequest.md @@ -0,0 +1,17 @@ +# PatchedEventRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user** | Option<[**serde_json::Value**](.md)> | | [optional] +**action** | Option<[**models::EventActions**](EventActions.md)> | | [optional] +**app** | Option<**String**> | | [optional] +**context** | Option<[**serde_json::Value**](.md)> | | [optional] +**client_ip** | Option<**String**> | | [optional] +**expires** | Option<**String**> | | [optional] +**brand** | Option<[**serde_json::Value**](.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedExpressionPolicyRequest.md b/docs/PatchedExpressionPolicyRequest.md new file mode 100644 index 0000000..46cf274 --- /dev/null +++ b/docs/PatchedExpressionPolicyRequest.md @@ -0,0 +1,13 @@ +# PatchedExpressionPolicyRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**execution_logging** | Option<**bool**> | When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. | [optional] +**expression** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedExtraRoleObjectPermissionRequest.md b/docs/PatchedExtraRoleObjectPermissionRequest.md new file mode 100644 index 0000000..dfbffc9 --- /dev/null +++ b/docs/PatchedExtraRoleObjectPermissionRequest.md @@ -0,0 +1,11 @@ +# PatchedExtraRoleObjectPermissionRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**object_pk** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedExtraUserObjectPermissionRequest.md b/docs/PatchedExtraUserObjectPermissionRequest.md new file mode 100644 index 0000000..0d6e43d --- /dev/null +++ b/docs/PatchedExtraUserObjectPermissionRequest.md @@ -0,0 +1,11 @@ +# PatchedExtraUserObjectPermissionRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**object_pk** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedFlowRequest.md b/docs/PatchedFlowRequest.md new file mode 100644 index 0000000..774a244 --- /dev/null +++ b/docs/PatchedFlowRequest.md @@ -0,0 +1,19 @@ +# PatchedFlowRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**slug** | Option<**String**> | Visible in the URL. | [optional] +**title** | Option<**String**> | Shown as the Title in Flow pages. | [optional] +**designation** | Option<[**models::FlowDesignationEnum**](FlowDesignationEnum.md)> | Decides what this Flow is used for. For example, the Authentication flow is redirect to when an un-authenticated user visits authentik. | [optional] +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**compatibility_mode** | Option<**bool**> | Enable compatibility mode, increases compatibility with password managers on mobile devices. | [optional] +**layout** | Option<[**models::FlowLayoutEnum**](FlowLayoutEnum.md)> | | [optional] +**denied_action** | Option<[**models::DeniedActionEnum**](DeniedActionEnum.md)> | Configure what should happen when a flow denies access to a user. | [optional] +**authentication** | Option<[**models::AuthenticationEnum**](AuthenticationEnum.md)> | Required level of authentication and authorization to access a flow. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedFlowStageBindingRequest.md b/docs/PatchedFlowStageBindingRequest.md new file mode 100644 index 0000000..caee57b --- /dev/null +++ b/docs/PatchedFlowStageBindingRequest.md @@ -0,0 +1,17 @@ +# PatchedFlowStageBindingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**target** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**stage** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**evaluate_on_plan** | Option<**bool**> | Evaluate policies during the Flow planning process. | [optional] +**re_evaluate_policies** | Option<**bool**> | Evaluate policies when the Stage is present to the user. | [optional] +**order** | Option<**i32**> | | [optional] +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**invalid_response_action** | Option<[**models::InvalidResponseActionEnum**](InvalidResponseActionEnum.md)> | Configure how the flow executor should handle an invalid response to a challenge. RETRY returns the error message and a similar challenge to the executor. RESTART restarts the flow from the beginning, and RESTART_WITH_CONTEXT restarts the flow while keeping the current context. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedGeoIpPolicyRequest.md b/docs/PatchedGeoIpPolicyRequest.md new file mode 100644 index 0000000..01f3a96 --- /dev/null +++ b/docs/PatchedGeoIpPolicyRequest.md @@ -0,0 +1,14 @@ +# PatchedGeoIpPolicyRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**execution_logging** | Option<**bool**> | When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. | [optional] +**asns** | Option<**Vec**> | | [optional] +**countries** | Option<[**Vec**](CountryCodeEnum.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedGoogleWorkspaceProviderMappingRequest.md b/docs/PatchedGoogleWorkspaceProviderMappingRequest.md new file mode 100644 index 0000000..a65c432 --- /dev/null +++ b/docs/PatchedGoogleWorkspaceProviderMappingRequest.md @@ -0,0 +1,13 @@ +# PatchedGoogleWorkspaceProviderMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | Option<**String**> | | [optional] +**expression** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedGoogleWorkspaceProviderRequest.md b/docs/PatchedGoogleWorkspaceProviderRequest.md new file mode 100644 index 0000000..063321f --- /dev/null +++ b/docs/PatchedGoogleWorkspaceProviderRequest.md @@ -0,0 +1,21 @@ +# PatchedGoogleWorkspaceProviderRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**property_mappings_group** | Option<[**Vec**](uuid::Uuid.md)> | Property mappings used for group creation/updating. | [optional] +**delegated_subject** | Option<**String**> | | [optional] +**credentials** | Option<[**serde_json::Value**](.md)> | | [optional] +**scopes** | Option<**String**> | | [optional] +**exclude_users_service_account** | Option<**bool**> | | [optional] +**filter_group** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**user_delete_action** | Option<[**models::OutgoingSyncDeleteAction**](OutgoingSyncDeleteAction.md)> | | [optional] +**group_delete_action** | Option<[**models::OutgoingSyncDeleteAction**](OutgoingSyncDeleteAction.md)> | | [optional] +**default_group_email_domain** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedGroupRequest.md b/docs/PatchedGroupRequest.md new file mode 100644 index 0000000..5fe1253 --- /dev/null +++ b/docs/PatchedGroupRequest.md @@ -0,0 +1,16 @@ +# PatchedGroupRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**is_superuser** | Option<**bool**> | Users added to this group will be superusers. | [optional] +**parent** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**users** | Option<**Vec**> | | [optional] +**attributes** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | | [optional] +**roles** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedIdentificationStageRequest.md b/docs/PatchedIdentificationStageRequest.md new file mode 100644 index 0000000..ba2096c --- /dev/null +++ b/docs/PatchedIdentificationStageRequest.md @@ -0,0 +1,22 @@ +# PatchedIdentificationStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**user_fields** | Option<[**Vec**](UserFieldsEnum.md)> | Fields of the user object to match against. (Hold shift to select multiple options) | [optional] +**password_stage** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | When set, shows a password field, instead of showing the password field as separate step. | [optional] +**case_insensitive_matching** | Option<**bool**> | When enabled, user fields are matched regardless of their casing. | [optional] +**show_matched_user** | Option<**bool**> | When a valid username/email has been entered, and this option is enabled, the user's username and avatar will be shown. Otherwise, the text that the user entered will be shown | [optional] +**enrollment_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Optional enrollment flow, which is linked at the bottom of the page. | [optional] +**recovery_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Optional recovery flow, which is linked at the bottom of the page. | [optional] +**passwordless_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Optional passwordless flow, which is linked at the bottom of the page. | [optional] +**sources** | Option<[**Vec**](uuid::Uuid.md)> | Specify which sources should be shown. | [optional] +**show_source_labels** | Option<**bool**> | | [optional] +**pretend_user_exists** | Option<**bool**> | When enabled, the stage will succeed and continue even when incorrect user info is entered. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedInvitationRequest.md b/docs/PatchedInvitationRequest.md new file mode 100644 index 0000000..2b92759 --- /dev/null +++ b/docs/PatchedInvitationRequest.md @@ -0,0 +1,15 @@ +# PatchedInvitationRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**expires** | Option<**String**> | | [optional] +**fixed_data** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | | [optional] +**single_use** | Option<**bool**> | When enabled, the invitation will be deleted after usage. | [optional] +**flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | When set, only the configured flow can use this invitation. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedInvitationStageRequest.md b/docs/PatchedInvitationStageRequest.md new file mode 100644 index 0000000..fb69b2f --- /dev/null +++ b/docs/PatchedInvitationStageRequest.md @@ -0,0 +1,13 @@ +# PatchedInvitationStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**continue_flow_without_invitation** | Option<**bool**> | If this flag is set, this Stage will jump to the next Stage when no Invitation is given. By default this Stage will cancel the Flow when no invitation is given. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedKubernetesServiceConnectionRequest.md b/docs/PatchedKubernetesServiceConnectionRequest.md new file mode 100644 index 0000000..be98e21 --- /dev/null +++ b/docs/PatchedKubernetesServiceConnectionRequest.md @@ -0,0 +1,14 @@ +# PatchedKubernetesServiceConnectionRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**local** | Option<**bool**> | If enabled, use the local connection. Required Docker socket/Kubernetes Integration | [optional] +**kubeconfig** | Option<[**serde_json::Value**](.md)> | Paste your kubeconfig here. authentik will automatically use the currently selected context. | [optional] +**verify_ssl** | Option<**bool**> | Verify SSL Certificates of the Kubernetes API endpoint | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedLdapProviderRequest.md b/docs/PatchedLdapProviderRequest.md new file mode 100644 index 0000000..14ba40d --- /dev/null +++ b/docs/PatchedLdapProviderRequest.md @@ -0,0 +1,22 @@ +# PatchedLdapProviderRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used for authentication when the associated application is accessed by an un-authenticated user. | [optional] +**authorization_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used when authorizing this provider. | [optional] +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**base_dn** | Option<**String**> | DN under which objects are accessible. | [optional] +**certificate** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**tls_server_name** | Option<**String**> | | [optional] +**uid_start_number** | Option<**i32**> | The start for uidNumbers, this number is added to the user.pk to make sure that the numbers aren't too low for POSIX users. Default is 2000 to ensure that we don't collide with local users uidNumber | [optional] +**gid_start_number** | Option<**i32**> | The start for gidNumbers, this number is added to a number generated from the group.pk to make sure that the numbers aren't too low for POSIX groups. Default is 4000 to ensure that we don't collide with local groups or users primary groups gidNumber | [optional] +**search_mode** | Option<[**models::LdapapiAccessMode**](LDAPAPIAccessMode.md)> | | [optional] +**bind_mode** | Option<[**models::LdapapiAccessMode**](LDAPAPIAccessMode.md)> | | [optional] +**mfa_support** | Option<**bool**> | When enabled, code-based multi-factor authentication can be used by appending a semicolon and the TOTP code to the password. This should only be enabled if all users that will bind to this provider have a TOTP device configured, as otherwise a password may incorrectly be rejected if it contains a semicolon. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedLdapSourcePropertyMappingRequest.md b/docs/PatchedLdapSourcePropertyMappingRequest.md new file mode 100644 index 0000000..297ba2c --- /dev/null +++ b/docs/PatchedLdapSourcePropertyMappingRequest.md @@ -0,0 +1,13 @@ +# PatchedLdapSourcePropertyMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | Option<**String**> | | [optional] +**expression** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedLdapSourceRequest.md b/docs/PatchedLdapSourceRequest.md new file mode 100644 index 0000000..577c5a5 --- /dev/null +++ b/docs/PatchedLdapSourceRequest.md @@ -0,0 +1,39 @@ +# PatchedLdapSourceRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | Source's display Name. | [optional] +**slug** | Option<**String**> | Internal source name, used in URLs. | [optional] +**enabled** | Option<**bool**> | | [optional] +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when authenticating existing users. | [optional] +**enrollment_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when enrolling new users. | [optional] +**user_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**group_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**user_matching_mode** | Option<[**models::UserMatchingModeEnum**](UserMatchingModeEnum.md)> | How the source determines if an existing user should be authenticated or a new user enrolled. | [optional] +**user_path_template** | Option<**String**> | | [optional] +**server_uri** | Option<**String**> | | [optional] +**peer_certificate** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Optionally verify the LDAP Server's Certificate against the CA Chain in this keypair. | [optional] +**client_certificate** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Client certificate to authenticate against the LDAP Server's Certificate. | [optional] +**bind_cn** | Option<**String**> | | [optional] +**bind_password** | Option<**String**> | | [optional] +**start_tls** | Option<**bool**> | | [optional] +**sni** | Option<**bool**> | | [optional] +**base_dn** | Option<**String**> | | [optional] +**additional_user_dn** | Option<**String**> | Prepended to Base DN for User-queries. | [optional] +**additional_group_dn** | Option<**String**> | Prepended to Base DN for Group-queries. | [optional] +**user_object_filter** | Option<**String**> | Consider Objects matching this filter to be Users. | [optional] +**group_object_filter** | Option<**String**> | Consider Objects matching this filter to be Groups. | [optional] +**group_membership_field** | Option<**String**> | Field which contains members of a group. | [optional] +**object_uniqueness_field** | Option<**String**> | Field which contains a unique Identifier. | [optional] +**password_login_update_internal_password** | Option<**bool**> | Update internal authentik password when login succeeds with LDAP | [optional] +**sync_users** | Option<**bool**> | | [optional] +**sync_users_password** | Option<**bool**> | When a user changes their password, sync it back to LDAP. This can only be enabled on a single LDAP source. | [optional] +**sync_groups** | Option<**bool**> | | [optional] +**sync_parent_group** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedLicenseRequest.md b/docs/PatchedLicenseRequest.md new file mode 100644 index 0000000..8cc6c4d --- /dev/null +++ b/docs/PatchedLicenseRequest.md @@ -0,0 +1,11 @@ +# PatchedLicenseRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**key** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedMicrosoftEntraProviderMappingRequest.md b/docs/PatchedMicrosoftEntraProviderMappingRequest.md new file mode 100644 index 0000000..0a5a579 --- /dev/null +++ b/docs/PatchedMicrosoftEntraProviderMappingRequest.md @@ -0,0 +1,13 @@ +# PatchedMicrosoftEntraProviderMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | Option<**String**> | | [optional] +**expression** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedMicrosoftEntraProviderRequest.md b/docs/PatchedMicrosoftEntraProviderRequest.md new file mode 100644 index 0000000..0401b53 --- /dev/null +++ b/docs/PatchedMicrosoftEntraProviderRequest.md @@ -0,0 +1,20 @@ +# PatchedMicrosoftEntraProviderRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**property_mappings_group** | Option<[**Vec**](uuid::Uuid.md)> | Property mappings used for group creation/updating. | [optional] +**client_id** | Option<**String**> | | [optional] +**client_secret** | Option<**String**> | | [optional] +**tenant_id** | Option<**String**> | | [optional] +**exclude_users_service_account** | Option<**bool**> | | [optional] +**filter_group** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**user_delete_action** | Option<[**models::OutgoingSyncDeleteAction**](OutgoingSyncDeleteAction.md)> | | [optional] +**group_delete_action** | Option<[**models::OutgoingSyncDeleteAction**](OutgoingSyncDeleteAction.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedNotificationRequest.md b/docs/PatchedNotificationRequest.md new file mode 100644 index 0000000..f2c6772 --- /dev/null +++ b/docs/PatchedNotificationRequest.md @@ -0,0 +1,12 @@ +# PatchedNotificationRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**event** | Option<[**models::EventRequest**](EventRequest.md)> | | [optional] +**seen** | Option<**bool**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedNotificationRuleRequest.md b/docs/PatchedNotificationRuleRequest.md new file mode 100644 index 0000000..e06834d --- /dev/null +++ b/docs/PatchedNotificationRuleRequest.md @@ -0,0 +1,14 @@ +# PatchedNotificationRuleRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**transports** | Option<[**Vec**](uuid::Uuid.md)> | Select which transports should be used to notify the user. If none are selected, the notification will only be shown in the authentik UI. | [optional] +**severity** | Option<[**models::SeverityEnum**](SeverityEnum.md)> | Controls which severity level the created notifications will have. | [optional] +**group** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Define which group of users this notification should be sent and shown to. If left empty, Notification won't ben sent. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedNotificationTransportRequest.md b/docs/PatchedNotificationTransportRequest.md new file mode 100644 index 0000000..2fad65a --- /dev/null +++ b/docs/PatchedNotificationTransportRequest.md @@ -0,0 +1,15 @@ +# PatchedNotificationTransportRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**mode** | Option<[**models::NotificationTransportModeEnum**](NotificationTransportModeEnum.md)> | | [optional] +**webhook_url** | Option<**String**> | | [optional] +**webhook_mapping** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**send_once** | Option<**bool**> | Only send notification once, for example when sending a webhook into a chat channel. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedNotificationWebhookMappingRequest.md b/docs/PatchedNotificationWebhookMappingRequest.md new file mode 100644 index 0000000..d6d99fd --- /dev/null +++ b/docs/PatchedNotificationWebhookMappingRequest.md @@ -0,0 +1,12 @@ +# PatchedNotificationWebhookMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**expression** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedOAuth2ProviderRequest.md b/docs/PatchedOAuth2ProviderRequest.md new file mode 100644 index 0000000..4b1159c --- /dev/null +++ b/docs/PatchedOAuth2ProviderRequest.md @@ -0,0 +1,26 @@ +# PatchedOAuth2ProviderRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used for authentication when the associated application is accessed by an un-authenticated user. | [optional] +**authorization_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used when authorizing this provider. | [optional] +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**client_type** | Option<[**models::ClientTypeEnum**](ClientTypeEnum.md)> | Confidential clients are capable of maintaining the confidentiality of their credentials. Public clients are incapable | [optional] +**client_id** | Option<**String**> | | [optional] +**client_secret** | Option<**String**> | | [optional] +**access_code_validity** | Option<**String**> | Access codes not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). | [optional] +**access_token_validity** | Option<**String**> | Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). | [optional] +**refresh_token_validity** | Option<**String**> | Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). | [optional] +**include_claims_in_id_token** | Option<**bool**> | Include User claims from scopes in the id_token, for applications that don't access the userinfo endpoint. | [optional] +**signing_key** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Key used to sign the tokens. Only required when JWT Algorithm is set to RS256. | [optional] +**redirect_uris** | Option<**String**> | Enter each URI on a new line. | [optional] +**sub_mode** | Option<[**models::SubModeEnum**](SubModeEnum.md)> | Configure what data should be used as unique User Identifier. For most cases, the default should be fine. | [optional] +**issuer_mode** | Option<[**models::IssuerModeEnum**](IssuerModeEnum.md)> | Configure how the issuer field of the ID Token should be filled. | [optional] +**jwks_sources** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedOAuthSourcePropertyMappingRequest.md b/docs/PatchedOAuthSourcePropertyMappingRequest.md new file mode 100644 index 0000000..8b71d9b --- /dev/null +++ b/docs/PatchedOAuthSourcePropertyMappingRequest.md @@ -0,0 +1,13 @@ +# PatchedOAuthSourcePropertyMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | Option<**String**> | | [optional] +**expression** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedOAuthSourceRequest.md b/docs/PatchedOAuthSourceRequest.md new file mode 100644 index 0000000..33886b6 --- /dev/null +++ b/docs/PatchedOAuthSourceRequest.md @@ -0,0 +1,32 @@ +# PatchedOAuthSourceRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | Source's display Name. | [optional] +**slug** | Option<**String**> | Internal source name, used in URLs. | [optional] +**enabled** | Option<**bool**> | | [optional] +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when authenticating existing users. | [optional] +**enrollment_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when enrolling new users. | [optional] +**user_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**group_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**user_matching_mode** | Option<[**models::UserMatchingModeEnum**](UserMatchingModeEnum.md)> | How the source determines if an existing user should be authenticated or a new user enrolled. | [optional] +**user_path_template** | Option<**String**> | | [optional] +**group_matching_mode** | Option<[**models::GroupMatchingModeEnum**](GroupMatchingModeEnum.md)> | How the source determines if an existing group should be used or a new group created. | [optional] +**provider_type** | Option<[**models::ProviderTypeEnum**](ProviderTypeEnum.md)> | | [optional] +**request_token_url** | Option<**String**> | URL used to request the initial token. This URL is only required for OAuth 1. | [optional] +**authorization_url** | Option<**String**> | URL the user is redirect to to conest the flow. | [optional] +**access_token_url** | Option<**String**> | URL used by authentik to retrieve tokens. | [optional] +**profile_url** | Option<**String**> | URL used by authentik to get user information. | [optional] +**consumer_key** | Option<**String**> | | [optional] +**consumer_secret** | Option<**String**> | | [optional] +**additional_scopes** | Option<**String**> | | [optional] +**oidc_well_known_url** | Option<**String**> | | [optional] +**oidc_jwks_url** | Option<**String**> | | [optional] +**oidc_jwks** | Option<[**serde_json::Value**](.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedOutpostRequest.md b/docs/PatchedOutpostRequest.md new file mode 100644 index 0000000..3a4548d --- /dev/null +++ b/docs/PatchedOutpostRequest.md @@ -0,0 +1,16 @@ +# PatchedOutpostRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**r#type** | Option<[**models::OutpostTypeEnum**](OutpostTypeEnum.md)> | | [optional] +**providers** | Option<**Vec**> | | [optional] +**service_connection** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Select Service-Connection authentik should use to manage this outpost. Leave empty if authentik should not handle the deployment. | [optional] +**config** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | | [optional] +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedPasswordExpiryPolicyRequest.md b/docs/PatchedPasswordExpiryPolicyRequest.md new file mode 100644 index 0000000..ed39f11 --- /dev/null +++ b/docs/PatchedPasswordExpiryPolicyRequest.md @@ -0,0 +1,14 @@ +# PatchedPasswordExpiryPolicyRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**execution_logging** | Option<**bool**> | When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. | [optional] +**days** | Option<**i32**> | | [optional] +**deny_only** | Option<**bool**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedPasswordPolicyRequest.md b/docs/PatchedPasswordPolicyRequest.md new file mode 100644 index 0000000..09a5f43 --- /dev/null +++ b/docs/PatchedPasswordPolicyRequest.md @@ -0,0 +1,25 @@ +# PatchedPasswordPolicyRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**execution_logging** | Option<**bool**> | When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. | [optional] +**password_field** | Option<**String**> | Field key to check, field keys defined in Prompt stages are available. | [optional] +**amount_digits** | Option<**u32**> | | [optional] +**amount_uppercase** | Option<**u32**> | | [optional] +**amount_lowercase** | Option<**u32**> | | [optional] +**amount_symbols** | Option<**u32**> | | [optional] +**length_min** | Option<**u32**> | | [optional] +**symbol_charset** | Option<**String**> | | [optional] +**error_message** | Option<**String**> | | [optional] +**check_static_rules** | Option<**bool**> | | [optional] +**check_have_i_been_pwned** | Option<**bool**> | | [optional] +**check_zxcvbn** | Option<**bool**> | | [optional] +**hibp_allowed_count** | Option<**u32**> | How many times the password hash is allowed to be on haveibeenpwned | [optional] +**zxcvbn_score_threshold** | Option<**u32**> | If the zxcvbn score is equal or less than this value, the policy will fail. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedPasswordStageRequest.md b/docs/PatchedPasswordStageRequest.md new file mode 100644 index 0000000..0aa5ca9 --- /dev/null +++ b/docs/PatchedPasswordStageRequest.md @@ -0,0 +1,16 @@ +# PatchedPasswordStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**backends** | Option<[**Vec**](BackendsEnum.md)> | Selection of backends to test the password against. | [optional] +**configure_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. | [optional] +**failed_attempts_before_cancel** | Option<**i32**> | How many attempts a user has before the flow is canceled. To lock the user out, use a reputation policy and a user_write stage. | [optional] +**allow_show_password** | Option<**bool**> | When enabled, provides a 'show password' button with the password input field. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedPermissionAssignRequest.md b/docs/PatchedPermissionAssignRequest.md new file mode 100644 index 0000000..b019e98 --- /dev/null +++ b/docs/PatchedPermissionAssignRequest.md @@ -0,0 +1,13 @@ +# PatchedPermissionAssignRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permissions** | Option<**Vec**> | | [optional] +**model** | Option<[**models::ModelEnum**](ModelEnum.md)> | | [optional] +**object_pk** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedPlexSourcePropertyMappingRequest.md b/docs/PatchedPlexSourcePropertyMappingRequest.md new file mode 100644 index 0000000..f5fcdf0 --- /dev/null +++ b/docs/PatchedPlexSourcePropertyMappingRequest.md @@ -0,0 +1,13 @@ +# PatchedPlexSourcePropertyMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | Option<**String**> | | [optional] +**expression** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedPlexSourceRequest.md b/docs/PatchedPlexSourceRequest.md new file mode 100644 index 0000000..597268d --- /dev/null +++ b/docs/PatchedPlexSourceRequest.md @@ -0,0 +1,25 @@ +# PatchedPlexSourceRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | Source's display Name. | [optional] +**slug** | Option<**String**> | Internal source name, used in URLs. | [optional] +**enabled** | Option<**bool**> | | [optional] +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when authenticating existing users. | [optional] +**enrollment_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when enrolling new users. | [optional] +**user_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**group_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**user_matching_mode** | Option<[**models::UserMatchingModeEnum**](UserMatchingModeEnum.md)> | How the source determines if an existing user should be authenticated or a new user enrolled. | [optional] +**user_path_template** | Option<**String**> | | [optional] +**group_matching_mode** | Option<[**models::GroupMatchingModeEnum**](GroupMatchingModeEnum.md)> | How the source determines if an existing group should be used or a new group created. | [optional] +**client_id** | Option<**String**> | Client identifier used to talk to Plex. | [optional] +**allowed_servers** | Option<**Vec**> | Which servers a user has to be a member of to be granted access. Empty list allows every server. | [optional] +**allow_friends** | Option<**bool**> | Allow friends to authenticate, even if you don't share a server. | [optional] +**plex_token** | Option<**String**> | Plex token used to check friends | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedPolicyBindingRequest.md b/docs/PatchedPolicyBindingRequest.md new file mode 100644 index 0000000..9055f52 --- /dev/null +++ b/docs/PatchedPolicyBindingRequest.md @@ -0,0 +1,19 @@ +# PatchedPolicyBindingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**policy** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**group** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**user** | Option<**i32**> | | [optional] +**target** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**negate** | Option<**bool**> | Negates the outcome of the policy. Messages are unaffected. | [optional] +**enabled** | Option<**bool**> | | [optional] +**order** | Option<**i32**> | | [optional] +**timeout** | Option<**u32**> | Timeout after which Policy execution is terminated. | [optional] +**failure_result** | Option<**bool**> | Result if the Policy execution fails. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedPromptRequest.md b/docs/PatchedPromptRequest.md new file mode 100644 index 0000000..8b96ba8 --- /dev/null +++ b/docs/PatchedPromptRequest.md @@ -0,0 +1,22 @@ +# PatchedPromptRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**field_key** | Option<**String**> | Name of the form field, also used to store the value | [optional] +**label** | Option<**String**> | | [optional] +**r#type** | Option<[**models::PromptTypeEnum**](PromptTypeEnum.md)> | | [optional] +**required** | Option<**bool**> | | [optional] +**placeholder** | Option<**String**> | Optionally provide a short hint that describes the expected input value. When creating a fixed choice field, enable interpreting as expression and return a list to return multiple choices. | [optional] +**initial_value** | Option<**String**> | Optionally pre-fill the input with an initial value. When creating a fixed choice field, enable interpreting as expression and return a list to return multiple default choices. | [optional] +**order** | Option<**i32**> | | [optional] +**promptstage_set** | Option<[**Vec**](StageRequest.md)> | | [optional] +**sub_text** | Option<**String**> | | [optional] +**placeholder_expression** | Option<**bool**> | | [optional] +**initial_value_expression** | Option<**bool**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedPromptStageRequest.md b/docs/PatchedPromptStageRequest.md new file mode 100644 index 0000000..8663a5d --- /dev/null +++ b/docs/PatchedPromptStageRequest.md @@ -0,0 +1,14 @@ +# PatchedPromptStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**fields** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**validation_policies** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedProxyProviderRequest.md b/docs/PatchedProxyProviderRequest.md new file mode 100644 index 0000000..753ef01 --- /dev/null +++ b/docs/PatchedProxyProviderRequest.md @@ -0,0 +1,28 @@ +# PatchedProxyProviderRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used for authentication when the associated application is accessed by an un-authenticated user. | [optional] +**authorization_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used when authorizing this provider. | [optional] +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**internal_host** | Option<**String**> | | [optional] +**external_host** | Option<**String**> | | [optional] +**internal_host_ssl_validation** | Option<**bool**> | Validate SSL Certificates of upstream servers | [optional] +**certificate** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**skip_path_regex** | Option<**String**> | Regular expressions for which authentication is not required. Each new line is interpreted as a new Regular Expression. | [optional] +**basic_auth_enabled** | Option<**bool**> | Set a custom HTTP-Basic Authentication header based on values from authentik. | [optional] +**basic_auth_password_attribute** | Option<**String**> | User/Group Attribute used for the password part of the HTTP-Basic Header. | [optional] +**basic_auth_user_attribute** | Option<**String**> | User/Group Attribute used for the user part of the HTTP-Basic Header. If not set, the user's Email address is used. | [optional] +**mode** | Option<[**models::ProxyMode**](ProxyMode.md)> | Enable support for forwardAuth in traefik and nginx auth_request. Exclusive with internal_host. | [optional] +**intercept_header_auth** | Option<**bool**> | When enabled, this provider will intercept the authorization header and authenticate requests based on its value. | [optional] +**cookie_domain** | Option<**String**> | | [optional] +**jwks_sources** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**access_token_validity** | Option<**String**> | Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). | [optional] +**refresh_token_validity** | Option<**String**> | Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedRacPropertyMappingRequest.md b/docs/PatchedRacPropertyMappingRequest.md new file mode 100644 index 0000000..5797aa7 --- /dev/null +++ b/docs/PatchedRacPropertyMappingRequest.md @@ -0,0 +1,14 @@ +# PatchedRacPropertyMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | Option<**String**> | | [optional] +**expression** | Option<**String**> | | [optional] +**static_settings** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedRacProviderRequest.md b/docs/PatchedRacProviderRequest.md new file mode 100644 index 0000000..4efde7e --- /dev/null +++ b/docs/PatchedRacProviderRequest.md @@ -0,0 +1,17 @@ +# PatchedRacProviderRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used for authentication when the associated application is accessed by an un-authenticated user. | [optional] +**authorization_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used when authorizing this provider. | [optional] +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**settings** | Option<[**serde_json::Value**](.md)> | | [optional] +**connection_expiry** | Option<**String**> | Determines how long a session lasts. Default of 0 means that the sessions lasts until the browser is closed. (Format: hours=-1;minutes=-2;seconds=-3) | [optional] +**delete_token_on_disconnect** | Option<**bool**> | When set to true, connection tokens will be deleted upon disconnect. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedRadiusProviderPropertyMappingRequest.md b/docs/PatchedRadiusProviderPropertyMappingRequest.md new file mode 100644 index 0000000..8dfd283 --- /dev/null +++ b/docs/PatchedRadiusProviderPropertyMappingRequest.md @@ -0,0 +1,13 @@ +# PatchedRadiusProviderPropertyMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | Option<**String**> | | [optional] +**expression** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedRadiusProviderRequest.md b/docs/PatchedRadiusProviderRequest.md new file mode 100644 index 0000000..a0ed981 --- /dev/null +++ b/docs/PatchedRadiusProviderRequest.md @@ -0,0 +1,17 @@ +# PatchedRadiusProviderRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used for authentication when the associated application is accessed by an un-authenticated user. | [optional] +**authorization_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used when authorizing this provider. | [optional] +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**client_networks** | Option<**String**> | List of CIDRs (comma-separated) that clients can connect from. A more specific CIDR will match before a looser one. Clients connecting from a non-specified CIDR will be dropped. | [optional] +**shared_secret** | Option<**String**> | Shared secret between clients and server to hash packets. | [optional] +**mfa_support** | Option<**bool**> | When enabled, code-based multi-factor authentication can be used by appending a semicolon and the TOTP code to the password. This should only be enabled if all users that will bind to this provider have a TOTP device configured, as otherwise a password may incorrectly be rejected if it contains a semicolon. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedReputationPolicyRequest.md b/docs/PatchedReputationPolicyRequest.md new file mode 100644 index 0000000..26008fd --- /dev/null +++ b/docs/PatchedReputationPolicyRequest.md @@ -0,0 +1,15 @@ +# PatchedReputationPolicyRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**execution_logging** | Option<**bool**> | When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. | [optional] +**check_ip** | Option<**bool**> | | [optional] +**check_username** | Option<**bool**> | | [optional] +**threshold** | Option<**i32**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedRoleRequest.md b/docs/PatchedRoleRequest.md new file mode 100644 index 0000000..d08da43 --- /dev/null +++ b/docs/PatchedRoleRequest.md @@ -0,0 +1,11 @@ +# PatchedRoleRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedSamlPropertyMappingRequest.md b/docs/PatchedSamlPropertyMappingRequest.md new file mode 100644 index 0000000..2080002 --- /dev/null +++ b/docs/PatchedSamlPropertyMappingRequest.md @@ -0,0 +1,15 @@ +# PatchedSamlPropertyMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | Option<**String**> | | [optional] +**expression** | Option<**String**> | | [optional] +**saml_name** | Option<**String**> | | [optional] +**friendly_name** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedSamlProviderRequest.md b/docs/PatchedSamlProviderRequest.md new file mode 100644 index 0000000..de140fe --- /dev/null +++ b/docs/PatchedSamlProviderRequest.md @@ -0,0 +1,30 @@ +# PatchedSamlProviderRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used for authentication when the associated application is accessed by an un-authenticated user. | [optional] +**authorization_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used when authorizing this provider. | [optional] +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**acs_url** | Option<**String**> | | [optional] +**audience** | Option<**String**> | Value of the audience restriction field of the assertion. When left empty, no audience restriction will be added. | [optional] +**issuer** | Option<**String**> | Also known as EntityID | [optional] +**assertion_valid_not_before** | Option<**String**> | Assertion valid not before current time + this value (Format: hours=-1;minutes=-2;seconds=-3). | [optional] +**assertion_valid_not_on_or_after** | Option<**String**> | Assertion not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). | [optional] +**session_valid_not_on_or_after** | Option<**String**> | Session not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). | [optional] +**name_id_mapping** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Configure how the NameID value will be created. When left empty, the NameIDPolicy of the incoming request will be considered | [optional] +**digest_algorithm** | Option<[**models::DigestAlgorithmEnum**](DigestAlgorithmEnum.md)> | | [optional] +**signature_algorithm** | Option<[**models::SignatureAlgorithmEnum**](SignatureAlgorithmEnum.md)> | | [optional] +**signing_kp** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Keypair used to sign outgoing Responses going to the Service Provider. | [optional] +**verification_kp** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | When selected, incoming assertion's Signatures will be validated against this certificate. To allow unsigned Requests, leave on default. | [optional] +**encryption_kp** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. | [optional] +**sign_assertion** | Option<**bool**> | | [optional] +**sign_response** | Option<**bool**> | | [optional] +**sp_binding** | Option<[**models::SpBindingEnum**](SpBindingEnum.md)> | This determines how authentik sends the response back to the Service Provider. | [optional] +**default_relay_state** | Option<**String**> | Default relay_state value for IDP-initiated logins | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedSamlSourcePropertyMappingRequest.md b/docs/PatchedSamlSourcePropertyMappingRequest.md new file mode 100644 index 0000000..dfa16bc --- /dev/null +++ b/docs/PatchedSamlSourcePropertyMappingRequest.md @@ -0,0 +1,13 @@ +# PatchedSamlSourcePropertyMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | Option<**String**> | | [optional] +**expression** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedSamlSourceRequest.md b/docs/PatchedSamlSourceRequest.md new file mode 100644 index 0000000..355852e --- /dev/null +++ b/docs/PatchedSamlSourceRequest.md @@ -0,0 +1,34 @@ +# PatchedSamlSourceRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | Source's display Name. | [optional] +**slug** | Option<**String**> | Internal source name, used in URLs. | [optional] +**enabled** | Option<**bool**> | | [optional] +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when authenticating existing users. | [optional] +**enrollment_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when enrolling new users. | [optional] +**user_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**group_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**user_matching_mode** | Option<[**models::UserMatchingModeEnum**](UserMatchingModeEnum.md)> | How the source determines if an existing user should be authenticated or a new user enrolled. | [optional] +**user_path_template** | Option<**String**> | | [optional] +**group_matching_mode** | Option<[**models::GroupMatchingModeEnum**](GroupMatchingModeEnum.md)> | How the source determines if an existing group should be used or a new group created. | [optional] +**pre_authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used before authentication. | [optional] +**issuer** | Option<**String**> | Also known as Entity ID. Defaults the Metadata URL. | [optional] +**sso_url** | Option<**String**> | URL that the initial Login request is sent to. | [optional] +**slo_url** | Option<**String**> | Optional URL if your IDP supports Single-Logout. | [optional] +**allow_idp_initiated** | Option<**bool**> | Allows authentication flows initiated by the IdP. This can be a security risk, as no validation of the request ID is done. | [optional] +**name_id_policy** | Option<[**models::NameIdPolicyEnum**](NameIdPolicyEnum.md)> | NameID Policy sent to the IdP. Can be unset, in which case no Policy is sent. | [optional] +**binding_type** | Option<[**models::BindingTypeEnum**](BindingTypeEnum.md)> | | [optional] +**verification_kp** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | When selected, incoming assertion's Signatures will be validated against this certificate. To allow unsigned Requests, leave on default. | [optional] +**signing_kp** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Keypair used to sign outgoing Responses going to the Identity Provider. | [optional] +**digest_algorithm** | Option<[**models::DigestAlgorithmEnum**](DigestAlgorithmEnum.md)> | | [optional] +**signature_algorithm** | Option<[**models::SignatureAlgorithmEnum**](SignatureAlgorithmEnum.md)> | | [optional] +**temporary_user_delete_after** | Option<**String**> | Time offset when temporary users should be deleted. This only applies if your IDP uses the NameID Format 'transient', and the user doesn't log out manually. (Format: hours=1;minutes=2;seconds=3). | [optional] +**encryption_kp** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedScimMappingRequest.md b/docs/PatchedScimMappingRequest.md new file mode 100644 index 0000000..0bd163f --- /dev/null +++ b/docs/PatchedScimMappingRequest.md @@ -0,0 +1,13 @@ +# PatchedScimMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | Option<**String**> | | [optional] +**expression** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedScimProviderRequest.md b/docs/PatchedScimProviderRequest.md new file mode 100644 index 0000000..2566b01 --- /dev/null +++ b/docs/PatchedScimProviderRequest.md @@ -0,0 +1,17 @@ +# PatchedScimProviderRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**property_mappings_group** | Option<[**Vec**](uuid::Uuid.md)> | Property mappings used for group creation/updating. | [optional] +**url** | Option<**String**> | Base URL to SCIM requests, usually ends in /v2 | [optional] +**token** | Option<**String**> | Authentication token | [optional] +**exclude_users_service_account** | Option<**bool**> | | [optional] +**filter_group** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedScimSourceGroupRequest.md b/docs/PatchedScimSourceGroupRequest.md new file mode 100644 index 0000000..e47e468 --- /dev/null +++ b/docs/PatchedScimSourceGroupRequest.md @@ -0,0 +1,14 @@ +# PatchedScimSourceGroupRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | Option<**String**> | | [optional] +**group** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**source** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**attributes** | Option<[**serde_json::Value**](.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedScimSourcePropertyMappingRequest.md b/docs/PatchedScimSourcePropertyMappingRequest.md new file mode 100644 index 0000000..49ebbff --- /dev/null +++ b/docs/PatchedScimSourcePropertyMappingRequest.md @@ -0,0 +1,13 @@ +# PatchedScimSourcePropertyMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | Option<**String**> | | [optional] +**expression** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedScimSourceRequest.md b/docs/PatchedScimSourceRequest.md new file mode 100644 index 0000000..54ed71a --- /dev/null +++ b/docs/PatchedScimSourceRequest.md @@ -0,0 +1,16 @@ +# PatchedScimSourceRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | Source's display Name. | [optional] +**slug** | Option<**String**> | Internal source name, used in URLs. | [optional] +**enabled** | Option<**bool**> | | [optional] +**user_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**group_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**user_path_template** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedScimSourceUserRequest.md b/docs/PatchedScimSourceUserRequest.md new file mode 100644 index 0000000..750749a --- /dev/null +++ b/docs/PatchedScimSourceUserRequest.md @@ -0,0 +1,14 @@ +# PatchedScimSourceUserRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | Option<**String**> | | [optional] +**user** | Option<**i32**> | | [optional] +**source** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**attributes** | Option<[**serde_json::Value**](.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedScopeMappingRequest.md b/docs/PatchedScopeMappingRequest.md new file mode 100644 index 0000000..a1e34ae --- /dev/null +++ b/docs/PatchedScopeMappingRequest.md @@ -0,0 +1,15 @@ +# PatchedScopeMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | Option<**String**> | | [optional] +**expression** | Option<**String**> | | [optional] +**scope_name** | Option<**String**> | Scope name requested by the client | [optional] +**description** | Option<**String**> | Description shown to the user when consenting. If left empty, the user won't be informed. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedSettingsRequest.md b/docs/PatchedSettingsRequest.md new file mode 100644 index 0000000..bf13ad0 --- /dev/null +++ b/docs/PatchedSettingsRequest.md @@ -0,0 +1,20 @@ +# PatchedSettingsRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**avatars** | Option<**String**> | Configure how authentik should show avatars for users. | [optional] +**default_user_change_name** | Option<**bool**> | Enable the ability for users to change their name. | [optional] +**default_user_change_email** | Option<**bool**> | Enable the ability for users to change their email address. | [optional] +**default_user_change_username** | Option<**bool**> | Enable the ability for users to change their username. | [optional] +**event_retention** | Option<**String**> | Events will be deleted after this duration.(Format: weeks=3;days=2;hours=3,seconds=2). | [optional] +**footer_links** | Option<[**serde_json::Value**](.md)> | The option configures the footer links on the flow executor pages. | [optional] +**gdpr_compliance** | Option<**bool**> | When enabled, all the events caused by a user will be deleted upon the user's deletion. | [optional] +**impersonation** | Option<**bool**> | Globally enable/disable impersonation. | [optional] +**default_token_duration** | Option<**String**> | Default token duration | [optional] +**default_token_length** | Option<**u32**> | Default token length | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedSmsDeviceRequest.md b/docs/PatchedSmsDeviceRequest.md new file mode 100644 index 0000000..40886e3 --- /dev/null +++ b/docs/PatchedSmsDeviceRequest.md @@ -0,0 +1,11 @@ +# PatchedSmsDeviceRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | The human-readable name of this device. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedSourceStageRequest.md b/docs/PatchedSourceStageRequest.md new file mode 100644 index 0000000..1b64414 --- /dev/null +++ b/docs/PatchedSourceStageRequest.md @@ -0,0 +1,14 @@ +# PatchedSourceStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**source** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**resume_timeout** | Option<**String**> | Amount of time a user can take to return from the source to continue the flow (Format: hours=-1;minutes=-2;seconds=-3) | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedStaticDeviceRequest.md b/docs/PatchedStaticDeviceRequest.md new file mode 100644 index 0000000..4877ad3 --- /dev/null +++ b/docs/PatchedStaticDeviceRequest.md @@ -0,0 +1,11 @@ +# PatchedStaticDeviceRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | The human-readable name of this device. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedTenantRequest.md b/docs/PatchedTenantRequest.md new file mode 100644 index 0000000..7055915 --- /dev/null +++ b/docs/PatchedTenantRequest.md @@ -0,0 +1,13 @@ +# PatchedTenantRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**schema_name** | Option<**String**> | | [optional] +**name** | Option<**String**> | | [optional] +**ready** | Option<**bool**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedTokenRequest.md b/docs/PatchedTokenRequest.md new file mode 100644 index 0000000..313a21a --- /dev/null +++ b/docs/PatchedTokenRequest.md @@ -0,0 +1,17 @@ +# PatchedTokenRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**identifier** | Option<**String**> | | [optional] +**intent** | Option<[**models::IntentEnum**](IntentEnum.md)> | | [optional] +**user** | Option<**i32**> | | [optional] +**description** | Option<**String**> | | [optional] +**expires** | Option<**String**> | | [optional] +**expiring** | Option<**bool**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedTotpDeviceRequest.md b/docs/PatchedTotpDeviceRequest.md new file mode 100644 index 0000000..8becb7c --- /dev/null +++ b/docs/PatchedTotpDeviceRequest.md @@ -0,0 +1,11 @@ +# PatchedTotpDeviceRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | The human-readable name of this device. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedUserDeleteStageRequest.md b/docs/PatchedUserDeleteStageRequest.md new file mode 100644 index 0000000..14ed820 --- /dev/null +++ b/docs/PatchedUserDeleteStageRequest.md @@ -0,0 +1,12 @@ +# PatchedUserDeleteStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedUserLoginStageRequest.md b/docs/PatchedUserLoginStageRequest.md new file mode 100644 index 0000000..de43c99 --- /dev/null +++ b/docs/PatchedUserLoginStageRequest.md @@ -0,0 +1,17 @@ +# PatchedUserLoginStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**session_duration** | Option<**String**> | Determines how long a session lasts. Default of 0 means that the sessions lasts until the browser is closed. (Format: hours=-1;minutes=-2;seconds=-3) | [optional] +**terminate_other_sessions** | Option<**bool**> | Terminate all other sessions of the user logging in. | [optional] +**remember_me_offset** | Option<**String**> | Offset the session will be extended by when the user picks the remember me option. Default of 0 means that the remember me option will not be shown. (Format: hours=-1;minutes=-2;seconds=-3) | [optional] +**network_binding** | Option<[**models::NetworkBindingEnum**](NetworkBindingEnum.md)> | Bind sessions created by this stage to the configured network | [optional] +**geoip_binding** | Option<[**models::GeoipBindingEnum**](GeoipBindingEnum.md)> | Bind sessions created by this stage to the configured GeoIP location | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedUserLogoutStageRequest.md b/docs/PatchedUserLogoutStageRequest.md new file mode 100644 index 0000000..4b55a68 --- /dev/null +++ b/docs/PatchedUserLogoutStageRequest.md @@ -0,0 +1,12 @@ +# PatchedUserLogoutStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedUserOAuthSourceConnectionRequest.md b/docs/PatchedUserOAuthSourceConnectionRequest.md new file mode 100644 index 0000000..97cf06b --- /dev/null +++ b/docs/PatchedUserOAuthSourceConnectionRequest.md @@ -0,0 +1,12 @@ +# PatchedUserOAuthSourceConnectionRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**identifier** | Option<**String**> | | [optional] +**access_token** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedUserPlexSourceConnectionRequest.md b/docs/PatchedUserPlexSourceConnectionRequest.md new file mode 100644 index 0000000..cf3f6d6 --- /dev/null +++ b/docs/PatchedUserPlexSourceConnectionRequest.md @@ -0,0 +1,12 @@ +# PatchedUserPlexSourceConnectionRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**identifier** | Option<**String**> | | [optional] +**plex_token** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedUserRequest.md b/docs/PatchedUserRequest.md new file mode 100644 index 0000000..d29bae3 --- /dev/null +++ b/docs/PatchedUserRequest.md @@ -0,0 +1,19 @@ +# PatchedUserRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**username** | Option<**String**> | | [optional] +**name** | Option<**String**> | User's display name. | [optional] +**is_active** | Option<**bool**> | Designates whether this user should be treated as active. Unselect this instead of deleting accounts. | [optional] +**last_login** | Option<**String**> | | [optional] +**groups** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**email** | Option<**String**> | | [optional] +**attributes** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | | [optional] +**path** | Option<**String**> | | [optional] +**r#type** | Option<[**models::UserTypeEnum**](UserTypeEnum.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedUserSamlSourceConnectionRequest.md b/docs/PatchedUserSamlSourceConnectionRequest.md new file mode 100644 index 0000000..3ee3f56 --- /dev/null +++ b/docs/PatchedUserSamlSourceConnectionRequest.md @@ -0,0 +1,11 @@ +# PatchedUserSamlSourceConnectionRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**identifier** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedUserWriteStageRequest.md b/docs/PatchedUserWriteStageRequest.md new file mode 100644 index 0000000..a82186f --- /dev/null +++ b/docs/PatchedUserWriteStageRequest.md @@ -0,0 +1,17 @@ +# PatchedUserWriteStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**user_creation_mode** | Option<[**models::UserCreationModeEnum**](UserCreationModeEnum.md)> | | [optional] +**create_users_as_inactive** | Option<**bool**> | When set, newly created users are inactive and cannot login. | [optional] +**create_users_group** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Optionally add newly created users to this group. | [optional] +**user_type** | Option<[**models::UserTypeEnum**](UserTypeEnum.md)> | | [optional] +**user_path_template** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PatchedWebAuthnDeviceRequest.md b/docs/PatchedWebAuthnDeviceRequest.md new file mode 100644 index 0000000..406edd4 --- /dev/null +++ b/docs/PatchedWebAuthnDeviceRequest.md @@ -0,0 +1,11 @@ +# PatchedWebAuthnDeviceRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Permission.md b/docs/Permission.md new file mode 100644 index 0000000..bcc2019 --- /dev/null +++ b/docs/Permission.md @@ -0,0 +1,17 @@ +# Permission + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **i32** | | [readonly] +**name** | **String** | | +**codename** | **String** | | +**model** | **String** | | [readonly] +**app_label** | **String** | | [readonly] +**app_label_verbose** | **String** | Human-readable app label | [readonly] +**model_verbose** | **String** | Human-readable model name | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PermissionAssignRequest.md b/docs/PermissionAssignRequest.md new file mode 100644 index 0000000..5ee7f70 --- /dev/null +++ b/docs/PermissionAssignRequest.md @@ -0,0 +1,13 @@ +# PermissionAssignRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permissions** | **Vec** | | +**model** | Option<[**models::ModelEnum**](ModelEnum.md)> | | [optional] +**object_pk** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PermissionAssignResult.md b/docs/PermissionAssignResult.md new file mode 100644 index 0000000..8aa3d9f --- /dev/null +++ b/docs/PermissionAssignResult.md @@ -0,0 +1,11 @@ +# PermissionAssignResult + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PlexAuthenticationChallenge.md b/docs/PlexAuthenticationChallenge.md new file mode 100644 index 0000000..0b2112e --- /dev/null +++ b/docs/PlexAuthenticationChallenge.md @@ -0,0 +1,15 @@ +# PlexAuthenticationChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**flow_info** | Option<[**models::ContextualFlowInfo**](ContextualFlowInfo.md)> | | [optional] +**component** | Option<**String**> | | [optional][default to ak-source-plex] +**response_errors** | Option<[**std::collections::HashMap>**](Vec.md)> | | [optional] +**client_id** | **String** | | +**slug** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PlexAuthenticationChallengeResponseRequest.md b/docs/PlexAuthenticationChallengeResponseRequest.md new file mode 100644 index 0000000..0f5ebbe --- /dev/null +++ b/docs/PlexAuthenticationChallengeResponseRequest.md @@ -0,0 +1,11 @@ +# PlexAuthenticationChallengeResponseRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | Option<**String**> | | [optional][default to ak-source-plex] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PlexSource.md b/docs/PlexSource.md new file mode 100644 index 0000000..3d2a057 --- /dev/null +++ b/docs/PlexSource.md @@ -0,0 +1,32 @@ +# PlexSource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | Source's display Name. | +**slug** | **String** | Internal source name, used in URLs. | +**enabled** | Option<**bool**> | | [optional] +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when authenticating existing users. | [optional] +**enrollment_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when enrolling new users. | [optional] +**user_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**group_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**user_matching_mode** | Option<[**models::UserMatchingModeEnum**](UserMatchingModeEnum.md)> | How the source determines if an existing user should be authenticated or a new user enrolled. | [optional] +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [readonly] +**user_path_template** | Option<**String**> | | [optional] +**icon** | **String** | | [readonly] +**group_matching_mode** | Option<[**models::GroupMatchingModeEnum**](GroupMatchingModeEnum.md)> | How the source determines if an existing group should be used or a new group created. | [optional] +**client_id** | Option<**String**> | Client identifier used to talk to Plex. | [optional] +**allowed_servers** | Option<**Vec**> | Which servers a user has to be a member of to be granted access. Empty list allows every server. | [optional] +**allow_friends** | Option<**bool**> | Allow friends to authenticate, even if you don't share a server. | [optional] +**plex_token** | **String** | Plex token used to check friends | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PlexSourcePropertyMapping.md b/docs/PlexSourcePropertyMapping.md new file mode 100644 index 0000000..48a486a --- /dev/null +++ b/docs/PlexSourcePropertyMapping.md @@ -0,0 +1,18 @@ +# PlexSourcePropertyMapping + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | **String** | | +**component** | **String** | Get object's component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PlexSourcePropertyMappingRequest.md b/docs/PlexSourcePropertyMappingRequest.md new file mode 100644 index 0000000..ee03ed9 --- /dev/null +++ b/docs/PlexSourcePropertyMappingRequest.md @@ -0,0 +1,13 @@ +# PlexSourcePropertyMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PlexSourceRequest.md b/docs/PlexSourceRequest.md new file mode 100644 index 0000000..ca1307e --- /dev/null +++ b/docs/PlexSourceRequest.md @@ -0,0 +1,25 @@ +# PlexSourceRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | Source's display Name. | +**slug** | **String** | Internal source name, used in URLs. | +**enabled** | Option<**bool**> | | [optional] +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when authenticating existing users. | [optional] +**enrollment_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when enrolling new users. | [optional] +**user_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**group_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**user_matching_mode** | Option<[**models::UserMatchingModeEnum**](UserMatchingModeEnum.md)> | How the source determines if an existing user should be authenticated or a new user enrolled. | [optional] +**user_path_template** | Option<**String**> | | [optional] +**group_matching_mode** | Option<[**models::GroupMatchingModeEnum**](GroupMatchingModeEnum.md)> | How the source determines if an existing group should be used or a new group created. | [optional] +**client_id** | Option<**String**> | Client identifier used to talk to Plex. | [optional] +**allowed_servers** | Option<**Vec**> | Which servers a user has to be a member of to be granted access. Empty list allows every server. | [optional] +**allow_friends** | Option<**bool**> | Allow friends to authenticate, even if you don't share a server. | [optional] +**plex_token** | **String** | Plex token used to check friends | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PlexTokenRedeemRequest.md b/docs/PlexTokenRedeemRequest.md new file mode 100644 index 0000000..61c3288 --- /dev/null +++ b/docs/PlexTokenRedeemRequest.md @@ -0,0 +1,11 @@ +# PlexTokenRedeemRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**plex_token** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PoliciesApi.md b/docs/PoliciesApi.md new file mode 100644 index 0000000..df7e12f --- /dev/null +++ b/docs/PoliciesApi.md @@ -0,0 +1,2252 @@ +# \PoliciesApi + +All URIs are relative to *http://localhost/api/v3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**policies_all_cache_clear_create**](PoliciesApi.md#policies_all_cache_clear_create) | **POST** /policies/all/cache_clear/ | +[**policies_all_cache_info_retrieve**](PoliciesApi.md#policies_all_cache_info_retrieve) | **GET** /policies/all/cache_info/ | +[**policies_all_destroy**](PoliciesApi.md#policies_all_destroy) | **DELETE** /policies/all/{policy_uuid}/ | +[**policies_all_list**](PoliciesApi.md#policies_all_list) | **GET** /policies/all/ | +[**policies_all_retrieve**](PoliciesApi.md#policies_all_retrieve) | **GET** /policies/all/{policy_uuid}/ | +[**policies_all_test_create**](PoliciesApi.md#policies_all_test_create) | **POST** /policies/all/{policy_uuid}/test/ | +[**policies_all_types_list**](PoliciesApi.md#policies_all_types_list) | **GET** /policies/all/types/ | +[**policies_all_used_by_list**](PoliciesApi.md#policies_all_used_by_list) | **GET** /policies/all/{policy_uuid}/used_by/ | +[**policies_bindings_create**](PoliciesApi.md#policies_bindings_create) | **POST** /policies/bindings/ | +[**policies_bindings_destroy**](PoliciesApi.md#policies_bindings_destroy) | **DELETE** /policies/bindings/{policy_binding_uuid}/ | +[**policies_bindings_list**](PoliciesApi.md#policies_bindings_list) | **GET** /policies/bindings/ | +[**policies_bindings_partial_update**](PoliciesApi.md#policies_bindings_partial_update) | **PATCH** /policies/bindings/{policy_binding_uuid}/ | +[**policies_bindings_retrieve**](PoliciesApi.md#policies_bindings_retrieve) | **GET** /policies/bindings/{policy_binding_uuid}/ | +[**policies_bindings_update**](PoliciesApi.md#policies_bindings_update) | **PUT** /policies/bindings/{policy_binding_uuid}/ | +[**policies_bindings_used_by_list**](PoliciesApi.md#policies_bindings_used_by_list) | **GET** /policies/bindings/{policy_binding_uuid}/used_by/ | +[**policies_dummy_create**](PoliciesApi.md#policies_dummy_create) | **POST** /policies/dummy/ | +[**policies_dummy_destroy**](PoliciesApi.md#policies_dummy_destroy) | **DELETE** /policies/dummy/{policy_uuid}/ | +[**policies_dummy_list**](PoliciesApi.md#policies_dummy_list) | **GET** /policies/dummy/ | +[**policies_dummy_partial_update**](PoliciesApi.md#policies_dummy_partial_update) | **PATCH** /policies/dummy/{policy_uuid}/ | +[**policies_dummy_retrieve**](PoliciesApi.md#policies_dummy_retrieve) | **GET** /policies/dummy/{policy_uuid}/ | +[**policies_dummy_update**](PoliciesApi.md#policies_dummy_update) | **PUT** /policies/dummy/{policy_uuid}/ | +[**policies_dummy_used_by_list**](PoliciesApi.md#policies_dummy_used_by_list) | **GET** /policies/dummy/{policy_uuid}/used_by/ | +[**policies_event_matcher_create**](PoliciesApi.md#policies_event_matcher_create) | **POST** /policies/event_matcher/ | +[**policies_event_matcher_destroy**](PoliciesApi.md#policies_event_matcher_destroy) | **DELETE** /policies/event_matcher/{policy_uuid}/ | +[**policies_event_matcher_list**](PoliciesApi.md#policies_event_matcher_list) | **GET** /policies/event_matcher/ | +[**policies_event_matcher_partial_update**](PoliciesApi.md#policies_event_matcher_partial_update) | **PATCH** /policies/event_matcher/{policy_uuid}/ | +[**policies_event_matcher_retrieve**](PoliciesApi.md#policies_event_matcher_retrieve) | **GET** /policies/event_matcher/{policy_uuid}/ | +[**policies_event_matcher_update**](PoliciesApi.md#policies_event_matcher_update) | **PUT** /policies/event_matcher/{policy_uuid}/ | +[**policies_event_matcher_used_by_list**](PoliciesApi.md#policies_event_matcher_used_by_list) | **GET** /policies/event_matcher/{policy_uuid}/used_by/ | +[**policies_expression_create**](PoliciesApi.md#policies_expression_create) | **POST** /policies/expression/ | +[**policies_expression_destroy**](PoliciesApi.md#policies_expression_destroy) | **DELETE** /policies/expression/{policy_uuid}/ | +[**policies_expression_list**](PoliciesApi.md#policies_expression_list) | **GET** /policies/expression/ | +[**policies_expression_partial_update**](PoliciesApi.md#policies_expression_partial_update) | **PATCH** /policies/expression/{policy_uuid}/ | +[**policies_expression_retrieve**](PoliciesApi.md#policies_expression_retrieve) | **GET** /policies/expression/{policy_uuid}/ | +[**policies_expression_update**](PoliciesApi.md#policies_expression_update) | **PUT** /policies/expression/{policy_uuid}/ | +[**policies_expression_used_by_list**](PoliciesApi.md#policies_expression_used_by_list) | **GET** /policies/expression/{policy_uuid}/used_by/ | +[**policies_geoip_create**](PoliciesApi.md#policies_geoip_create) | **POST** /policies/geoip/ | +[**policies_geoip_destroy**](PoliciesApi.md#policies_geoip_destroy) | **DELETE** /policies/geoip/{policy_uuid}/ | +[**policies_geoip_iso3166_list**](PoliciesApi.md#policies_geoip_iso3166_list) | **GET** /policies/geoip_iso3166/ | +[**policies_geoip_list**](PoliciesApi.md#policies_geoip_list) | **GET** /policies/geoip/ | +[**policies_geoip_partial_update**](PoliciesApi.md#policies_geoip_partial_update) | **PATCH** /policies/geoip/{policy_uuid}/ | +[**policies_geoip_retrieve**](PoliciesApi.md#policies_geoip_retrieve) | **GET** /policies/geoip/{policy_uuid}/ | +[**policies_geoip_update**](PoliciesApi.md#policies_geoip_update) | **PUT** /policies/geoip/{policy_uuid}/ | +[**policies_geoip_used_by_list**](PoliciesApi.md#policies_geoip_used_by_list) | **GET** /policies/geoip/{policy_uuid}/used_by/ | +[**policies_password_create**](PoliciesApi.md#policies_password_create) | **POST** /policies/password/ | +[**policies_password_destroy**](PoliciesApi.md#policies_password_destroy) | **DELETE** /policies/password/{policy_uuid}/ | +[**policies_password_expiry_create**](PoliciesApi.md#policies_password_expiry_create) | **POST** /policies/password_expiry/ | +[**policies_password_expiry_destroy**](PoliciesApi.md#policies_password_expiry_destroy) | **DELETE** /policies/password_expiry/{policy_uuid}/ | +[**policies_password_expiry_list**](PoliciesApi.md#policies_password_expiry_list) | **GET** /policies/password_expiry/ | +[**policies_password_expiry_partial_update**](PoliciesApi.md#policies_password_expiry_partial_update) | **PATCH** /policies/password_expiry/{policy_uuid}/ | +[**policies_password_expiry_retrieve**](PoliciesApi.md#policies_password_expiry_retrieve) | **GET** /policies/password_expiry/{policy_uuid}/ | +[**policies_password_expiry_update**](PoliciesApi.md#policies_password_expiry_update) | **PUT** /policies/password_expiry/{policy_uuid}/ | +[**policies_password_expiry_used_by_list**](PoliciesApi.md#policies_password_expiry_used_by_list) | **GET** /policies/password_expiry/{policy_uuid}/used_by/ | +[**policies_password_list**](PoliciesApi.md#policies_password_list) | **GET** /policies/password/ | +[**policies_password_partial_update**](PoliciesApi.md#policies_password_partial_update) | **PATCH** /policies/password/{policy_uuid}/ | +[**policies_password_retrieve**](PoliciesApi.md#policies_password_retrieve) | **GET** /policies/password/{policy_uuid}/ | +[**policies_password_update**](PoliciesApi.md#policies_password_update) | **PUT** /policies/password/{policy_uuid}/ | +[**policies_password_used_by_list**](PoliciesApi.md#policies_password_used_by_list) | **GET** /policies/password/{policy_uuid}/used_by/ | +[**policies_reputation_create**](PoliciesApi.md#policies_reputation_create) | **POST** /policies/reputation/ | +[**policies_reputation_destroy**](PoliciesApi.md#policies_reputation_destroy) | **DELETE** /policies/reputation/{policy_uuid}/ | +[**policies_reputation_list**](PoliciesApi.md#policies_reputation_list) | **GET** /policies/reputation/ | +[**policies_reputation_partial_update**](PoliciesApi.md#policies_reputation_partial_update) | **PATCH** /policies/reputation/{policy_uuid}/ | +[**policies_reputation_retrieve**](PoliciesApi.md#policies_reputation_retrieve) | **GET** /policies/reputation/{policy_uuid}/ | +[**policies_reputation_scores_destroy**](PoliciesApi.md#policies_reputation_scores_destroy) | **DELETE** /policies/reputation/scores/{reputation_uuid}/ | +[**policies_reputation_scores_list**](PoliciesApi.md#policies_reputation_scores_list) | **GET** /policies/reputation/scores/ | +[**policies_reputation_scores_retrieve**](PoliciesApi.md#policies_reputation_scores_retrieve) | **GET** /policies/reputation/scores/{reputation_uuid}/ | +[**policies_reputation_scores_used_by_list**](PoliciesApi.md#policies_reputation_scores_used_by_list) | **GET** /policies/reputation/scores/{reputation_uuid}/used_by/ | +[**policies_reputation_update**](PoliciesApi.md#policies_reputation_update) | **PUT** /policies/reputation/{policy_uuid}/ | +[**policies_reputation_used_by_list**](PoliciesApi.md#policies_reputation_used_by_list) | **GET** /policies/reputation/{policy_uuid}/used_by/ | + + + +## policies_all_cache_clear_create + +> policies_all_cache_clear_create() + + +Clear policy cache + +### Parameters + +This endpoint does not need any parameter. + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_all_cache_info_retrieve + +> models::Cache policies_all_cache_info_retrieve() + + +Info about cached policies + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**models::Cache**](Cache.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_all_destroy + +> policies_all_destroy(policy_uuid) + + +Policy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Policy. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_all_list + +> models::PaginatedPolicyList policies_all_list(bindings__isnull, ordering, page, page_size, promptstage__isnull, search) + + +Policy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**bindings__isnull** | Option<**bool**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**promptstage__isnull** | Option<**bool**> | | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedPolicyList**](PaginatedPolicyList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_all_retrieve + +> models::Policy policies_all_retrieve(policy_uuid) + + +Policy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Policy. | [required] | + +### Return type + +[**models::Policy**](Policy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_all_test_create + +> models::PolicyTestResult policies_all_test_create(policy_uuid, policy_test_request) + + +Test policy + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Policy. | [required] | +**policy_test_request** | [**PolicyTestRequest**](PolicyTestRequest.md) | | [required] | + +### Return type + +[**models::PolicyTestResult**](PolicyTestResult.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_all_types_list + +> Vec policies_all_types_list() + + +Get all creatable types + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**Vec**](TypeCreate.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_all_used_by_list + +> Vec policies_all_used_by_list(policy_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Policy. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_bindings_create + +> models::PolicyBinding policies_bindings_create(policy_binding_request) + + +PolicyBinding Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_binding_request** | [**PolicyBindingRequest**](PolicyBindingRequest.md) | | [required] | + +### Return type + +[**models::PolicyBinding**](PolicyBinding.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_bindings_destroy + +> policies_bindings_destroy(policy_binding_uuid) + + +PolicyBinding Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_binding_uuid** | **uuid::Uuid** | A UUID string identifying this Policy Binding. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_bindings_list + +> models::PaginatedPolicyBindingList policies_bindings_list(enabled, order, ordering, page, page_size, policy, policy__isnull, search, target, target_in, timeout) + + +PolicyBinding Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**enabled** | Option<**bool**> | | | +**order** | Option<**i32**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**policy** | Option<**uuid::Uuid**> | | | +**policy__isnull** | Option<**bool**> | | | +**search** | Option<**String**> | A search term. | | +**target** | Option<**uuid::Uuid**> | | | +**target_in** | Option<[**Vec**](uuid::Uuid.md)> | | | +**timeout** | Option<**i32**> | | | + +### Return type + +[**models::PaginatedPolicyBindingList**](PaginatedPolicyBindingList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_bindings_partial_update + +> models::PolicyBinding policies_bindings_partial_update(policy_binding_uuid, patched_policy_binding_request) + + +PolicyBinding Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_binding_uuid** | **uuid::Uuid** | A UUID string identifying this Policy Binding. | [required] | +**patched_policy_binding_request** | Option<[**PatchedPolicyBindingRequest**](PatchedPolicyBindingRequest.md)> | | | + +### Return type + +[**models::PolicyBinding**](PolicyBinding.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_bindings_retrieve + +> models::PolicyBinding policies_bindings_retrieve(policy_binding_uuid) + + +PolicyBinding Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_binding_uuid** | **uuid::Uuid** | A UUID string identifying this Policy Binding. | [required] | + +### Return type + +[**models::PolicyBinding**](PolicyBinding.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_bindings_update + +> models::PolicyBinding policies_bindings_update(policy_binding_uuid, policy_binding_request) + + +PolicyBinding Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_binding_uuid** | **uuid::Uuid** | A UUID string identifying this Policy Binding. | [required] | +**policy_binding_request** | [**PolicyBindingRequest**](PolicyBindingRequest.md) | | [required] | + +### Return type + +[**models::PolicyBinding**](PolicyBinding.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_bindings_used_by_list + +> Vec policies_bindings_used_by_list(policy_binding_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_binding_uuid** | **uuid::Uuid** | A UUID string identifying this Policy Binding. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_dummy_create + +> models::DummyPolicy policies_dummy_create(dummy_policy_request) + + +Dummy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**dummy_policy_request** | [**DummyPolicyRequest**](DummyPolicyRequest.md) | | [required] | + +### Return type + +[**models::DummyPolicy**](DummyPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_dummy_destroy + +> policies_dummy_destroy(policy_uuid) + + +Dummy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Dummy Policy. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_dummy_list + +> models::PaginatedDummyPolicyList policies_dummy_list(created, execution_logging, last_updated, name, ordering, page, page_size, policy_uuid, result, search, wait_max, wait_min) + + +Dummy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**created** | Option<**String**> | | | +**execution_logging** | Option<**bool**> | | | +**last_updated** | Option<**String**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**policy_uuid** | Option<**uuid::Uuid**> | | | +**result** | Option<**bool**> | | | +**search** | Option<**String**> | A search term. | | +**wait_max** | Option<**i32**> | | | +**wait_min** | Option<**i32**> | | | + +### Return type + +[**models::PaginatedDummyPolicyList**](PaginatedDummyPolicyList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_dummy_partial_update + +> models::DummyPolicy policies_dummy_partial_update(policy_uuid, patched_dummy_policy_request) + + +Dummy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Dummy Policy. | [required] | +**patched_dummy_policy_request** | Option<[**PatchedDummyPolicyRequest**](PatchedDummyPolicyRequest.md)> | | | + +### Return type + +[**models::DummyPolicy**](DummyPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_dummy_retrieve + +> models::DummyPolicy policies_dummy_retrieve(policy_uuid) + + +Dummy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Dummy Policy. | [required] | + +### Return type + +[**models::DummyPolicy**](DummyPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_dummy_update + +> models::DummyPolicy policies_dummy_update(policy_uuid, dummy_policy_request) + + +Dummy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Dummy Policy. | [required] | +**dummy_policy_request** | [**DummyPolicyRequest**](DummyPolicyRequest.md) | | [required] | + +### Return type + +[**models::DummyPolicy**](DummyPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_dummy_used_by_list + +> Vec policies_dummy_used_by_list(policy_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Dummy Policy. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_event_matcher_create + +> models::EventMatcherPolicy policies_event_matcher_create(event_matcher_policy_request) + + +Event Matcher Policy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**event_matcher_policy_request** | [**EventMatcherPolicyRequest**](EventMatcherPolicyRequest.md) | | [required] | + +### Return type + +[**models::EventMatcherPolicy**](EventMatcherPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_event_matcher_destroy + +> policies_event_matcher_destroy(policy_uuid) + + +Event Matcher Policy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Event Matcher Policy. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_event_matcher_list + +> models::PaginatedEventMatcherPolicyList policies_event_matcher_list(action, app, client_ip, created, execution_logging, last_updated, model, name, ordering, page, page_size, policy_uuid, search) + + +Event Matcher Policy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**action** | Option<**String**> | Match created events with this action type. When left empty, all action types will be matched. | | +**app** | Option<**String**> | | | +**client_ip** | Option<**String**> | | | +**created** | Option<**String**> | | | +**execution_logging** | Option<**bool**> | | | +**last_updated** | Option<**String**> | | | +**model** | Option<**String**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**policy_uuid** | Option<**uuid::Uuid**> | | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedEventMatcherPolicyList**](PaginatedEventMatcherPolicyList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_event_matcher_partial_update + +> models::EventMatcherPolicy policies_event_matcher_partial_update(policy_uuid, patched_event_matcher_policy_request) + + +Event Matcher Policy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Event Matcher Policy. | [required] | +**patched_event_matcher_policy_request** | Option<[**PatchedEventMatcherPolicyRequest**](PatchedEventMatcherPolicyRequest.md)> | | | + +### Return type + +[**models::EventMatcherPolicy**](EventMatcherPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_event_matcher_retrieve + +> models::EventMatcherPolicy policies_event_matcher_retrieve(policy_uuid) + + +Event Matcher Policy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Event Matcher Policy. | [required] | + +### Return type + +[**models::EventMatcherPolicy**](EventMatcherPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_event_matcher_update + +> models::EventMatcherPolicy policies_event_matcher_update(policy_uuid, event_matcher_policy_request) + + +Event Matcher Policy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Event Matcher Policy. | [required] | +**event_matcher_policy_request** | [**EventMatcherPolicyRequest**](EventMatcherPolicyRequest.md) | | [required] | + +### Return type + +[**models::EventMatcherPolicy**](EventMatcherPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_event_matcher_used_by_list + +> Vec policies_event_matcher_used_by_list(policy_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Event Matcher Policy. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_expression_create + +> models::ExpressionPolicy policies_expression_create(expression_policy_request) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**expression_policy_request** | [**ExpressionPolicyRequest**](ExpressionPolicyRequest.md) | | [required] | + +### Return type + +[**models::ExpressionPolicy**](ExpressionPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_expression_destroy + +> policies_expression_destroy(policy_uuid) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Expression Policy. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_expression_list + +> models::PaginatedExpressionPolicyList policies_expression_list(created, execution_logging, expression, last_updated, name, ordering, page, page_size, policy_uuid, search) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**created** | Option<**String**> | | | +**execution_logging** | Option<**bool**> | | | +**expression** | Option<**String**> | | | +**last_updated** | Option<**String**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**policy_uuid** | Option<**uuid::Uuid**> | | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedExpressionPolicyList**](PaginatedExpressionPolicyList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_expression_partial_update + +> models::ExpressionPolicy policies_expression_partial_update(policy_uuid, patched_expression_policy_request) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Expression Policy. | [required] | +**patched_expression_policy_request** | Option<[**PatchedExpressionPolicyRequest**](PatchedExpressionPolicyRequest.md)> | | | + +### Return type + +[**models::ExpressionPolicy**](ExpressionPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_expression_retrieve + +> models::ExpressionPolicy policies_expression_retrieve(policy_uuid) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Expression Policy. | [required] | + +### Return type + +[**models::ExpressionPolicy**](ExpressionPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_expression_update + +> models::ExpressionPolicy policies_expression_update(policy_uuid, expression_policy_request) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Expression Policy. | [required] | +**expression_policy_request** | [**ExpressionPolicyRequest**](ExpressionPolicyRequest.md) | | [required] | + +### Return type + +[**models::ExpressionPolicy**](ExpressionPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_expression_used_by_list + +> Vec policies_expression_used_by_list(policy_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Expression Policy. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_geoip_create + +> models::GeoIpPolicy policies_geoip_create(geo_ip_policy_request) + + +GeoIP Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**geo_ip_policy_request** | [**GeoIpPolicyRequest**](GeoIpPolicyRequest.md) | | [required] | + +### Return type + +[**models::GeoIpPolicy**](GeoIPPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_geoip_destroy + +> policies_geoip_destroy(policy_uuid) + + +GeoIP Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this GeoIP Policy. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_geoip_iso3166_list + +> Vec policies_geoip_iso3166_list() + + +Get all countries in ISO-3166-1 + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**Vec**](DetailedCountry.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_geoip_list + +> models::PaginatedGeoIpPolicyList policies_geoip_list(name, ordering, page, page_size, search) + + +GeoIP Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedGeoIpPolicyList**](PaginatedGeoIPPolicyList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_geoip_partial_update + +> models::GeoIpPolicy policies_geoip_partial_update(policy_uuid, patched_geo_ip_policy_request) + + +GeoIP Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this GeoIP Policy. | [required] | +**patched_geo_ip_policy_request** | Option<[**PatchedGeoIpPolicyRequest**](PatchedGeoIpPolicyRequest.md)> | | | + +### Return type + +[**models::GeoIpPolicy**](GeoIPPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_geoip_retrieve + +> models::GeoIpPolicy policies_geoip_retrieve(policy_uuid) + + +GeoIP Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this GeoIP Policy. | [required] | + +### Return type + +[**models::GeoIpPolicy**](GeoIPPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_geoip_update + +> models::GeoIpPolicy policies_geoip_update(policy_uuid, geo_ip_policy_request) + + +GeoIP Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this GeoIP Policy. | [required] | +**geo_ip_policy_request** | [**GeoIpPolicyRequest**](GeoIpPolicyRequest.md) | | [required] | + +### Return type + +[**models::GeoIpPolicy**](GeoIPPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_geoip_used_by_list + +> Vec policies_geoip_used_by_list(policy_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this GeoIP Policy. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_password_create + +> models::PasswordPolicy policies_password_create(password_policy_request) + + +Password Policy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**password_policy_request** | [**PasswordPolicyRequest**](PasswordPolicyRequest.md) | | [required] | + +### Return type + +[**models::PasswordPolicy**](PasswordPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_password_destroy + +> policies_password_destroy(policy_uuid) + + +Password Policy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Password Policy. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_password_expiry_create + +> models::PasswordExpiryPolicy policies_password_expiry_create(password_expiry_policy_request) + + +Password Expiry Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**password_expiry_policy_request** | [**PasswordExpiryPolicyRequest**](PasswordExpiryPolicyRequest.md) | | [required] | + +### Return type + +[**models::PasswordExpiryPolicy**](PasswordExpiryPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_password_expiry_destroy + +> policies_password_expiry_destroy(policy_uuid) + + +Password Expiry Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Password Expiry Policy. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_password_expiry_list + +> models::PaginatedPasswordExpiryPolicyList policies_password_expiry_list(created, days, deny_only, execution_logging, last_updated, name, ordering, page, page_size, policy_uuid, search) + + +Password Expiry Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**created** | Option<**String**> | | | +**days** | Option<**i32**> | | | +**deny_only** | Option<**bool**> | | | +**execution_logging** | Option<**bool**> | | | +**last_updated** | Option<**String**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**policy_uuid** | Option<**uuid::Uuid**> | | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedPasswordExpiryPolicyList**](PaginatedPasswordExpiryPolicyList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_password_expiry_partial_update + +> models::PasswordExpiryPolicy policies_password_expiry_partial_update(policy_uuid, patched_password_expiry_policy_request) + + +Password Expiry Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Password Expiry Policy. | [required] | +**patched_password_expiry_policy_request** | Option<[**PatchedPasswordExpiryPolicyRequest**](PatchedPasswordExpiryPolicyRequest.md)> | | | + +### Return type + +[**models::PasswordExpiryPolicy**](PasswordExpiryPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_password_expiry_retrieve + +> models::PasswordExpiryPolicy policies_password_expiry_retrieve(policy_uuid) + + +Password Expiry Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Password Expiry Policy. | [required] | + +### Return type + +[**models::PasswordExpiryPolicy**](PasswordExpiryPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_password_expiry_update + +> models::PasswordExpiryPolicy policies_password_expiry_update(policy_uuid, password_expiry_policy_request) + + +Password Expiry Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Password Expiry Policy. | [required] | +**password_expiry_policy_request** | [**PasswordExpiryPolicyRequest**](PasswordExpiryPolicyRequest.md) | | [required] | + +### Return type + +[**models::PasswordExpiryPolicy**](PasswordExpiryPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_password_expiry_used_by_list + +> Vec policies_password_expiry_used_by_list(policy_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Password Expiry Policy. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_password_list + +> models::PaginatedPasswordPolicyList policies_password_list(amount_digits, amount_lowercase, amount_symbols, amount_uppercase, check_have_i_been_pwned, check_static_rules, check_zxcvbn, created, error_message, execution_logging, hibp_allowed_count, last_updated, length_min, name, ordering, page, page_size, password_field, policy_uuid, search, symbol_charset, zxcvbn_score_threshold) + + +Password Policy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**amount_digits** | Option<**i32**> | | | +**amount_lowercase** | Option<**i32**> | | | +**amount_symbols** | Option<**i32**> | | | +**amount_uppercase** | Option<**i32**> | | | +**check_have_i_been_pwned** | Option<**bool**> | | | +**check_static_rules** | Option<**bool**> | | | +**check_zxcvbn** | Option<**bool**> | | | +**created** | Option<**String**> | | | +**error_message** | Option<**String**> | | | +**execution_logging** | Option<**bool**> | | | +**hibp_allowed_count** | Option<**i32**> | | | +**last_updated** | Option<**String**> | | | +**length_min** | Option<**i32**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**password_field** | Option<**String**> | | | +**policy_uuid** | Option<**uuid::Uuid**> | | | +**search** | Option<**String**> | A search term. | | +**symbol_charset** | Option<**String**> | | | +**zxcvbn_score_threshold** | Option<**i32**> | | | + +### Return type + +[**models::PaginatedPasswordPolicyList**](PaginatedPasswordPolicyList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_password_partial_update + +> models::PasswordPolicy policies_password_partial_update(policy_uuid, patched_password_policy_request) + + +Password Policy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Password Policy. | [required] | +**patched_password_policy_request** | Option<[**PatchedPasswordPolicyRequest**](PatchedPasswordPolicyRequest.md)> | | | + +### Return type + +[**models::PasswordPolicy**](PasswordPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_password_retrieve + +> models::PasswordPolicy policies_password_retrieve(policy_uuid) + + +Password Policy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Password Policy. | [required] | + +### Return type + +[**models::PasswordPolicy**](PasswordPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_password_update + +> models::PasswordPolicy policies_password_update(policy_uuid, password_policy_request) + + +Password Policy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Password Policy. | [required] | +**password_policy_request** | [**PasswordPolicyRequest**](PasswordPolicyRequest.md) | | [required] | + +### Return type + +[**models::PasswordPolicy**](PasswordPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_password_used_by_list + +> Vec policies_password_used_by_list(policy_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Password Policy. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_reputation_create + +> models::ReputationPolicy policies_reputation_create(reputation_policy_request) + + +Reputation Policy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**reputation_policy_request** | [**ReputationPolicyRequest**](ReputationPolicyRequest.md) | | [required] | + +### Return type + +[**models::ReputationPolicy**](ReputationPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_reputation_destroy + +> policies_reputation_destroy(policy_uuid) + + +Reputation Policy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Reputation Policy. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_reputation_list + +> models::PaginatedReputationPolicyList policies_reputation_list(check_ip, check_username, created, execution_logging, last_updated, name, ordering, page, page_size, policy_uuid, search, threshold) + + +Reputation Policy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**check_ip** | Option<**bool**> | | | +**check_username** | Option<**bool**> | | | +**created** | Option<**String**> | | | +**execution_logging** | Option<**bool**> | | | +**last_updated** | Option<**String**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**policy_uuid** | Option<**uuid::Uuid**> | | | +**search** | Option<**String**> | A search term. | | +**threshold** | Option<**i32**> | | | + +### Return type + +[**models::PaginatedReputationPolicyList**](PaginatedReputationPolicyList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_reputation_partial_update + +> models::ReputationPolicy policies_reputation_partial_update(policy_uuid, patched_reputation_policy_request) + + +Reputation Policy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Reputation Policy. | [required] | +**patched_reputation_policy_request** | Option<[**PatchedReputationPolicyRequest**](PatchedReputationPolicyRequest.md)> | | | + +### Return type + +[**models::ReputationPolicy**](ReputationPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_reputation_retrieve + +> models::ReputationPolicy policies_reputation_retrieve(policy_uuid) + + +Reputation Policy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Reputation Policy. | [required] | + +### Return type + +[**models::ReputationPolicy**](ReputationPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_reputation_scores_destroy + +> policies_reputation_scores_destroy(reputation_uuid) + + +Reputation Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**reputation_uuid** | **uuid::Uuid** | A UUID string identifying this Reputation Score. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_reputation_scores_list + +> models::PaginatedReputationList policies_reputation_scores_list(identifier, identifier_in, ip, ordering, page, page_size, score, search) + + +Reputation Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**identifier** | Option<**String**> | | | +**identifier_in** | Option<[**Vec**](String.md)> | Multiple values may be separated by commas. | | +**ip** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**score** | Option<**i32**> | | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedReputationList**](PaginatedReputationList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_reputation_scores_retrieve + +> models::Reputation policies_reputation_scores_retrieve(reputation_uuid) + + +Reputation Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**reputation_uuid** | **uuid::Uuid** | A UUID string identifying this Reputation Score. | [required] | + +### Return type + +[**models::Reputation**](Reputation.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_reputation_scores_used_by_list + +> Vec policies_reputation_scores_used_by_list(reputation_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**reputation_uuid** | **uuid::Uuid** | A UUID string identifying this Reputation Score. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_reputation_update + +> models::ReputationPolicy policies_reputation_update(policy_uuid, reputation_policy_request) + + +Reputation Policy Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Reputation Policy. | [required] | +**reputation_policy_request** | [**ReputationPolicyRequest**](ReputationPolicyRequest.md) | | [required] | + +### Return type + +[**models::ReputationPolicy**](ReputationPolicy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## policies_reputation_used_by_list + +> Vec policies_reputation_used_by_list(policy_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**policy_uuid** | **uuid::Uuid** | A UUID string identifying this Reputation Policy. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/Policy.md b/docs/Policy.md new file mode 100644 index 0000000..e121811 --- /dev/null +++ b/docs/Policy.md @@ -0,0 +1,18 @@ +# Policy + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**execution_logging** | Option<**bool**> | When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**bound_to** | **i32** | Return objects policy is bound to | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PolicyBinding.md b/docs/PolicyBinding.md new file mode 100644 index 0000000..2585b65 --- /dev/null +++ b/docs/PolicyBinding.md @@ -0,0 +1,23 @@ +# PolicyBinding + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**policy** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**group** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**user** | Option<**i32**> | | [optional] +**policy_obj** | [**models::Policy**](Policy.md) | | [readonly] +**group_obj** | [**models::Group**](Group.md) | | [readonly] +**user_obj** | [**models::User**](User.md) | | [readonly] +**target** | [**uuid::Uuid**](uuid::Uuid.md) | | +**negate** | Option<**bool**> | Negates the outcome of the policy. Messages are unaffected. | [optional] +**enabled** | Option<**bool**> | | [optional] +**order** | **i32** | | +**timeout** | Option<**u32**> | Timeout after which Policy execution is terminated. | [optional] +**failure_result** | Option<**bool**> | Result if the Policy execution fails. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PolicyBindingRequest.md b/docs/PolicyBindingRequest.md new file mode 100644 index 0000000..9dd77fe --- /dev/null +++ b/docs/PolicyBindingRequest.md @@ -0,0 +1,19 @@ +# PolicyBindingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**policy** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**group** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**user** | Option<**i32**> | | [optional] +**target** | [**uuid::Uuid**](uuid::Uuid.md) | | +**negate** | Option<**bool**> | Negates the outcome of the policy. Messages are unaffected. | [optional] +**enabled** | Option<**bool**> | | [optional] +**order** | **i32** | | +**timeout** | Option<**u32**> | Timeout after which Policy execution is terminated. | [optional] +**failure_result** | Option<**bool**> | Result if the Policy execution fails. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PolicyEngineMode.md b/docs/PolicyEngineMode.md new file mode 100644 index 0000000..35527c9 --- /dev/null +++ b/docs/PolicyEngineMode.md @@ -0,0 +1,13 @@ +# PolicyEngineMode + +## Enum Variants + +| Name | Value | +|---- | -----| +| All | all | +| Any | any | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PolicyRequest.md b/docs/PolicyRequest.md new file mode 100644 index 0000000..411c974 --- /dev/null +++ b/docs/PolicyRequest.md @@ -0,0 +1,12 @@ +# PolicyRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**execution_logging** | Option<**bool**> | When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PolicyTestRequest.md b/docs/PolicyTestRequest.md new file mode 100644 index 0000000..4831cc0 --- /dev/null +++ b/docs/PolicyTestRequest.md @@ -0,0 +1,12 @@ +# PolicyTestRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user** | **i32** | | +**context** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PolicyTestResult.md b/docs/PolicyTestResult.md new file mode 100644 index 0000000..e53ceb7 --- /dev/null +++ b/docs/PolicyTestResult.md @@ -0,0 +1,13 @@ +# PolicyTestResult + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**passing** | **bool** | | +**messages** | **Vec** | | [readonly] +**log_messages** | [**Vec**](LogEvent.md) | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Prompt.md b/docs/Prompt.md new file mode 100644 index 0000000..0734ec2 --- /dev/null +++ b/docs/Prompt.md @@ -0,0 +1,23 @@ +# Prompt + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**field_key** | **String** | Name of the form field, also used to store the value | +**label** | **String** | | +**r#type** | [**models::PromptTypeEnum**](PromptTypeEnum.md) | | +**required** | Option<**bool**> | | [optional] +**placeholder** | Option<**String**> | Optionally provide a short hint that describes the expected input value. When creating a fixed choice field, enable interpreting as expression and return a list to return multiple choices. | [optional] +**initial_value** | Option<**String**> | Optionally pre-fill the input with an initial value. When creating a fixed choice field, enable interpreting as expression and return a list to return multiple default choices. | [optional] +**order** | Option<**i32**> | | [optional] +**promptstage_set** | Option<[**Vec**](Stage.md)> | | [optional] +**sub_text** | Option<**String**> | | [optional] +**placeholder_expression** | Option<**bool**> | | [optional] +**initial_value_expression** | Option<**bool**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PromptChallenge.md b/docs/PromptChallenge.md new file mode 100644 index 0000000..1dd90c2 --- /dev/null +++ b/docs/PromptChallenge.md @@ -0,0 +1,14 @@ +# PromptChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**flow_info** | Option<[**models::ContextualFlowInfo**](ContextualFlowInfo.md)> | | [optional] +**component** | Option<**String**> | | [optional][default to ak-stage-prompt] +**response_errors** | Option<[**std::collections::HashMap>**](Vec.md)> | | [optional] +**fields** | [**Vec**](StagePrompt.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PromptChallengeResponseRequest.md b/docs/PromptChallengeResponseRequest.md new file mode 100644 index 0000000..b3bece9 --- /dev/null +++ b/docs/PromptChallengeResponseRequest.md @@ -0,0 +1,11 @@ +# PromptChallengeResponseRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | Option<**String**> | | [optional][default to ak-stage-prompt] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PromptRequest.md b/docs/PromptRequest.md new file mode 100644 index 0000000..b6e8218 --- /dev/null +++ b/docs/PromptRequest.md @@ -0,0 +1,22 @@ +# PromptRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**field_key** | **String** | Name of the form field, also used to store the value | +**label** | **String** | | +**r#type** | [**models::PromptTypeEnum**](PromptTypeEnum.md) | | +**required** | Option<**bool**> | | [optional] +**placeholder** | Option<**String**> | Optionally provide a short hint that describes the expected input value. When creating a fixed choice field, enable interpreting as expression and return a list to return multiple choices. | [optional] +**initial_value** | Option<**String**> | Optionally pre-fill the input with an initial value. When creating a fixed choice field, enable interpreting as expression and return a list to return multiple default choices. | [optional] +**order** | Option<**i32**> | | [optional] +**promptstage_set** | Option<[**Vec**](StageRequest.md)> | | [optional] +**sub_text** | Option<**String**> | | [optional] +**placeholder_expression** | Option<**bool**> | | [optional] +**initial_value_expression** | Option<**bool**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PromptStage.md b/docs/PromptStage.md new file mode 100644 index 0000000..d1ebde5 --- /dev/null +++ b/docs/PromptStage.md @@ -0,0 +1,19 @@ +# PromptStage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**component** | **String** | Get object type so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**flow_set** | Option<[**Vec**](FlowSet.md)> | | [optional] +**fields** | [**Vec**](uuid::Uuid.md) | | +**validation_policies** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PromptStageRequest.md b/docs/PromptStageRequest.md new file mode 100644 index 0000000..c30bcd9 --- /dev/null +++ b/docs/PromptStageRequest.md @@ -0,0 +1,14 @@ +# PromptStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**fields** | [**Vec**](uuid::Uuid.md) | | +**validation_policies** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PromptTypeEnum.md b/docs/PromptTypeEnum.md new file mode 100644 index 0000000..28a48e5 --- /dev/null +++ b/docs/PromptTypeEnum.md @@ -0,0 +1,29 @@ +# PromptTypeEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Text | text | +| TextArea | text_area | +| TextReadOnly | text_read_only | +| TextAreaReadOnly | text_area_read_only | +| Username | username | +| Email | email | +| Password | password | +| Number | number | +| Checkbox | checkbox | +| RadioButtonGroup | radio-button-group | +| Dropdown | dropdown | +| Date | date | +| DateTime | date-time | +| File | file | +| Separator | separator | +| Hidden | hidden | +| Static | static | +| AkLocale | ak-locale | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PropertyMapping.md b/docs/PropertyMapping.md new file mode 100644 index 0000000..e63ca6d --- /dev/null +++ b/docs/PropertyMapping.md @@ -0,0 +1,18 @@ +# PropertyMapping + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | **String** | | +**component** | **String** | Get object's component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PropertyMappingPreview.md b/docs/PropertyMappingPreview.md new file mode 100644 index 0000000..13a9a64 --- /dev/null +++ b/docs/PropertyMappingPreview.md @@ -0,0 +1,11 @@ +# PropertyMappingPreview + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**preview** | [**std::collections::HashMap**](serde_json::Value.md) | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PropertyMappingTestRequest.md b/docs/PropertyMappingTestRequest.md new file mode 100644 index 0000000..d6850e3 --- /dev/null +++ b/docs/PropertyMappingTestRequest.md @@ -0,0 +1,13 @@ +# PropertyMappingTestRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user** | Option<**i32**> | | [optional] +**context** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | | [optional] +**group** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PropertyMappingTestResult.md b/docs/PropertyMappingTestResult.md new file mode 100644 index 0000000..3e1ce67 --- /dev/null +++ b/docs/PropertyMappingTestResult.md @@ -0,0 +1,12 @@ +# PropertyMappingTestResult + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**result** | **String** | | [readonly] +**successful** | **bool** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PropertymappingsApi.md b/docs/PropertymappingsApi.md new file mode 100644 index 0000000..709ed7d --- /dev/null +++ b/docs/PropertymappingsApi.md @@ -0,0 +1,3126 @@ +# \PropertymappingsApi + +All URIs are relative to *http://localhost/api/v3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**propertymappings_all_destroy**](PropertymappingsApi.md#propertymappings_all_destroy) | **DELETE** /propertymappings/all/{pm_uuid}/ | +[**propertymappings_all_list**](PropertymappingsApi.md#propertymappings_all_list) | **GET** /propertymappings/all/ | +[**propertymappings_all_retrieve**](PropertymappingsApi.md#propertymappings_all_retrieve) | **GET** /propertymappings/all/{pm_uuid}/ | +[**propertymappings_all_test_create**](PropertymappingsApi.md#propertymappings_all_test_create) | **POST** /propertymappings/all/{pm_uuid}/test/ | +[**propertymappings_all_types_list**](PropertymappingsApi.md#propertymappings_all_types_list) | **GET** /propertymappings/all/types/ | +[**propertymappings_all_used_by_list**](PropertymappingsApi.md#propertymappings_all_used_by_list) | **GET** /propertymappings/all/{pm_uuid}/used_by/ | +[**propertymappings_notification_create**](PropertymappingsApi.md#propertymappings_notification_create) | **POST** /propertymappings/notification/ | +[**propertymappings_notification_destroy**](PropertymappingsApi.md#propertymappings_notification_destroy) | **DELETE** /propertymappings/notification/{pm_uuid}/ | +[**propertymappings_notification_list**](PropertymappingsApi.md#propertymappings_notification_list) | **GET** /propertymappings/notification/ | +[**propertymappings_notification_partial_update**](PropertymappingsApi.md#propertymappings_notification_partial_update) | **PATCH** /propertymappings/notification/{pm_uuid}/ | +[**propertymappings_notification_retrieve**](PropertymappingsApi.md#propertymappings_notification_retrieve) | **GET** /propertymappings/notification/{pm_uuid}/ | +[**propertymappings_notification_update**](PropertymappingsApi.md#propertymappings_notification_update) | **PUT** /propertymappings/notification/{pm_uuid}/ | +[**propertymappings_notification_used_by_list**](PropertymappingsApi.md#propertymappings_notification_used_by_list) | **GET** /propertymappings/notification/{pm_uuid}/used_by/ | +[**propertymappings_provider_google_workspace_create**](PropertymappingsApi.md#propertymappings_provider_google_workspace_create) | **POST** /propertymappings/provider/google_workspace/ | +[**propertymappings_provider_google_workspace_destroy**](PropertymappingsApi.md#propertymappings_provider_google_workspace_destroy) | **DELETE** /propertymappings/provider/google_workspace/{pm_uuid}/ | +[**propertymappings_provider_google_workspace_list**](PropertymappingsApi.md#propertymappings_provider_google_workspace_list) | **GET** /propertymappings/provider/google_workspace/ | +[**propertymappings_provider_google_workspace_partial_update**](PropertymappingsApi.md#propertymappings_provider_google_workspace_partial_update) | **PATCH** /propertymappings/provider/google_workspace/{pm_uuid}/ | +[**propertymappings_provider_google_workspace_retrieve**](PropertymappingsApi.md#propertymappings_provider_google_workspace_retrieve) | **GET** /propertymappings/provider/google_workspace/{pm_uuid}/ | +[**propertymappings_provider_google_workspace_update**](PropertymappingsApi.md#propertymappings_provider_google_workspace_update) | **PUT** /propertymappings/provider/google_workspace/{pm_uuid}/ | +[**propertymappings_provider_google_workspace_used_by_list**](PropertymappingsApi.md#propertymappings_provider_google_workspace_used_by_list) | **GET** /propertymappings/provider/google_workspace/{pm_uuid}/used_by/ | +[**propertymappings_provider_microsoft_entra_create**](PropertymappingsApi.md#propertymappings_provider_microsoft_entra_create) | **POST** /propertymappings/provider/microsoft_entra/ | +[**propertymappings_provider_microsoft_entra_destroy**](PropertymappingsApi.md#propertymappings_provider_microsoft_entra_destroy) | **DELETE** /propertymappings/provider/microsoft_entra/{pm_uuid}/ | +[**propertymappings_provider_microsoft_entra_list**](PropertymappingsApi.md#propertymappings_provider_microsoft_entra_list) | **GET** /propertymappings/provider/microsoft_entra/ | +[**propertymappings_provider_microsoft_entra_partial_update**](PropertymappingsApi.md#propertymappings_provider_microsoft_entra_partial_update) | **PATCH** /propertymappings/provider/microsoft_entra/{pm_uuid}/ | +[**propertymappings_provider_microsoft_entra_retrieve**](PropertymappingsApi.md#propertymappings_provider_microsoft_entra_retrieve) | **GET** /propertymappings/provider/microsoft_entra/{pm_uuid}/ | +[**propertymappings_provider_microsoft_entra_update**](PropertymappingsApi.md#propertymappings_provider_microsoft_entra_update) | **PUT** /propertymappings/provider/microsoft_entra/{pm_uuid}/ | +[**propertymappings_provider_microsoft_entra_used_by_list**](PropertymappingsApi.md#propertymappings_provider_microsoft_entra_used_by_list) | **GET** /propertymappings/provider/microsoft_entra/{pm_uuid}/used_by/ | +[**propertymappings_provider_rac_create**](PropertymappingsApi.md#propertymappings_provider_rac_create) | **POST** /propertymappings/provider/rac/ | +[**propertymappings_provider_rac_destroy**](PropertymappingsApi.md#propertymappings_provider_rac_destroy) | **DELETE** /propertymappings/provider/rac/{pm_uuid}/ | +[**propertymappings_provider_rac_list**](PropertymappingsApi.md#propertymappings_provider_rac_list) | **GET** /propertymappings/provider/rac/ | +[**propertymappings_provider_rac_partial_update**](PropertymappingsApi.md#propertymappings_provider_rac_partial_update) | **PATCH** /propertymappings/provider/rac/{pm_uuid}/ | +[**propertymappings_provider_rac_retrieve**](PropertymappingsApi.md#propertymappings_provider_rac_retrieve) | **GET** /propertymappings/provider/rac/{pm_uuid}/ | +[**propertymappings_provider_rac_update**](PropertymappingsApi.md#propertymappings_provider_rac_update) | **PUT** /propertymappings/provider/rac/{pm_uuid}/ | +[**propertymappings_provider_rac_used_by_list**](PropertymappingsApi.md#propertymappings_provider_rac_used_by_list) | **GET** /propertymappings/provider/rac/{pm_uuid}/used_by/ | +[**propertymappings_provider_radius_create**](PropertymappingsApi.md#propertymappings_provider_radius_create) | **POST** /propertymappings/provider/radius/ | +[**propertymappings_provider_radius_destroy**](PropertymappingsApi.md#propertymappings_provider_radius_destroy) | **DELETE** /propertymappings/provider/radius/{pm_uuid}/ | +[**propertymappings_provider_radius_list**](PropertymappingsApi.md#propertymappings_provider_radius_list) | **GET** /propertymappings/provider/radius/ | +[**propertymappings_provider_radius_partial_update**](PropertymappingsApi.md#propertymappings_provider_radius_partial_update) | **PATCH** /propertymappings/provider/radius/{pm_uuid}/ | +[**propertymappings_provider_radius_retrieve**](PropertymappingsApi.md#propertymappings_provider_radius_retrieve) | **GET** /propertymappings/provider/radius/{pm_uuid}/ | +[**propertymappings_provider_radius_update**](PropertymappingsApi.md#propertymappings_provider_radius_update) | **PUT** /propertymappings/provider/radius/{pm_uuid}/ | +[**propertymappings_provider_radius_used_by_list**](PropertymappingsApi.md#propertymappings_provider_radius_used_by_list) | **GET** /propertymappings/provider/radius/{pm_uuid}/used_by/ | +[**propertymappings_provider_saml_create**](PropertymappingsApi.md#propertymappings_provider_saml_create) | **POST** /propertymappings/provider/saml/ | +[**propertymappings_provider_saml_destroy**](PropertymappingsApi.md#propertymappings_provider_saml_destroy) | **DELETE** /propertymappings/provider/saml/{pm_uuid}/ | +[**propertymappings_provider_saml_list**](PropertymappingsApi.md#propertymappings_provider_saml_list) | **GET** /propertymappings/provider/saml/ | +[**propertymappings_provider_saml_partial_update**](PropertymappingsApi.md#propertymappings_provider_saml_partial_update) | **PATCH** /propertymappings/provider/saml/{pm_uuid}/ | +[**propertymappings_provider_saml_retrieve**](PropertymappingsApi.md#propertymappings_provider_saml_retrieve) | **GET** /propertymappings/provider/saml/{pm_uuid}/ | +[**propertymappings_provider_saml_update**](PropertymappingsApi.md#propertymappings_provider_saml_update) | **PUT** /propertymappings/provider/saml/{pm_uuid}/ | +[**propertymappings_provider_saml_used_by_list**](PropertymappingsApi.md#propertymappings_provider_saml_used_by_list) | **GET** /propertymappings/provider/saml/{pm_uuid}/used_by/ | +[**propertymappings_provider_scim_create**](PropertymappingsApi.md#propertymappings_provider_scim_create) | **POST** /propertymappings/provider/scim/ | +[**propertymappings_provider_scim_destroy**](PropertymappingsApi.md#propertymappings_provider_scim_destroy) | **DELETE** /propertymappings/provider/scim/{pm_uuid}/ | +[**propertymappings_provider_scim_list**](PropertymappingsApi.md#propertymappings_provider_scim_list) | **GET** /propertymappings/provider/scim/ | +[**propertymappings_provider_scim_partial_update**](PropertymappingsApi.md#propertymappings_provider_scim_partial_update) | **PATCH** /propertymappings/provider/scim/{pm_uuid}/ | +[**propertymappings_provider_scim_retrieve**](PropertymappingsApi.md#propertymappings_provider_scim_retrieve) | **GET** /propertymappings/provider/scim/{pm_uuid}/ | +[**propertymappings_provider_scim_update**](PropertymappingsApi.md#propertymappings_provider_scim_update) | **PUT** /propertymappings/provider/scim/{pm_uuid}/ | +[**propertymappings_provider_scim_used_by_list**](PropertymappingsApi.md#propertymappings_provider_scim_used_by_list) | **GET** /propertymappings/provider/scim/{pm_uuid}/used_by/ | +[**propertymappings_provider_scope_create**](PropertymappingsApi.md#propertymappings_provider_scope_create) | **POST** /propertymappings/provider/scope/ | +[**propertymappings_provider_scope_destroy**](PropertymappingsApi.md#propertymappings_provider_scope_destroy) | **DELETE** /propertymappings/provider/scope/{pm_uuid}/ | +[**propertymappings_provider_scope_list**](PropertymappingsApi.md#propertymappings_provider_scope_list) | **GET** /propertymappings/provider/scope/ | +[**propertymappings_provider_scope_partial_update**](PropertymappingsApi.md#propertymappings_provider_scope_partial_update) | **PATCH** /propertymappings/provider/scope/{pm_uuid}/ | +[**propertymappings_provider_scope_retrieve**](PropertymappingsApi.md#propertymappings_provider_scope_retrieve) | **GET** /propertymappings/provider/scope/{pm_uuid}/ | +[**propertymappings_provider_scope_update**](PropertymappingsApi.md#propertymappings_provider_scope_update) | **PUT** /propertymappings/provider/scope/{pm_uuid}/ | +[**propertymappings_provider_scope_used_by_list**](PropertymappingsApi.md#propertymappings_provider_scope_used_by_list) | **GET** /propertymappings/provider/scope/{pm_uuid}/used_by/ | +[**propertymappings_source_ldap_create**](PropertymappingsApi.md#propertymappings_source_ldap_create) | **POST** /propertymappings/source/ldap/ | +[**propertymappings_source_ldap_destroy**](PropertymappingsApi.md#propertymappings_source_ldap_destroy) | **DELETE** /propertymappings/source/ldap/{pm_uuid}/ | +[**propertymappings_source_ldap_list**](PropertymappingsApi.md#propertymappings_source_ldap_list) | **GET** /propertymappings/source/ldap/ | +[**propertymappings_source_ldap_partial_update**](PropertymappingsApi.md#propertymappings_source_ldap_partial_update) | **PATCH** /propertymappings/source/ldap/{pm_uuid}/ | +[**propertymappings_source_ldap_retrieve**](PropertymappingsApi.md#propertymappings_source_ldap_retrieve) | **GET** /propertymappings/source/ldap/{pm_uuid}/ | +[**propertymappings_source_ldap_update**](PropertymappingsApi.md#propertymappings_source_ldap_update) | **PUT** /propertymappings/source/ldap/{pm_uuid}/ | +[**propertymappings_source_ldap_used_by_list**](PropertymappingsApi.md#propertymappings_source_ldap_used_by_list) | **GET** /propertymappings/source/ldap/{pm_uuid}/used_by/ | +[**propertymappings_source_oauth_create**](PropertymappingsApi.md#propertymappings_source_oauth_create) | **POST** /propertymappings/source/oauth/ | +[**propertymappings_source_oauth_destroy**](PropertymappingsApi.md#propertymappings_source_oauth_destroy) | **DELETE** /propertymappings/source/oauth/{pm_uuid}/ | +[**propertymappings_source_oauth_list**](PropertymappingsApi.md#propertymappings_source_oauth_list) | **GET** /propertymappings/source/oauth/ | +[**propertymappings_source_oauth_partial_update**](PropertymappingsApi.md#propertymappings_source_oauth_partial_update) | **PATCH** /propertymappings/source/oauth/{pm_uuid}/ | +[**propertymappings_source_oauth_retrieve**](PropertymappingsApi.md#propertymappings_source_oauth_retrieve) | **GET** /propertymappings/source/oauth/{pm_uuid}/ | +[**propertymappings_source_oauth_update**](PropertymappingsApi.md#propertymappings_source_oauth_update) | **PUT** /propertymappings/source/oauth/{pm_uuid}/ | +[**propertymappings_source_oauth_used_by_list**](PropertymappingsApi.md#propertymappings_source_oauth_used_by_list) | **GET** /propertymappings/source/oauth/{pm_uuid}/used_by/ | +[**propertymappings_source_plex_create**](PropertymappingsApi.md#propertymappings_source_plex_create) | **POST** /propertymappings/source/plex/ | +[**propertymappings_source_plex_destroy**](PropertymappingsApi.md#propertymappings_source_plex_destroy) | **DELETE** /propertymappings/source/plex/{pm_uuid}/ | +[**propertymappings_source_plex_list**](PropertymappingsApi.md#propertymappings_source_plex_list) | **GET** /propertymappings/source/plex/ | +[**propertymappings_source_plex_partial_update**](PropertymappingsApi.md#propertymappings_source_plex_partial_update) | **PATCH** /propertymappings/source/plex/{pm_uuid}/ | +[**propertymappings_source_plex_retrieve**](PropertymappingsApi.md#propertymappings_source_plex_retrieve) | **GET** /propertymappings/source/plex/{pm_uuid}/ | +[**propertymappings_source_plex_update**](PropertymappingsApi.md#propertymappings_source_plex_update) | **PUT** /propertymappings/source/plex/{pm_uuid}/ | +[**propertymappings_source_plex_used_by_list**](PropertymappingsApi.md#propertymappings_source_plex_used_by_list) | **GET** /propertymappings/source/plex/{pm_uuid}/used_by/ | +[**propertymappings_source_saml_create**](PropertymappingsApi.md#propertymappings_source_saml_create) | **POST** /propertymappings/source/saml/ | +[**propertymappings_source_saml_destroy**](PropertymappingsApi.md#propertymappings_source_saml_destroy) | **DELETE** /propertymappings/source/saml/{pm_uuid}/ | +[**propertymappings_source_saml_list**](PropertymappingsApi.md#propertymappings_source_saml_list) | **GET** /propertymappings/source/saml/ | +[**propertymappings_source_saml_partial_update**](PropertymappingsApi.md#propertymappings_source_saml_partial_update) | **PATCH** /propertymappings/source/saml/{pm_uuid}/ | +[**propertymappings_source_saml_retrieve**](PropertymappingsApi.md#propertymappings_source_saml_retrieve) | **GET** /propertymappings/source/saml/{pm_uuid}/ | +[**propertymappings_source_saml_update**](PropertymappingsApi.md#propertymappings_source_saml_update) | **PUT** /propertymappings/source/saml/{pm_uuid}/ | +[**propertymappings_source_saml_used_by_list**](PropertymappingsApi.md#propertymappings_source_saml_used_by_list) | **GET** /propertymappings/source/saml/{pm_uuid}/used_by/ | +[**propertymappings_source_scim_create**](PropertymappingsApi.md#propertymappings_source_scim_create) | **POST** /propertymappings/source/scim/ | +[**propertymappings_source_scim_destroy**](PropertymappingsApi.md#propertymappings_source_scim_destroy) | **DELETE** /propertymappings/source/scim/{pm_uuid}/ | +[**propertymappings_source_scim_list**](PropertymappingsApi.md#propertymappings_source_scim_list) | **GET** /propertymappings/source/scim/ | +[**propertymappings_source_scim_partial_update**](PropertymappingsApi.md#propertymappings_source_scim_partial_update) | **PATCH** /propertymappings/source/scim/{pm_uuid}/ | +[**propertymappings_source_scim_retrieve**](PropertymappingsApi.md#propertymappings_source_scim_retrieve) | **GET** /propertymappings/source/scim/{pm_uuid}/ | +[**propertymappings_source_scim_update**](PropertymappingsApi.md#propertymappings_source_scim_update) | **PUT** /propertymappings/source/scim/{pm_uuid}/ | +[**propertymappings_source_scim_used_by_list**](PropertymappingsApi.md#propertymappings_source_scim_used_by_list) | **GET** /propertymappings/source/scim/{pm_uuid}/used_by/ | + + + +## propertymappings_all_destroy + +> propertymappings_all_destroy(pm_uuid) + + +PropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Property Mapping. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_all_list + +> models::PaginatedPropertyMappingList propertymappings_all_list(managed, managed__isnull, name, ordering, page, page_size, search) + + +PropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**managed** | Option<[**Vec**](String.md)> | | | +**managed__isnull** | Option<**bool**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedPropertyMappingList**](PaginatedPropertyMappingList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_all_retrieve + +> models::PropertyMapping propertymappings_all_retrieve(pm_uuid) + + +PropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Property Mapping. | [required] | + +### Return type + +[**models::PropertyMapping**](PropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_all_test_create + +> models::PropertyMappingTestResult propertymappings_all_test_create(pm_uuid, format_result, property_mapping_test_request) + + +Test Property Mapping + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Property Mapping. | [required] | +**format_result** | Option<**bool**> | | | +**property_mapping_test_request** | Option<[**PropertyMappingTestRequest**](PropertyMappingTestRequest.md)> | | | + +### Return type + +[**models::PropertyMappingTestResult**](PropertyMappingTestResult.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_all_types_list + +> Vec propertymappings_all_types_list() + + +Get all creatable types + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**Vec**](TypeCreate.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_all_used_by_list + +> Vec propertymappings_all_used_by_list(pm_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Property Mapping. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_notification_create + +> models::NotificationWebhookMapping propertymappings_notification_create(notification_webhook_mapping_request) + + +NotificationWebhookMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**notification_webhook_mapping_request** | [**NotificationWebhookMappingRequest**](NotificationWebhookMappingRequest.md) | | [required] | + +### Return type + +[**models::NotificationWebhookMapping**](NotificationWebhookMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_notification_destroy + +> propertymappings_notification_destroy(pm_uuid) + + +NotificationWebhookMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Webhook Mapping. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_notification_list + +> models::PaginatedNotificationWebhookMappingList propertymappings_notification_list(name, ordering, page, page_size, search) + + +NotificationWebhookMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedNotificationWebhookMappingList**](PaginatedNotificationWebhookMappingList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_notification_partial_update + +> models::NotificationWebhookMapping propertymappings_notification_partial_update(pm_uuid, patched_notification_webhook_mapping_request) + + +NotificationWebhookMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Webhook Mapping. | [required] | +**patched_notification_webhook_mapping_request** | Option<[**PatchedNotificationWebhookMappingRequest**](PatchedNotificationWebhookMappingRequest.md)> | | | + +### Return type + +[**models::NotificationWebhookMapping**](NotificationWebhookMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_notification_retrieve + +> models::NotificationWebhookMapping propertymappings_notification_retrieve(pm_uuid) + + +NotificationWebhookMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Webhook Mapping. | [required] | + +### Return type + +[**models::NotificationWebhookMapping**](NotificationWebhookMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_notification_update + +> models::NotificationWebhookMapping propertymappings_notification_update(pm_uuid, notification_webhook_mapping_request) + + +NotificationWebhookMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Webhook Mapping. | [required] | +**notification_webhook_mapping_request** | [**NotificationWebhookMappingRequest**](NotificationWebhookMappingRequest.md) | | [required] | + +### Return type + +[**models::NotificationWebhookMapping**](NotificationWebhookMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_notification_used_by_list + +> Vec propertymappings_notification_used_by_list(pm_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Webhook Mapping. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_google_workspace_create + +> models::GoogleWorkspaceProviderMapping propertymappings_provider_google_workspace_create(google_workspace_provider_mapping_request) + + +GoogleWorkspaceProviderMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**google_workspace_provider_mapping_request** | [**GoogleWorkspaceProviderMappingRequest**](GoogleWorkspaceProviderMappingRequest.md) | | [required] | + +### Return type + +[**models::GoogleWorkspaceProviderMapping**](GoogleWorkspaceProviderMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_google_workspace_destroy + +> propertymappings_provider_google_workspace_destroy(pm_uuid) + + +GoogleWorkspaceProviderMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Google Workspace Provider Mapping. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_google_workspace_list + +> models::PaginatedGoogleWorkspaceProviderMappingList propertymappings_provider_google_workspace_list(expression, managed, name, ordering, page, page_size, pm_uuid, search) + + +GoogleWorkspaceProviderMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**expression** | Option<**String**> | | | +**managed** | Option<[**Vec**](String.md)> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**pm_uuid** | Option<**uuid::Uuid**> | | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedGoogleWorkspaceProviderMappingList**](PaginatedGoogleWorkspaceProviderMappingList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_google_workspace_partial_update + +> models::GoogleWorkspaceProviderMapping propertymappings_provider_google_workspace_partial_update(pm_uuid, patched_google_workspace_provider_mapping_request) + + +GoogleWorkspaceProviderMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Google Workspace Provider Mapping. | [required] | +**patched_google_workspace_provider_mapping_request** | Option<[**PatchedGoogleWorkspaceProviderMappingRequest**](PatchedGoogleWorkspaceProviderMappingRequest.md)> | | | + +### Return type + +[**models::GoogleWorkspaceProviderMapping**](GoogleWorkspaceProviderMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_google_workspace_retrieve + +> models::GoogleWorkspaceProviderMapping propertymappings_provider_google_workspace_retrieve(pm_uuid) + + +GoogleWorkspaceProviderMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Google Workspace Provider Mapping. | [required] | + +### Return type + +[**models::GoogleWorkspaceProviderMapping**](GoogleWorkspaceProviderMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_google_workspace_update + +> models::GoogleWorkspaceProviderMapping propertymappings_provider_google_workspace_update(pm_uuid, google_workspace_provider_mapping_request) + + +GoogleWorkspaceProviderMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Google Workspace Provider Mapping. | [required] | +**google_workspace_provider_mapping_request** | [**GoogleWorkspaceProviderMappingRequest**](GoogleWorkspaceProviderMappingRequest.md) | | [required] | + +### Return type + +[**models::GoogleWorkspaceProviderMapping**](GoogleWorkspaceProviderMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_google_workspace_used_by_list + +> Vec propertymappings_provider_google_workspace_used_by_list(pm_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Google Workspace Provider Mapping. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_microsoft_entra_create + +> models::MicrosoftEntraProviderMapping propertymappings_provider_microsoft_entra_create(microsoft_entra_provider_mapping_request) + + +MicrosoftEntraProviderMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**microsoft_entra_provider_mapping_request** | [**MicrosoftEntraProviderMappingRequest**](MicrosoftEntraProviderMappingRequest.md) | | [required] | + +### Return type + +[**models::MicrosoftEntraProviderMapping**](MicrosoftEntraProviderMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_microsoft_entra_destroy + +> propertymappings_provider_microsoft_entra_destroy(pm_uuid) + + +MicrosoftEntraProviderMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Microsoft Entra Provider Mapping. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_microsoft_entra_list + +> models::PaginatedMicrosoftEntraProviderMappingList propertymappings_provider_microsoft_entra_list(expression, managed, name, ordering, page, page_size, pm_uuid, search) + + +MicrosoftEntraProviderMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**expression** | Option<**String**> | | | +**managed** | Option<[**Vec**](String.md)> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**pm_uuid** | Option<**uuid::Uuid**> | | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedMicrosoftEntraProviderMappingList**](PaginatedMicrosoftEntraProviderMappingList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_microsoft_entra_partial_update + +> models::MicrosoftEntraProviderMapping propertymappings_provider_microsoft_entra_partial_update(pm_uuid, patched_microsoft_entra_provider_mapping_request) + + +MicrosoftEntraProviderMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Microsoft Entra Provider Mapping. | [required] | +**patched_microsoft_entra_provider_mapping_request** | Option<[**PatchedMicrosoftEntraProviderMappingRequest**](PatchedMicrosoftEntraProviderMappingRequest.md)> | | | + +### Return type + +[**models::MicrosoftEntraProviderMapping**](MicrosoftEntraProviderMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_microsoft_entra_retrieve + +> models::MicrosoftEntraProviderMapping propertymappings_provider_microsoft_entra_retrieve(pm_uuid) + + +MicrosoftEntraProviderMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Microsoft Entra Provider Mapping. | [required] | + +### Return type + +[**models::MicrosoftEntraProviderMapping**](MicrosoftEntraProviderMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_microsoft_entra_update + +> models::MicrosoftEntraProviderMapping propertymappings_provider_microsoft_entra_update(pm_uuid, microsoft_entra_provider_mapping_request) + + +MicrosoftEntraProviderMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Microsoft Entra Provider Mapping. | [required] | +**microsoft_entra_provider_mapping_request** | [**MicrosoftEntraProviderMappingRequest**](MicrosoftEntraProviderMappingRequest.md) | | [required] | + +### Return type + +[**models::MicrosoftEntraProviderMapping**](MicrosoftEntraProviderMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_microsoft_entra_used_by_list + +> Vec propertymappings_provider_microsoft_entra_used_by_list(pm_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Microsoft Entra Provider Mapping. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_rac_create + +> models::RacPropertyMapping propertymappings_provider_rac_create(rac_property_mapping_request) + + +RACPropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**rac_property_mapping_request** | [**RacPropertyMappingRequest**](RacPropertyMappingRequest.md) | | [required] | + +### Return type + +[**models::RacPropertyMapping**](RACPropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_rac_destroy + +> propertymappings_provider_rac_destroy(pm_uuid) + + +RACPropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this RAC Provider Property Mapping. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_rac_list + +> models::PaginatedRacPropertyMappingList propertymappings_provider_rac_list(managed, name, ordering, page, page_size, search) + + +RACPropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**managed** | Option<[**Vec**](String.md)> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedRacPropertyMappingList**](PaginatedRACPropertyMappingList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_rac_partial_update + +> models::RacPropertyMapping propertymappings_provider_rac_partial_update(pm_uuid, patched_rac_property_mapping_request) + + +RACPropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this RAC Provider Property Mapping. | [required] | +**patched_rac_property_mapping_request** | Option<[**PatchedRacPropertyMappingRequest**](PatchedRacPropertyMappingRequest.md)> | | | + +### Return type + +[**models::RacPropertyMapping**](RACPropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_rac_retrieve + +> models::RacPropertyMapping propertymappings_provider_rac_retrieve(pm_uuid) + + +RACPropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this RAC Provider Property Mapping. | [required] | + +### Return type + +[**models::RacPropertyMapping**](RACPropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_rac_update + +> models::RacPropertyMapping propertymappings_provider_rac_update(pm_uuid, rac_property_mapping_request) + + +RACPropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this RAC Provider Property Mapping. | [required] | +**rac_property_mapping_request** | [**RacPropertyMappingRequest**](RacPropertyMappingRequest.md) | | [required] | + +### Return type + +[**models::RacPropertyMapping**](RACPropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_rac_used_by_list + +> Vec propertymappings_provider_rac_used_by_list(pm_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this RAC Provider Property Mapping. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_radius_create + +> models::RadiusProviderPropertyMapping propertymappings_provider_radius_create(radius_provider_property_mapping_request) + + +RadiusProviderPropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**radius_provider_property_mapping_request** | [**RadiusProviderPropertyMappingRequest**](RadiusProviderPropertyMappingRequest.md) | | [required] | + +### Return type + +[**models::RadiusProviderPropertyMapping**](RadiusProviderPropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_radius_destroy + +> propertymappings_provider_radius_destroy(pm_uuid) + + +RadiusProviderPropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Radius Provider Property Mapping. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_radius_list + +> models::PaginatedRadiusProviderPropertyMappingList propertymappings_provider_radius_list(managed, managed__isnull, name, ordering, page, page_size, search) + + +RadiusProviderPropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**managed** | Option<[**Vec**](String.md)> | | | +**managed__isnull** | Option<**bool**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedRadiusProviderPropertyMappingList**](PaginatedRadiusProviderPropertyMappingList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_radius_partial_update + +> models::RadiusProviderPropertyMapping propertymappings_provider_radius_partial_update(pm_uuid, patched_radius_provider_property_mapping_request) + + +RadiusProviderPropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Radius Provider Property Mapping. | [required] | +**patched_radius_provider_property_mapping_request** | Option<[**PatchedRadiusProviderPropertyMappingRequest**](PatchedRadiusProviderPropertyMappingRequest.md)> | | | + +### Return type + +[**models::RadiusProviderPropertyMapping**](RadiusProviderPropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_radius_retrieve + +> models::RadiusProviderPropertyMapping propertymappings_provider_radius_retrieve(pm_uuid) + + +RadiusProviderPropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Radius Provider Property Mapping. | [required] | + +### Return type + +[**models::RadiusProviderPropertyMapping**](RadiusProviderPropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_radius_update + +> models::RadiusProviderPropertyMapping propertymappings_provider_radius_update(pm_uuid, radius_provider_property_mapping_request) + + +RadiusProviderPropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Radius Provider Property Mapping. | [required] | +**radius_provider_property_mapping_request** | [**RadiusProviderPropertyMappingRequest**](RadiusProviderPropertyMappingRequest.md) | | [required] | + +### Return type + +[**models::RadiusProviderPropertyMapping**](RadiusProviderPropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_radius_used_by_list + +> Vec propertymappings_provider_radius_used_by_list(pm_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Radius Provider Property Mapping. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_saml_create + +> models::SamlPropertyMapping propertymappings_provider_saml_create(saml_property_mapping_request) + + +SAMLPropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**saml_property_mapping_request** | [**SamlPropertyMappingRequest**](SamlPropertyMappingRequest.md) | | [required] | + +### Return type + +[**models::SamlPropertyMapping**](SAMLPropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_saml_destroy + +> propertymappings_provider_saml_destroy(pm_uuid) + + +SAMLPropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this SAML Provider Property Mapping. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_saml_list + +> models::PaginatedSamlPropertyMappingList propertymappings_provider_saml_list(friendly_name, managed, managed__isnull, name, ordering, page, page_size, saml_name, search) + + +SAMLPropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**friendly_name** | Option<**String**> | | | +**managed** | Option<[**Vec**](String.md)> | | | +**managed__isnull** | Option<**bool**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**saml_name** | Option<**String**> | | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedSamlPropertyMappingList**](PaginatedSAMLPropertyMappingList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_saml_partial_update + +> models::SamlPropertyMapping propertymappings_provider_saml_partial_update(pm_uuid, patched_saml_property_mapping_request) + + +SAMLPropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this SAML Provider Property Mapping. | [required] | +**patched_saml_property_mapping_request** | Option<[**PatchedSamlPropertyMappingRequest**](PatchedSamlPropertyMappingRequest.md)> | | | + +### Return type + +[**models::SamlPropertyMapping**](SAMLPropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_saml_retrieve + +> models::SamlPropertyMapping propertymappings_provider_saml_retrieve(pm_uuid) + + +SAMLPropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this SAML Provider Property Mapping. | [required] | + +### Return type + +[**models::SamlPropertyMapping**](SAMLPropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_saml_update + +> models::SamlPropertyMapping propertymappings_provider_saml_update(pm_uuid, saml_property_mapping_request) + + +SAMLPropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this SAML Provider Property Mapping. | [required] | +**saml_property_mapping_request** | [**SamlPropertyMappingRequest**](SamlPropertyMappingRequest.md) | | [required] | + +### Return type + +[**models::SamlPropertyMapping**](SAMLPropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_saml_used_by_list + +> Vec propertymappings_provider_saml_used_by_list(pm_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this SAML Provider Property Mapping. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_scim_create + +> models::ScimMapping propertymappings_provider_scim_create(scim_mapping_request) + + +SCIMMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**scim_mapping_request** | [**ScimMappingRequest**](ScimMappingRequest.md) | | [required] | + +### Return type + +[**models::ScimMapping**](SCIMMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_scim_destroy + +> propertymappings_provider_scim_destroy(pm_uuid) + + +SCIMMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this SCIM Provider Mapping. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_scim_list + +> models::PaginatedScimMappingList propertymappings_provider_scim_list(managed, managed__isnull, name, ordering, page, page_size, search) + + +SCIMMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**managed** | Option<[**Vec**](String.md)> | | | +**managed__isnull** | Option<**bool**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedScimMappingList**](PaginatedSCIMMappingList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_scim_partial_update + +> models::ScimMapping propertymappings_provider_scim_partial_update(pm_uuid, patched_scim_mapping_request) + + +SCIMMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this SCIM Provider Mapping. | [required] | +**patched_scim_mapping_request** | Option<[**PatchedScimMappingRequest**](PatchedScimMappingRequest.md)> | | | + +### Return type + +[**models::ScimMapping**](SCIMMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_scim_retrieve + +> models::ScimMapping propertymappings_provider_scim_retrieve(pm_uuid) + + +SCIMMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this SCIM Provider Mapping. | [required] | + +### Return type + +[**models::ScimMapping**](SCIMMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_scim_update + +> models::ScimMapping propertymappings_provider_scim_update(pm_uuid, scim_mapping_request) + + +SCIMMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this SCIM Provider Mapping. | [required] | +**scim_mapping_request** | [**ScimMappingRequest**](ScimMappingRequest.md) | | [required] | + +### Return type + +[**models::ScimMapping**](SCIMMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_scim_used_by_list + +> Vec propertymappings_provider_scim_used_by_list(pm_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this SCIM Provider Mapping. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_scope_create + +> models::ScopeMapping propertymappings_provider_scope_create(scope_mapping_request) + + +ScopeMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**scope_mapping_request** | [**ScopeMappingRequest**](ScopeMappingRequest.md) | | [required] | + +### Return type + +[**models::ScopeMapping**](ScopeMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_scope_destroy + +> propertymappings_provider_scope_destroy(pm_uuid) + + +ScopeMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Scope Mapping. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_scope_list + +> models::PaginatedScopeMappingList propertymappings_provider_scope_list(managed, managed__isnull, name, ordering, page, page_size, scope_name, search) + + +ScopeMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**managed** | Option<[**Vec**](String.md)> | | | +**managed__isnull** | Option<**bool**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**scope_name** | Option<**String**> | | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedScopeMappingList**](PaginatedScopeMappingList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_scope_partial_update + +> models::ScopeMapping propertymappings_provider_scope_partial_update(pm_uuid, patched_scope_mapping_request) + + +ScopeMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Scope Mapping. | [required] | +**patched_scope_mapping_request** | Option<[**PatchedScopeMappingRequest**](PatchedScopeMappingRequest.md)> | | | + +### Return type + +[**models::ScopeMapping**](ScopeMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_scope_retrieve + +> models::ScopeMapping propertymappings_provider_scope_retrieve(pm_uuid) + + +ScopeMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Scope Mapping. | [required] | + +### Return type + +[**models::ScopeMapping**](ScopeMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_scope_update + +> models::ScopeMapping propertymappings_provider_scope_update(pm_uuid, scope_mapping_request) + + +ScopeMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Scope Mapping. | [required] | +**scope_mapping_request** | [**ScopeMappingRequest**](ScopeMappingRequest.md) | | [required] | + +### Return type + +[**models::ScopeMapping**](ScopeMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_provider_scope_used_by_list + +> Vec propertymappings_provider_scope_used_by_list(pm_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Scope Mapping. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_ldap_create + +> models::LdapSourcePropertyMapping propertymappings_source_ldap_create(ldap_source_property_mapping_request) + + +LDAP PropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**ldap_source_property_mapping_request** | [**LdapSourcePropertyMappingRequest**](LdapSourcePropertyMappingRequest.md) | | [required] | + +### Return type + +[**models::LdapSourcePropertyMapping**](LDAPSourcePropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_ldap_destroy + +> propertymappings_source_ldap_destroy(pm_uuid) + + +LDAP PropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this LDAP Source Property Mapping. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_ldap_list + +> models::PaginatedLdapSourcePropertyMappingList propertymappings_source_ldap_list(managed, managed__isnull, name, ordering, page, page_size, search) + + +LDAP PropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**managed** | Option<[**Vec**](String.md)> | | | +**managed__isnull** | Option<**bool**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedLdapSourcePropertyMappingList**](PaginatedLDAPSourcePropertyMappingList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_ldap_partial_update + +> models::LdapSourcePropertyMapping propertymappings_source_ldap_partial_update(pm_uuid, patched_ldap_source_property_mapping_request) + + +LDAP PropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this LDAP Source Property Mapping. | [required] | +**patched_ldap_source_property_mapping_request** | Option<[**PatchedLdapSourcePropertyMappingRequest**](PatchedLdapSourcePropertyMappingRequest.md)> | | | + +### Return type + +[**models::LdapSourcePropertyMapping**](LDAPSourcePropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_ldap_retrieve + +> models::LdapSourcePropertyMapping propertymappings_source_ldap_retrieve(pm_uuid) + + +LDAP PropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this LDAP Source Property Mapping. | [required] | + +### Return type + +[**models::LdapSourcePropertyMapping**](LDAPSourcePropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_ldap_update + +> models::LdapSourcePropertyMapping propertymappings_source_ldap_update(pm_uuid, ldap_source_property_mapping_request) + + +LDAP PropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this LDAP Source Property Mapping. | [required] | +**ldap_source_property_mapping_request** | [**LdapSourcePropertyMappingRequest**](LdapSourcePropertyMappingRequest.md) | | [required] | + +### Return type + +[**models::LdapSourcePropertyMapping**](LDAPSourcePropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_ldap_used_by_list + +> Vec propertymappings_source_ldap_used_by_list(pm_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this LDAP Source Property Mapping. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_oauth_create + +> models::OAuthSourcePropertyMapping propertymappings_source_oauth_create(o_auth_source_property_mapping_request) + + +OAuthSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**o_auth_source_property_mapping_request** | [**OAuthSourcePropertyMappingRequest**](OAuthSourcePropertyMappingRequest.md) | | [required] | + +### Return type + +[**models::OAuthSourcePropertyMapping**](OAuthSourcePropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_oauth_destroy + +> propertymappings_source_oauth_destroy(pm_uuid) + + +OAuthSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this OAuth Source Property Mapping. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_oauth_list + +> models::PaginatedOAuthSourcePropertyMappingList propertymappings_source_oauth_list(managed, managed__isnull, name, ordering, page, page_size, search) + + +OAuthSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**managed** | Option<[**Vec**](String.md)> | | | +**managed__isnull** | Option<**bool**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedOAuthSourcePropertyMappingList**](PaginatedOAuthSourcePropertyMappingList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_oauth_partial_update + +> models::OAuthSourcePropertyMapping propertymappings_source_oauth_partial_update(pm_uuid, patched_o_auth_source_property_mapping_request) + + +OAuthSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this OAuth Source Property Mapping. | [required] | +**patched_o_auth_source_property_mapping_request** | Option<[**PatchedOAuthSourcePropertyMappingRequest**](PatchedOAuthSourcePropertyMappingRequest.md)> | | | + +### Return type + +[**models::OAuthSourcePropertyMapping**](OAuthSourcePropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_oauth_retrieve + +> models::OAuthSourcePropertyMapping propertymappings_source_oauth_retrieve(pm_uuid) + + +OAuthSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this OAuth Source Property Mapping. | [required] | + +### Return type + +[**models::OAuthSourcePropertyMapping**](OAuthSourcePropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_oauth_update + +> models::OAuthSourcePropertyMapping propertymappings_source_oauth_update(pm_uuid, o_auth_source_property_mapping_request) + + +OAuthSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this OAuth Source Property Mapping. | [required] | +**o_auth_source_property_mapping_request** | [**OAuthSourcePropertyMappingRequest**](OAuthSourcePropertyMappingRequest.md) | | [required] | + +### Return type + +[**models::OAuthSourcePropertyMapping**](OAuthSourcePropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_oauth_used_by_list + +> Vec propertymappings_source_oauth_used_by_list(pm_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this OAuth Source Property Mapping. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_plex_create + +> models::PlexSourcePropertyMapping propertymappings_source_plex_create(plex_source_property_mapping_request) + + +PlexSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**plex_source_property_mapping_request** | [**PlexSourcePropertyMappingRequest**](PlexSourcePropertyMappingRequest.md) | | [required] | + +### Return type + +[**models::PlexSourcePropertyMapping**](PlexSourcePropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_plex_destroy + +> propertymappings_source_plex_destroy(pm_uuid) + + +PlexSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Plex Source Property Mapping. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_plex_list + +> models::PaginatedPlexSourcePropertyMappingList propertymappings_source_plex_list(managed, managed__isnull, name, ordering, page, page_size, search) + + +PlexSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**managed** | Option<[**Vec**](String.md)> | | | +**managed__isnull** | Option<**bool**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedPlexSourcePropertyMappingList**](PaginatedPlexSourcePropertyMappingList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_plex_partial_update + +> models::PlexSourcePropertyMapping propertymappings_source_plex_partial_update(pm_uuid, patched_plex_source_property_mapping_request) + + +PlexSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Plex Source Property Mapping. | [required] | +**patched_plex_source_property_mapping_request** | Option<[**PatchedPlexSourcePropertyMappingRequest**](PatchedPlexSourcePropertyMappingRequest.md)> | | | + +### Return type + +[**models::PlexSourcePropertyMapping**](PlexSourcePropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_plex_retrieve + +> models::PlexSourcePropertyMapping propertymappings_source_plex_retrieve(pm_uuid) + + +PlexSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Plex Source Property Mapping. | [required] | + +### Return type + +[**models::PlexSourcePropertyMapping**](PlexSourcePropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_plex_update + +> models::PlexSourcePropertyMapping propertymappings_source_plex_update(pm_uuid, plex_source_property_mapping_request) + + +PlexSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Plex Source Property Mapping. | [required] | +**plex_source_property_mapping_request** | [**PlexSourcePropertyMappingRequest**](PlexSourcePropertyMappingRequest.md) | | [required] | + +### Return type + +[**models::PlexSourcePropertyMapping**](PlexSourcePropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_plex_used_by_list + +> Vec propertymappings_source_plex_used_by_list(pm_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this Plex Source Property Mapping. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_saml_create + +> models::SamlSourcePropertyMapping propertymappings_source_saml_create(saml_source_property_mapping_request) + + +SAMLSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**saml_source_property_mapping_request** | [**SamlSourcePropertyMappingRequest**](SamlSourcePropertyMappingRequest.md) | | [required] | + +### Return type + +[**models::SamlSourcePropertyMapping**](SAMLSourcePropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_saml_destroy + +> propertymappings_source_saml_destroy(pm_uuid) + + +SAMLSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this SAML Source Property Mapping. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_saml_list + +> models::PaginatedSamlSourcePropertyMappingList propertymappings_source_saml_list(managed, managed__isnull, name, ordering, page, page_size, search) + + +SAMLSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**managed** | Option<[**Vec**](String.md)> | | | +**managed__isnull** | Option<**bool**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedSamlSourcePropertyMappingList**](PaginatedSAMLSourcePropertyMappingList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_saml_partial_update + +> models::SamlSourcePropertyMapping propertymappings_source_saml_partial_update(pm_uuid, patched_saml_source_property_mapping_request) + + +SAMLSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this SAML Source Property Mapping. | [required] | +**patched_saml_source_property_mapping_request** | Option<[**PatchedSamlSourcePropertyMappingRequest**](PatchedSamlSourcePropertyMappingRequest.md)> | | | + +### Return type + +[**models::SamlSourcePropertyMapping**](SAMLSourcePropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_saml_retrieve + +> models::SamlSourcePropertyMapping propertymappings_source_saml_retrieve(pm_uuid) + + +SAMLSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this SAML Source Property Mapping. | [required] | + +### Return type + +[**models::SamlSourcePropertyMapping**](SAMLSourcePropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_saml_update + +> models::SamlSourcePropertyMapping propertymappings_source_saml_update(pm_uuid, saml_source_property_mapping_request) + + +SAMLSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this SAML Source Property Mapping. | [required] | +**saml_source_property_mapping_request** | [**SamlSourcePropertyMappingRequest**](SamlSourcePropertyMappingRequest.md) | | [required] | + +### Return type + +[**models::SamlSourcePropertyMapping**](SAMLSourcePropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_saml_used_by_list + +> Vec propertymappings_source_saml_used_by_list(pm_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this SAML Source Property Mapping. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_scim_create + +> models::ScimSourcePropertyMapping propertymappings_source_scim_create(scim_source_property_mapping_request) + + +SCIMSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**scim_source_property_mapping_request** | [**ScimSourcePropertyMappingRequest**](ScimSourcePropertyMappingRequest.md) | | [required] | + +### Return type + +[**models::ScimSourcePropertyMapping**](SCIMSourcePropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_scim_destroy + +> propertymappings_source_scim_destroy(pm_uuid) + + +SCIMSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this SCIM Source Property Mapping. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_scim_list + +> models::PaginatedScimSourcePropertyMappingList propertymappings_source_scim_list(managed, managed__isnull, name, ordering, page, page_size, search) + + +SCIMSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**managed** | Option<[**Vec**](String.md)> | | | +**managed__isnull** | Option<**bool**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedScimSourcePropertyMappingList**](PaginatedSCIMSourcePropertyMappingList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_scim_partial_update + +> models::ScimSourcePropertyMapping propertymappings_source_scim_partial_update(pm_uuid, patched_scim_source_property_mapping_request) + + +SCIMSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this SCIM Source Property Mapping. | [required] | +**patched_scim_source_property_mapping_request** | Option<[**PatchedScimSourcePropertyMappingRequest**](PatchedScimSourcePropertyMappingRequest.md)> | | | + +### Return type + +[**models::ScimSourcePropertyMapping**](SCIMSourcePropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_scim_retrieve + +> models::ScimSourcePropertyMapping propertymappings_source_scim_retrieve(pm_uuid) + + +SCIMSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this SCIM Source Property Mapping. | [required] | + +### Return type + +[**models::ScimSourcePropertyMapping**](SCIMSourcePropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_scim_update + +> models::ScimSourcePropertyMapping propertymappings_source_scim_update(pm_uuid, scim_source_property_mapping_request) + + +SCIMSourcePropertyMapping Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this SCIM Source Property Mapping. | [required] | +**scim_source_property_mapping_request** | [**ScimSourcePropertyMappingRequest**](ScimSourcePropertyMappingRequest.md) | | [required] | + +### Return type + +[**models::ScimSourcePropertyMapping**](SCIMSourcePropertyMapping.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## propertymappings_source_scim_used_by_list + +> Vec propertymappings_source_scim_used_by_list(pm_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pm_uuid** | **uuid::Uuid** | A UUID string identifying this SCIM Source Property Mapping. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/ProtocolEnum.md b/docs/ProtocolEnum.md new file mode 100644 index 0000000..6250ee3 --- /dev/null +++ b/docs/ProtocolEnum.md @@ -0,0 +1,14 @@ +# ProtocolEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Rdp | rdp | +| Vnc | vnc | +| Ssh | ssh | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Provider.md b/docs/Provider.md new file mode 100644 index 0000000..bbbf053 --- /dev/null +++ b/docs/Provider.md @@ -0,0 +1,23 @@ +# Provider + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**name** | **String** | | +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used for authentication when the associated application is accessed by an un-authenticated user. | [optional] +**authorization_flow** | [**uuid::Uuid**](uuid::Uuid.md) | Flow used when authorizing this provider. | +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**assigned_application_slug** | **String** | Internal application name, used in URLs. | [readonly] +**assigned_application_name** | **String** | Application's display Name. | [readonly] +**assigned_backchannel_application_slug** | **String** | Internal application name, used in URLs. | [readonly] +**assigned_backchannel_application_name** | **String** | Application's display Name. | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ProviderEnum.md b/docs/ProviderEnum.md new file mode 100644 index 0000000..caaf665 --- /dev/null +++ b/docs/ProviderEnum.md @@ -0,0 +1,13 @@ +# ProviderEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Twilio | twilio | +| Generic | generic | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ProviderModelEnum.md b/docs/ProviderModelEnum.md new file mode 100644 index 0000000..2b94c96 --- /dev/null +++ b/docs/ProviderModelEnum.md @@ -0,0 +1,20 @@ +# ProviderModelEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| GoogleWorkspacePeriodGoogleworkspaceprovider | authentik_providers_google_workspace.googleworkspaceprovider | +| LdapPeriodLdapprovider | authentik_providers_ldap.ldapprovider | +| MicrosoftEntraPeriodMicrosoftentraprovider | authentik_providers_microsoft_entra.microsoftentraprovider | +| Oauth2PeriodOauth2provider | authentik_providers_oauth2.oauth2provider | +| ProxyPeriodProxyprovider | authentik_providers_proxy.proxyprovider | +| RacPeriodRacprovider | authentik_providers_rac.racprovider | +| RadiusPeriodRadiusprovider | authentik_providers_radius.radiusprovider | +| SamlPeriodSamlprovider | authentik_providers_saml.samlprovider | +| ScimPeriodScimprovider | authentik_providers_scim.scimprovider | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ProviderRequest.md b/docs/ProviderRequest.md new file mode 100644 index 0000000..60ee29a --- /dev/null +++ b/docs/ProviderRequest.md @@ -0,0 +1,14 @@ +# ProviderRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used for authentication when the associated application is accessed by an un-authenticated user. | [optional] +**authorization_flow** | [**uuid::Uuid**](uuid::Uuid.md) | Flow used when authorizing this provider. | +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ProviderTypeEnum.md b/docs/ProviderTypeEnum.md new file mode 100644 index 0000000..3f86ec4 --- /dev/null +++ b/docs/ProviderTypeEnum.md @@ -0,0 +1,25 @@ +# ProviderTypeEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Apple | apple | +| Openidconnect | openidconnect | +| Azuread | azuread | +| Discord | discord | +| Facebook | facebook | +| Github | github | +| Gitlab | gitlab | +| Google | google | +| Mailcow | mailcow | +| Okta | okta | +| Patreon | patreon | +| Reddit | reddit | +| Twitch | twitch | +| Twitter | twitter | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ProvidersApi.md b/docs/ProvidersApi.md new file mode 100644 index 0000000..2d89196 --- /dev/null +++ b/docs/ProvidersApi.md @@ -0,0 +1,3557 @@ +# \ProvidersApi + +All URIs are relative to *http://localhost/api/v3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**providers_all_destroy**](ProvidersApi.md#providers_all_destroy) | **DELETE** /providers/all/{id}/ | +[**providers_all_list**](ProvidersApi.md#providers_all_list) | **GET** /providers/all/ | +[**providers_all_retrieve**](ProvidersApi.md#providers_all_retrieve) | **GET** /providers/all/{id}/ | +[**providers_all_types_list**](ProvidersApi.md#providers_all_types_list) | **GET** /providers/all/types/ | +[**providers_all_used_by_list**](ProvidersApi.md#providers_all_used_by_list) | **GET** /providers/all/{id}/used_by/ | +[**providers_google_workspace_create**](ProvidersApi.md#providers_google_workspace_create) | **POST** /providers/google_workspace/ | +[**providers_google_workspace_destroy**](ProvidersApi.md#providers_google_workspace_destroy) | **DELETE** /providers/google_workspace/{id}/ | +[**providers_google_workspace_groups_create**](ProvidersApi.md#providers_google_workspace_groups_create) | **POST** /providers/google_workspace_groups/ | +[**providers_google_workspace_groups_destroy**](ProvidersApi.md#providers_google_workspace_groups_destroy) | **DELETE** /providers/google_workspace_groups/{id}/ | +[**providers_google_workspace_groups_list**](ProvidersApi.md#providers_google_workspace_groups_list) | **GET** /providers/google_workspace_groups/ | +[**providers_google_workspace_groups_retrieve**](ProvidersApi.md#providers_google_workspace_groups_retrieve) | **GET** /providers/google_workspace_groups/{id}/ | +[**providers_google_workspace_groups_used_by_list**](ProvidersApi.md#providers_google_workspace_groups_used_by_list) | **GET** /providers/google_workspace_groups/{id}/used_by/ | +[**providers_google_workspace_list**](ProvidersApi.md#providers_google_workspace_list) | **GET** /providers/google_workspace/ | +[**providers_google_workspace_partial_update**](ProvidersApi.md#providers_google_workspace_partial_update) | **PATCH** /providers/google_workspace/{id}/ | +[**providers_google_workspace_retrieve**](ProvidersApi.md#providers_google_workspace_retrieve) | **GET** /providers/google_workspace/{id}/ | +[**providers_google_workspace_sync_object_create**](ProvidersApi.md#providers_google_workspace_sync_object_create) | **POST** /providers/google_workspace/{id}/sync/object/ | +[**providers_google_workspace_sync_status_retrieve**](ProvidersApi.md#providers_google_workspace_sync_status_retrieve) | **GET** /providers/google_workspace/{id}/sync/status/ | +[**providers_google_workspace_update**](ProvidersApi.md#providers_google_workspace_update) | **PUT** /providers/google_workspace/{id}/ | +[**providers_google_workspace_used_by_list**](ProvidersApi.md#providers_google_workspace_used_by_list) | **GET** /providers/google_workspace/{id}/used_by/ | +[**providers_google_workspace_users_create**](ProvidersApi.md#providers_google_workspace_users_create) | **POST** /providers/google_workspace_users/ | +[**providers_google_workspace_users_destroy**](ProvidersApi.md#providers_google_workspace_users_destroy) | **DELETE** /providers/google_workspace_users/{id}/ | +[**providers_google_workspace_users_list**](ProvidersApi.md#providers_google_workspace_users_list) | **GET** /providers/google_workspace_users/ | +[**providers_google_workspace_users_retrieve**](ProvidersApi.md#providers_google_workspace_users_retrieve) | **GET** /providers/google_workspace_users/{id}/ | +[**providers_google_workspace_users_used_by_list**](ProvidersApi.md#providers_google_workspace_users_used_by_list) | **GET** /providers/google_workspace_users/{id}/used_by/ | +[**providers_ldap_create**](ProvidersApi.md#providers_ldap_create) | **POST** /providers/ldap/ | +[**providers_ldap_destroy**](ProvidersApi.md#providers_ldap_destroy) | **DELETE** /providers/ldap/{id}/ | +[**providers_ldap_list**](ProvidersApi.md#providers_ldap_list) | **GET** /providers/ldap/ | +[**providers_ldap_partial_update**](ProvidersApi.md#providers_ldap_partial_update) | **PATCH** /providers/ldap/{id}/ | +[**providers_ldap_retrieve**](ProvidersApi.md#providers_ldap_retrieve) | **GET** /providers/ldap/{id}/ | +[**providers_ldap_update**](ProvidersApi.md#providers_ldap_update) | **PUT** /providers/ldap/{id}/ | +[**providers_ldap_used_by_list**](ProvidersApi.md#providers_ldap_used_by_list) | **GET** /providers/ldap/{id}/used_by/ | +[**providers_microsoft_entra_create**](ProvidersApi.md#providers_microsoft_entra_create) | **POST** /providers/microsoft_entra/ | +[**providers_microsoft_entra_destroy**](ProvidersApi.md#providers_microsoft_entra_destroy) | **DELETE** /providers/microsoft_entra/{id}/ | +[**providers_microsoft_entra_groups_create**](ProvidersApi.md#providers_microsoft_entra_groups_create) | **POST** /providers/microsoft_entra_groups/ | +[**providers_microsoft_entra_groups_destroy**](ProvidersApi.md#providers_microsoft_entra_groups_destroy) | **DELETE** /providers/microsoft_entra_groups/{id}/ | +[**providers_microsoft_entra_groups_list**](ProvidersApi.md#providers_microsoft_entra_groups_list) | **GET** /providers/microsoft_entra_groups/ | +[**providers_microsoft_entra_groups_retrieve**](ProvidersApi.md#providers_microsoft_entra_groups_retrieve) | **GET** /providers/microsoft_entra_groups/{id}/ | +[**providers_microsoft_entra_groups_used_by_list**](ProvidersApi.md#providers_microsoft_entra_groups_used_by_list) | **GET** /providers/microsoft_entra_groups/{id}/used_by/ | +[**providers_microsoft_entra_list**](ProvidersApi.md#providers_microsoft_entra_list) | **GET** /providers/microsoft_entra/ | +[**providers_microsoft_entra_partial_update**](ProvidersApi.md#providers_microsoft_entra_partial_update) | **PATCH** /providers/microsoft_entra/{id}/ | +[**providers_microsoft_entra_retrieve**](ProvidersApi.md#providers_microsoft_entra_retrieve) | **GET** /providers/microsoft_entra/{id}/ | +[**providers_microsoft_entra_sync_object_create**](ProvidersApi.md#providers_microsoft_entra_sync_object_create) | **POST** /providers/microsoft_entra/{id}/sync/object/ | +[**providers_microsoft_entra_sync_status_retrieve**](ProvidersApi.md#providers_microsoft_entra_sync_status_retrieve) | **GET** /providers/microsoft_entra/{id}/sync/status/ | +[**providers_microsoft_entra_update**](ProvidersApi.md#providers_microsoft_entra_update) | **PUT** /providers/microsoft_entra/{id}/ | +[**providers_microsoft_entra_used_by_list**](ProvidersApi.md#providers_microsoft_entra_used_by_list) | **GET** /providers/microsoft_entra/{id}/used_by/ | +[**providers_microsoft_entra_users_create**](ProvidersApi.md#providers_microsoft_entra_users_create) | **POST** /providers/microsoft_entra_users/ | +[**providers_microsoft_entra_users_destroy**](ProvidersApi.md#providers_microsoft_entra_users_destroy) | **DELETE** /providers/microsoft_entra_users/{id}/ | +[**providers_microsoft_entra_users_list**](ProvidersApi.md#providers_microsoft_entra_users_list) | **GET** /providers/microsoft_entra_users/ | +[**providers_microsoft_entra_users_retrieve**](ProvidersApi.md#providers_microsoft_entra_users_retrieve) | **GET** /providers/microsoft_entra_users/{id}/ | +[**providers_microsoft_entra_users_used_by_list**](ProvidersApi.md#providers_microsoft_entra_users_used_by_list) | **GET** /providers/microsoft_entra_users/{id}/used_by/ | +[**providers_oauth2_create**](ProvidersApi.md#providers_oauth2_create) | **POST** /providers/oauth2/ | +[**providers_oauth2_destroy**](ProvidersApi.md#providers_oauth2_destroy) | **DELETE** /providers/oauth2/{id}/ | +[**providers_oauth2_list**](ProvidersApi.md#providers_oauth2_list) | **GET** /providers/oauth2/ | +[**providers_oauth2_partial_update**](ProvidersApi.md#providers_oauth2_partial_update) | **PATCH** /providers/oauth2/{id}/ | +[**providers_oauth2_preview_user_retrieve**](ProvidersApi.md#providers_oauth2_preview_user_retrieve) | **GET** /providers/oauth2/{id}/preview_user/ | +[**providers_oauth2_retrieve**](ProvidersApi.md#providers_oauth2_retrieve) | **GET** /providers/oauth2/{id}/ | +[**providers_oauth2_setup_urls_retrieve**](ProvidersApi.md#providers_oauth2_setup_urls_retrieve) | **GET** /providers/oauth2/{id}/setup_urls/ | +[**providers_oauth2_update**](ProvidersApi.md#providers_oauth2_update) | **PUT** /providers/oauth2/{id}/ | +[**providers_oauth2_used_by_list**](ProvidersApi.md#providers_oauth2_used_by_list) | **GET** /providers/oauth2/{id}/used_by/ | +[**providers_proxy_create**](ProvidersApi.md#providers_proxy_create) | **POST** /providers/proxy/ | +[**providers_proxy_destroy**](ProvidersApi.md#providers_proxy_destroy) | **DELETE** /providers/proxy/{id}/ | +[**providers_proxy_list**](ProvidersApi.md#providers_proxy_list) | **GET** /providers/proxy/ | +[**providers_proxy_partial_update**](ProvidersApi.md#providers_proxy_partial_update) | **PATCH** /providers/proxy/{id}/ | +[**providers_proxy_retrieve**](ProvidersApi.md#providers_proxy_retrieve) | **GET** /providers/proxy/{id}/ | +[**providers_proxy_update**](ProvidersApi.md#providers_proxy_update) | **PUT** /providers/proxy/{id}/ | +[**providers_proxy_used_by_list**](ProvidersApi.md#providers_proxy_used_by_list) | **GET** /providers/proxy/{id}/used_by/ | +[**providers_rac_create**](ProvidersApi.md#providers_rac_create) | **POST** /providers/rac/ | +[**providers_rac_destroy**](ProvidersApi.md#providers_rac_destroy) | **DELETE** /providers/rac/{id}/ | +[**providers_rac_list**](ProvidersApi.md#providers_rac_list) | **GET** /providers/rac/ | +[**providers_rac_partial_update**](ProvidersApi.md#providers_rac_partial_update) | **PATCH** /providers/rac/{id}/ | +[**providers_rac_retrieve**](ProvidersApi.md#providers_rac_retrieve) | **GET** /providers/rac/{id}/ | +[**providers_rac_update**](ProvidersApi.md#providers_rac_update) | **PUT** /providers/rac/{id}/ | +[**providers_rac_used_by_list**](ProvidersApi.md#providers_rac_used_by_list) | **GET** /providers/rac/{id}/used_by/ | +[**providers_radius_create**](ProvidersApi.md#providers_radius_create) | **POST** /providers/radius/ | +[**providers_radius_destroy**](ProvidersApi.md#providers_radius_destroy) | **DELETE** /providers/radius/{id}/ | +[**providers_radius_list**](ProvidersApi.md#providers_radius_list) | **GET** /providers/radius/ | +[**providers_radius_partial_update**](ProvidersApi.md#providers_radius_partial_update) | **PATCH** /providers/radius/{id}/ | +[**providers_radius_retrieve**](ProvidersApi.md#providers_radius_retrieve) | **GET** /providers/radius/{id}/ | +[**providers_radius_update**](ProvidersApi.md#providers_radius_update) | **PUT** /providers/radius/{id}/ | +[**providers_radius_used_by_list**](ProvidersApi.md#providers_radius_used_by_list) | **GET** /providers/radius/{id}/used_by/ | +[**providers_saml_create**](ProvidersApi.md#providers_saml_create) | **POST** /providers/saml/ | +[**providers_saml_destroy**](ProvidersApi.md#providers_saml_destroy) | **DELETE** /providers/saml/{id}/ | +[**providers_saml_import_metadata_create**](ProvidersApi.md#providers_saml_import_metadata_create) | **POST** /providers/saml/import_metadata/ | +[**providers_saml_list**](ProvidersApi.md#providers_saml_list) | **GET** /providers/saml/ | +[**providers_saml_metadata_retrieve**](ProvidersApi.md#providers_saml_metadata_retrieve) | **GET** /providers/saml/{id}/metadata/ | +[**providers_saml_partial_update**](ProvidersApi.md#providers_saml_partial_update) | **PATCH** /providers/saml/{id}/ | +[**providers_saml_preview_user_retrieve**](ProvidersApi.md#providers_saml_preview_user_retrieve) | **GET** /providers/saml/{id}/preview_user/ | +[**providers_saml_retrieve**](ProvidersApi.md#providers_saml_retrieve) | **GET** /providers/saml/{id}/ | +[**providers_saml_update**](ProvidersApi.md#providers_saml_update) | **PUT** /providers/saml/{id}/ | +[**providers_saml_used_by_list**](ProvidersApi.md#providers_saml_used_by_list) | **GET** /providers/saml/{id}/used_by/ | +[**providers_scim_create**](ProvidersApi.md#providers_scim_create) | **POST** /providers/scim/ | +[**providers_scim_destroy**](ProvidersApi.md#providers_scim_destroy) | **DELETE** /providers/scim/{id}/ | +[**providers_scim_groups_create**](ProvidersApi.md#providers_scim_groups_create) | **POST** /providers/scim_groups/ | +[**providers_scim_groups_destroy**](ProvidersApi.md#providers_scim_groups_destroy) | **DELETE** /providers/scim_groups/{id}/ | +[**providers_scim_groups_list**](ProvidersApi.md#providers_scim_groups_list) | **GET** /providers/scim_groups/ | +[**providers_scim_groups_retrieve**](ProvidersApi.md#providers_scim_groups_retrieve) | **GET** /providers/scim_groups/{id}/ | +[**providers_scim_groups_used_by_list**](ProvidersApi.md#providers_scim_groups_used_by_list) | **GET** /providers/scim_groups/{id}/used_by/ | +[**providers_scim_list**](ProvidersApi.md#providers_scim_list) | **GET** /providers/scim/ | +[**providers_scim_partial_update**](ProvidersApi.md#providers_scim_partial_update) | **PATCH** /providers/scim/{id}/ | +[**providers_scim_retrieve**](ProvidersApi.md#providers_scim_retrieve) | **GET** /providers/scim/{id}/ | +[**providers_scim_sync_object_create**](ProvidersApi.md#providers_scim_sync_object_create) | **POST** /providers/scim/{id}/sync/object/ | +[**providers_scim_sync_status_retrieve**](ProvidersApi.md#providers_scim_sync_status_retrieve) | **GET** /providers/scim/{id}/sync/status/ | +[**providers_scim_update**](ProvidersApi.md#providers_scim_update) | **PUT** /providers/scim/{id}/ | +[**providers_scim_used_by_list**](ProvidersApi.md#providers_scim_used_by_list) | **GET** /providers/scim/{id}/used_by/ | +[**providers_scim_users_create**](ProvidersApi.md#providers_scim_users_create) | **POST** /providers/scim_users/ | +[**providers_scim_users_destroy**](ProvidersApi.md#providers_scim_users_destroy) | **DELETE** /providers/scim_users/{id}/ | +[**providers_scim_users_list**](ProvidersApi.md#providers_scim_users_list) | **GET** /providers/scim_users/ | +[**providers_scim_users_retrieve**](ProvidersApi.md#providers_scim_users_retrieve) | **GET** /providers/scim_users/{id}/ | +[**providers_scim_users_used_by_list**](ProvidersApi.md#providers_scim_users_used_by_list) | **GET** /providers/scim_users/{id}/used_by/ | + + + +## providers_all_destroy + +> providers_all_destroy(id) + + +Provider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this provider. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_all_list + +> models::PaginatedProviderList providers_all_list(application__isnull, backchannel, ordering, page, page_size, search) + + +Provider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**application__isnull** | Option<**bool**> | | | +**backchannel** | Option<**bool**> | When not set all providers are returned. When set to true, only backchannel providers are returned. When set to false, backchannel providers are excluded | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedProviderList**](PaginatedProviderList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_all_retrieve + +> models::Provider providers_all_retrieve(id) + + +Provider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this provider. | [required] | + +### Return type + +[**models::Provider**](Provider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_all_types_list + +> Vec providers_all_types_list() + + +Get all creatable types + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**Vec**](TypeCreate.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_all_used_by_list + +> Vec providers_all_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this provider. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_google_workspace_create + +> models::GoogleWorkspaceProvider providers_google_workspace_create(google_workspace_provider_request) + + +GoogleWorkspaceProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**google_workspace_provider_request** | [**GoogleWorkspaceProviderRequest**](GoogleWorkspaceProviderRequest.md) | | [required] | + +### Return type + +[**models::GoogleWorkspaceProvider**](GoogleWorkspaceProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_google_workspace_destroy + +> providers_google_workspace_destroy(id) + + +GoogleWorkspaceProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Google Workspace Provider. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_google_workspace_groups_create + +> models::GoogleWorkspaceProviderGroup providers_google_workspace_groups_create(google_workspace_provider_group_request) + + +GoogleWorkspaceProviderGroup Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**google_workspace_provider_group_request** | [**GoogleWorkspaceProviderGroupRequest**](GoogleWorkspaceProviderGroupRequest.md) | | [required] | + +### Return type + +[**models::GoogleWorkspaceProviderGroup**](GoogleWorkspaceProviderGroup.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_google_workspace_groups_destroy + +> providers_google_workspace_groups_destroy(id) + + +GoogleWorkspaceProviderGroup Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | A UUID string identifying this Google Workspace Provider Group. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_google_workspace_groups_list + +> models::PaginatedGoogleWorkspaceProviderGroupList providers_google_workspace_groups_list(group__group_uuid, group__name, ordering, page, page_size, provider__id, search) + + +GoogleWorkspaceProviderGroup Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**group__group_uuid** | Option<**uuid::Uuid**> | | | +**group__name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**provider__id** | Option<**i32**> | | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedGoogleWorkspaceProviderGroupList**](PaginatedGoogleWorkspaceProviderGroupList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_google_workspace_groups_retrieve + +> models::GoogleWorkspaceProviderGroup providers_google_workspace_groups_retrieve(id) + + +GoogleWorkspaceProviderGroup Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | A UUID string identifying this Google Workspace Provider Group. | [required] | + +### Return type + +[**models::GoogleWorkspaceProviderGroup**](GoogleWorkspaceProviderGroup.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_google_workspace_groups_used_by_list + +> Vec providers_google_workspace_groups_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | A UUID string identifying this Google Workspace Provider Group. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_google_workspace_list + +> models::PaginatedGoogleWorkspaceProviderList providers_google_workspace_list(delegated_subject, exclude_users_service_account, filter_group, name, ordering, page, page_size, search) + + +GoogleWorkspaceProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**delegated_subject** | Option<**String**> | | | +**exclude_users_service_account** | Option<**bool**> | | | +**filter_group** | Option<**uuid::Uuid**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedGoogleWorkspaceProviderList**](PaginatedGoogleWorkspaceProviderList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_google_workspace_partial_update + +> models::GoogleWorkspaceProvider providers_google_workspace_partial_update(id, patched_google_workspace_provider_request) + + +GoogleWorkspaceProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Google Workspace Provider. | [required] | +**patched_google_workspace_provider_request** | Option<[**PatchedGoogleWorkspaceProviderRequest**](PatchedGoogleWorkspaceProviderRequest.md)> | | | + +### Return type + +[**models::GoogleWorkspaceProvider**](GoogleWorkspaceProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_google_workspace_retrieve + +> models::GoogleWorkspaceProvider providers_google_workspace_retrieve(id) + + +GoogleWorkspaceProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Google Workspace Provider. | [required] | + +### Return type + +[**models::GoogleWorkspaceProvider**](GoogleWorkspaceProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_google_workspace_sync_object_create + +> models::SyncObjectResult providers_google_workspace_sync_object_create(id, sync_object_request) + + +Sync/Re-sync a single user/group object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Google Workspace Provider. | [required] | +**sync_object_request** | [**SyncObjectRequest**](SyncObjectRequest.md) | | [required] | + +### Return type + +[**models::SyncObjectResult**](SyncObjectResult.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_google_workspace_sync_status_retrieve + +> models::SyncStatus providers_google_workspace_sync_status_retrieve(id) + + +Get provider's sync status + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Google Workspace Provider. | [required] | + +### Return type + +[**models::SyncStatus**](SyncStatus.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_google_workspace_update + +> models::GoogleWorkspaceProvider providers_google_workspace_update(id, google_workspace_provider_request) + + +GoogleWorkspaceProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Google Workspace Provider. | [required] | +**google_workspace_provider_request** | [**GoogleWorkspaceProviderRequest**](GoogleWorkspaceProviderRequest.md) | | [required] | + +### Return type + +[**models::GoogleWorkspaceProvider**](GoogleWorkspaceProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_google_workspace_used_by_list + +> Vec providers_google_workspace_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Google Workspace Provider. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_google_workspace_users_create + +> models::GoogleWorkspaceProviderUser providers_google_workspace_users_create(google_workspace_provider_user_request) + + +GoogleWorkspaceProviderUser Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**google_workspace_provider_user_request** | [**GoogleWorkspaceProviderUserRequest**](GoogleWorkspaceProviderUserRequest.md) | | [required] | + +### Return type + +[**models::GoogleWorkspaceProviderUser**](GoogleWorkspaceProviderUser.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_google_workspace_users_destroy + +> providers_google_workspace_users_destroy(id) + + +GoogleWorkspaceProviderUser Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | A UUID string identifying this Google Workspace Provider User. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_google_workspace_users_list + +> models::PaginatedGoogleWorkspaceProviderUserList providers_google_workspace_users_list(ordering, page, page_size, provider__id, search, user__id, user__username) + + +GoogleWorkspaceProviderUser Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**provider__id** | Option<**i32**> | | | +**search** | Option<**String**> | A search term. | | +**user__id** | Option<**i32**> | | | +**user__username** | Option<**String**> | | | + +### Return type + +[**models::PaginatedGoogleWorkspaceProviderUserList**](PaginatedGoogleWorkspaceProviderUserList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_google_workspace_users_retrieve + +> models::GoogleWorkspaceProviderUser providers_google_workspace_users_retrieve(id) + + +GoogleWorkspaceProviderUser Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | A UUID string identifying this Google Workspace Provider User. | [required] | + +### Return type + +[**models::GoogleWorkspaceProviderUser**](GoogleWorkspaceProviderUser.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_google_workspace_users_used_by_list + +> Vec providers_google_workspace_users_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | A UUID string identifying this Google Workspace Provider User. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_ldap_create + +> models::LdapProvider providers_ldap_create(ldap_provider_request) + + +LDAPProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**ldap_provider_request** | [**LdapProviderRequest**](LdapProviderRequest.md) | | [required] | + +### Return type + +[**models::LdapProvider**](LDAPProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_ldap_destroy + +> providers_ldap_destroy(id) + + +LDAPProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this LDAP Provider. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_ldap_list + +> models::PaginatedLdapProviderList providers_ldap_list(application__isnull, authorization_flow__slug__iexact, base_dn__iexact, certificate__kp_uuid__iexact, certificate__name__iexact, gid_start_number__iexact, name__iexact, ordering, page, page_size, search, tls_server_name__iexact, uid_start_number__iexact) + + +LDAPProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**application__isnull** | Option<**bool**> | | | +**authorization_flow__slug__iexact** | Option<**String**> | | | +**base_dn__iexact** | Option<**String**> | | | +**certificate__kp_uuid__iexact** | Option<**uuid::Uuid**> | | | +**certificate__name__iexact** | Option<**String**> | | | +**gid_start_number__iexact** | Option<**i32**> | | | +**name__iexact** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**tls_server_name__iexact** | Option<**String**> | | | +**uid_start_number__iexact** | Option<**i32**> | | | + +### Return type + +[**models::PaginatedLdapProviderList**](PaginatedLDAPProviderList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_ldap_partial_update + +> models::LdapProvider providers_ldap_partial_update(id, patched_ldap_provider_request) + + +LDAPProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this LDAP Provider. | [required] | +**patched_ldap_provider_request** | Option<[**PatchedLdapProviderRequest**](PatchedLdapProviderRequest.md)> | | | + +### Return type + +[**models::LdapProvider**](LDAPProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_ldap_retrieve + +> models::LdapProvider providers_ldap_retrieve(id) + + +LDAPProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this LDAP Provider. | [required] | + +### Return type + +[**models::LdapProvider**](LDAPProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_ldap_update + +> models::LdapProvider providers_ldap_update(id, ldap_provider_request) + + +LDAPProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this LDAP Provider. | [required] | +**ldap_provider_request** | [**LdapProviderRequest**](LdapProviderRequest.md) | | [required] | + +### Return type + +[**models::LdapProvider**](LDAPProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_ldap_used_by_list + +> Vec providers_ldap_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this LDAP Provider. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_microsoft_entra_create + +> models::MicrosoftEntraProvider providers_microsoft_entra_create(microsoft_entra_provider_request) + + +MicrosoftEntraProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**microsoft_entra_provider_request** | [**MicrosoftEntraProviderRequest**](MicrosoftEntraProviderRequest.md) | | [required] | + +### Return type + +[**models::MicrosoftEntraProvider**](MicrosoftEntraProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_microsoft_entra_destroy + +> providers_microsoft_entra_destroy(id) + + +MicrosoftEntraProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Microsoft Entra Provider. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_microsoft_entra_groups_create + +> models::MicrosoftEntraProviderGroup providers_microsoft_entra_groups_create(microsoft_entra_provider_group_request) + + +MicrosoftEntraProviderGroup Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**microsoft_entra_provider_group_request** | [**MicrosoftEntraProviderGroupRequest**](MicrosoftEntraProviderGroupRequest.md) | | [required] | + +### Return type + +[**models::MicrosoftEntraProviderGroup**](MicrosoftEntraProviderGroup.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_microsoft_entra_groups_destroy + +> providers_microsoft_entra_groups_destroy(id) + + +MicrosoftEntraProviderGroup Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | A UUID string identifying this Microsoft Entra Provider Group. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_microsoft_entra_groups_list + +> models::PaginatedMicrosoftEntraProviderGroupList providers_microsoft_entra_groups_list(group__group_uuid, group__name, ordering, page, page_size, provider__id, search) + + +MicrosoftEntraProviderGroup Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**group__group_uuid** | Option<**uuid::Uuid**> | | | +**group__name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**provider__id** | Option<**i32**> | | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedMicrosoftEntraProviderGroupList**](PaginatedMicrosoftEntraProviderGroupList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_microsoft_entra_groups_retrieve + +> models::MicrosoftEntraProviderGroup providers_microsoft_entra_groups_retrieve(id) + + +MicrosoftEntraProviderGroup Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | A UUID string identifying this Microsoft Entra Provider Group. | [required] | + +### Return type + +[**models::MicrosoftEntraProviderGroup**](MicrosoftEntraProviderGroup.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_microsoft_entra_groups_used_by_list + +> Vec providers_microsoft_entra_groups_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | A UUID string identifying this Microsoft Entra Provider Group. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_microsoft_entra_list + +> models::PaginatedMicrosoftEntraProviderList providers_microsoft_entra_list(exclude_users_service_account, filter_group, name, ordering, page, page_size, search) + + +MicrosoftEntraProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**exclude_users_service_account** | Option<**bool**> | | | +**filter_group** | Option<**uuid::Uuid**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedMicrosoftEntraProviderList**](PaginatedMicrosoftEntraProviderList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_microsoft_entra_partial_update + +> models::MicrosoftEntraProvider providers_microsoft_entra_partial_update(id, patched_microsoft_entra_provider_request) + + +MicrosoftEntraProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Microsoft Entra Provider. | [required] | +**patched_microsoft_entra_provider_request** | Option<[**PatchedMicrosoftEntraProviderRequest**](PatchedMicrosoftEntraProviderRequest.md)> | | | + +### Return type + +[**models::MicrosoftEntraProvider**](MicrosoftEntraProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_microsoft_entra_retrieve + +> models::MicrosoftEntraProvider providers_microsoft_entra_retrieve(id) + + +MicrosoftEntraProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Microsoft Entra Provider. | [required] | + +### Return type + +[**models::MicrosoftEntraProvider**](MicrosoftEntraProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_microsoft_entra_sync_object_create + +> models::SyncObjectResult providers_microsoft_entra_sync_object_create(id, sync_object_request) + + +Sync/Re-sync a single user/group object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Microsoft Entra Provider. | [required] | +**sync_object_request** | [**SyncObjectRequest**](SyncObjectRequest.md) | | [required] | + +### Return type + +[**models::SyncObjectResult**](SyncObjectResult.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_microsoft_entra_sync_status_retrieve + +> models::SyncStatus providers_microsoft_entra_sync_status_retrieve(id) + + +Get provider's sync status + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Microsoft Entra Provider. | [required] | + +### Return type + +[**models::SyncStatus**](SyncStatus.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_microsoft_entra_update + +> models::MicrosoftEntraProvider providers_microsoft_entra_update(id, microsoft_entra_provider_request) + + +MicrosoftEntraProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Microsoft Entra Provider. | [required] | +**microsoft_entra_provider_request** | [**MicrosoftEntraProviderRequest**](MicrosoftEntraProviderRequest.md) | | [required] | + +### Return type + +[**models::MicrosoftEntraProvider**](MicrosoftEntraProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_microsoft_entra_used_by_list + +> Vec providers_microsoft_entra_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Microsoft Entra Provider. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_microsoft_entra_users_create + +> models::MicrosoftEntraProviderUser providers_microsoft_entra_users_create(microsoft_entra_provider_user_request) + + +MicrosoftEntraProviderUser Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**microsoft_entra_provider_user_request** | [**MicrosoftEntraProviderUserRequest**](MicrosoftEntraProviderUserRequest.md) | | [required] | + +### Return type + +[**models::MicrosoftEntraProviderUser**](MicrosoftEntraProviderUser.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_microsoft_entra_users_destroy + +> providers_microsoft_entra_users_destroy(id) + + +MicrosoftEntraProviderUser Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | A UUID string identifying this Microsoft Entra Provider User. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_microsoft_entra_users_list + +> models::PaginatedMicrosoftEntraProviderUserList providers_microsoft_entra_users_list(ordering, page, page_size, provider__id, search, user__id, user__username) + + +MicrosoftEntraProviderUser Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**provider__id** | Option<**i32**> | | | +**search** | Option<**String**> | A search term. | | +**user__id** | Option<**i32**> | | | +**user__username** | Option<**String**> | | | + +### Return type + +[**models::PaginatedMicrosoftEntraProviderUserList**](PaginatedMicrosoftEntraProviderUserList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_microsoft_entra_users_retrieve + +> models::MicrosoftEntraProviderUser providers_microsoft_entra_users_retrieve(id) + + +MicrosoftEntraProviderUser Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | A UUID string identifying this Microsoft Entra Provider User. | [required] | + +### Return type + +[**models::MicrosoftEntraProviderUser**](MicrosoftEntraProviderUser.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_microsoft_entra_users_used_by_list + +> Vec providers_microsoft_entra_users_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | A UUID string identifying this Microsoft Entra Provider User. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_oauth2_create + +> models::OAuth2Provider providers_oauth2_create(o_auth2_provider_request) + + +OAuth2Provider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**o_auth2_provider_request** | [**OAuth2ProviderRequest**](OAuth2ProviderRequest.md) | | [required] | + +### Return type + +[**models::OAuth2Provider**](OAuth2Provider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_oauth2_destroy + +> providers_oauth2_destroy(id) + + +OAuth2Provider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this OAuth2/OpenID Provider. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_oauth2_list + +> models::PaginatedOAuth2ProviderList providers_oauth2_list(access_code_validity, access_token_validity, application, authorization_flow, client_id, client_type, include_claims_in_id_token, issuer_mode, name, ordering, page, page_size, property_mappings, redirect_uris, refresh_token_validity, search, signing_key, sub_mode) + + +OAuth2Provider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**access_code_validity** | Option<**String**> | | | +**access_token_validity** | Option<**String**> | | | +**application** | Option<**uuid::Uuid**> | | | +**authorization_flow** | Option<**uuid::Uuid**> | | | +**client_id** | Option<**String**> | | | +**client_type** | Option<**String**> | Confidential clients are capable of maintaining the confidentiality of their credentials. Public clients are incapable | | +**include_claims_in_id_token** | Option<**bool**> | | | +**issuer_mode** | Option<**String**> | Configure how the issuer field of the ID Token should be filled. | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | | +**redirect_uris** | Option<**String**> | | | +**refresh_token_validity** | Option<**String**> | | | +**search** | Option<**String**> | A search term. | | +**signing_key** | Option<**uuid::Uuid**> | | | +**sub_mode** | Option<**String**> | Configure what data should be used as unique User Identifier. For most cases, the default should be fine. | | + +### Return type + +[**models::PaginatedOAuth2ProviderList**](PaginatedOAuth2ProviderList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_oauth2_partial_update + +> models::OAuth2Provider providers_oauth2_partial_update(id, patched_o_auth2_provider_request) + + +OAuth2Provider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this OAuth2/OpenID Provider. | [required] | +**patched_o_auth2_provider_request** | Option<[**PatchedOAuth2ProviderRequest**](PatchedOAuth2ProviderRequest.md)> | | | + +### Return type + +[**models::OAuth2Provider**](OAuth2Provider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_oauth2_preview_user_retrieve + +> models::PropertyMappingPreview providers_oauth2_preview_user_retrieve(id, for_user) + + +Preview user data for provider + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this OAuth2/OpenID Provider. | [required] | +**for_user** | Option<**i32**> | | | + +### Return type + +[**models::PropertyMappingPreview**](PropertyMappingPreview.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_oauth2_retrieve + +> models::OAuth2Provider providers_oauth2_retrieve(id) + + +OAuth2Provider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this OAuth2/OpenID Provider. | [required] | + +### Return type + +[**models::OAuth2Provider**](OAuth2Provider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_oauth2_setup_urls_retrieve + +> models::OAuth2ProviderSetupUrls providers_oauth2_setup_urls_retrieve(id) + + +Get Providers setup URLs + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this OAuth2/OpenID Provider. | [required] | + +### Return type + +[**models::OAuth2ProviderSetupUrls**](OAuth2ProviderSetupURLs.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_oauth2_update + +> models::OAuth2Provider providers_oauth2_update(id, o_auth2_provider_request) + + +OAuth2Provider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this OAuth2/OpenID Provider. | [required] | +**o_auth2_provider_request** | [**OAuth2ProviderRequest**](OAuth2ProviderRequest.md) | | [required] | + +### Return type + +[**models::OAuth2Provider**](OAuth2Provider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_oauth2_used_by_list + +> Vec providers_oauth2_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this OAuth2/OpenID Provider. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_proxy_create + +> models::ProxyProvider providers_proxy_create(proxy_provider_request) + + +ProxyProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**proxy_provider_request** | [**ProxyProviderRequest**](ProxyProviderRequest.md) | | [required] | + +### Return type + +[**models::ProxyProvider**](ProxyProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_proxy_destroy + +> providers_proxy_destroy(id) + + +ProxyProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Proxy Provider. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_proxy_list + +> models::PaginatedProxyProviderList providers_proxy_list(application__isnull, authorization_flow__slug__iexact, basic_auth_enabled__iexact, basic_auth_password_attribute__iexact, basic_auth_user_attribute__iexact, certificate__kp_uuid__iexact, certificate__name__iexact, cookie_domain__iexact, external_host__iexact, internal_host__iexact, internal_host_ssl_validation__iexact, mode__iexact, name__iexact, ordering, page, page_size, property_mappings__iexact, redirect_uris__iexact, search, skip_path_regex__iexact) + + +ProxyProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**application__isnull** | Option<**bool**> | | | +**authorization_flow__slug__iexact** | Option<**String**> | | | +**basic_auth_enabled__iexact** | Option<**bool**> | | | +**basic_auth_password_attribute__iexact** | Option<**String**> | | | +**basic_auth_user_attribute__iexact** | Option<**String**> | | | +**certificate__kp_uuid__iexact** | Option<**uuid::Uuid**> | | | +**certificate__name__iexact** | Option<**String**> | | | +**cookie_domain__iexact** | Option<**String**> | | | +**external_host__iexact** | Option<**String**> | | | +**internal_host__iexact** | Option<**String**> | | | +**internal_host_ssl_validation__iexact** | Option<**bool**> | | | +**mode__iexact** | Option<**String**> | | | +**name__iexact** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**property_mappings__iexact** | Option<[**Vec**](uuid::Uuid.md)> | | | +**redirect_uris__iexact** | Option<**String**> | | | +**search** | Option<**String**> | A search term. | | +**skip_path_regex__iexact** | Option<**String**> | | | + +### Return type + +[**models::PaginatedProxyProviderList**](PaginatedProxyProviderList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_proxy_partial_update + +> models::ProxyProvider providers_proxy_partial_update(id, patched_proxy_provider_request) + + +ProxyProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Proxy Provider. | [required] | +**patched_proxy_provider_request** | Option<[**PatchedProxyProviderRequest**](PatchedProxyProviderRequest.md)> | | | + +### Return type + +[**models::ProxyProvider**](ProxyProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_proxy_retrieve + +> models::ProxyProvider providers_proxy_retrieve(id) + + +ProxyProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Proxy Provider. | [required] | + +### Return type + +[**models::ProxyProvider**](ProxyProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_proxy_update + +> models::ProxyProvider providers_proxy_update(id, proxy_provider_request) + + +ProxyProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Proxy Provider. | [required] | +**proxy_provider_request** | [**ProxyProviderRequest**](ProxyProviderRequest.md) | | [required] | + +### Return type + +[**models::ProxyProvider**](ProxyProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_proxy_used_by_list + +> Vec providers_proxy_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Proxy Provider. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_rac_create + +> models::RacProvider providers_rac_create(rac_provider_request) + + +RACProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**rac_provider_request** | [**RacProviderRequest**](RacProviderRequest.md) | | [required] | + +### Return type + +[**models::RacProvider**](RACProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_rac_destroy + +> providers_rac_destroy(id) + + +RACProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this RAC Provider. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_rac_list + +> models::PaginatedRacProviderList providers_rac_list(application__isnull, name__iexact, ordering, page, page_size, search) + + +RACProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**application__isnull** | Option<**bool**> | | | +**name__iexact** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedRacProviderList**](PaginatedRACProviderList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_rac_partial_update + +> models::RacProvider providers_rac_partial_update(id, patched_rac_provider_request) + + +RACProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this RAC Provider. | [required] | +**patched_rac_provider_request** | Option<[**PatchedRacProviderRequest**](PatchedRacProviderRequest.md)> | | | + +### Return type + +[**models::RacProvider**](RACProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_rac_retrieve + +> models::RacProvider providers_rac_retrieve(id) + + +RACProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this RAC Provider. | [required] | + +### Return type + +[**models::RacProvider**](RACProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_rac_update + +> models::RacProvider providers_rac_update(id, rac_provider_request) + + +RACProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this RAC Provider. | [required] | +**rac_provider_request** | [**RacProviderRequest**](RacProviderRequest.md) | | [required] | + +### Return type + +[**models::RacProvider**](RACProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_rac_used_by_list + +> Vec providers_rac_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this RAC Provider. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_radius_create + +> models::RadiusProvider providers_radius_create(radius_provider_request) + + +RadiusProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**radius_provider_request** | [**RadiusProviderRequest**](RadiusProviderRequest.md) | | [required] | + +### Return type + +[**models::RadiusProvider**](RadiusProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_radius_destroy + +> providers_radius_destroy(id) + + +RadiusProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Radius Provider. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_radius_list + +> models::PaginatedRadiusProviderList providers_radius_list(application__isnull, authorization_flow__slug__iexact, client_networks__iexact, name__iexact, ordering, page, page_size, search) + + +RadiusProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**application__isnull** | Option<**bool**> | | | +**authorization_flow__slug__iexact** | Option<**String**> | | | +**client_networks__iexact** | Option<**String**> | | | +**name__iexact** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedRadiusProviderList**](PaginatedRadiusProviderList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_radius_partial_update + +> models::RadiusProvider providers_radius_partial_update(id, patched_radius_provider_request) + + +RadiusProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Radius Provider. | [required] | +**patched_radius_provider_request** | Option<[**PatchedRadiusProviderRequest**](PatchedRadiusProviderRequest.md)> | | | + +### Return type + +[**models::RadiusProvider**](RadiusProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_radius_retrieve + +> models::RadiusProvider providers_radius_retrieve(id) + + +RadiusProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Radius Provider. | [required] | + +### Return type + +[**models::RadiusProvider**](RadiusProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_radius_update + +> models::RadiusProvider providers_radius_update(id, radius_provider_request) + + +RadiusProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Radius Provider. | [required] | +**radius_provider_request** | [**RadiusProviderRequest**](RadiusProviderRequest.md) | | [required] | + +### Return type + +[**models::RadiusProvider**](RadiusProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_radius_used_by_list + +> Vec providers_radius_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Radius Provider. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_saml_create + +> models::SamlProvider providers_saml_create(saml_provider_request) + + +SAMLProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**saml_provider_request** | [**SamlProviderRequest**](SamlProviderRequest.md) | | [required] | + +### Return type + +[**models::SamlProvider**](SAMLProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_saml_destroy + +> providers_saml_destroy(id) + + +SAMLProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this SAML Provider. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_saml_import_metadata_create + +> providers_saml_import_metadata_create(name, authorization_flow, file) + + +Create provider from SAML Metadata + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | **String** | | [required] | +**authorization_flow** | **uuid::Uuid** | | [required] | +**file** | **std::path::PathBuf** | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: multipart/form-data +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_saml_list + +> models::PaginatedSamlProviderList providers_saml_list(acs_url, assertion_valid_not_before, assertion_valid_not_on_or_after, audience, authentication_flow, authorization_flow, backchannel_application, default_relay_state, digest_algorithm, encryption_kp, is_backchannel, issuer, name, name_id_mapping, ordering, page, page_size, property_mappings, search, session_valid_not_on_or_after, sign_assertion, sign_response, signature_algorithm, signing_kp, sp_binding, verification_kp) + + +SAMLProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**acs_url** | Option<**String**> | | | +**assertion_valid_not_before** | Option<**String**> | | | +**assertion_valid_not_on_or_after** | Option<**String**> | | | +**audience** | Option<**String**> | | | +**authentication_flow** | Option<**uuid::Uuid**> | | | +**authorization_flow** | Option<**uuid::Uuid**> | | | +**backchannel_application** | Option<**uuid::Uuid**> | | | +**default_relay_state** | Option<**String**> | | | +**digest_algorithm** | Option<**String**> | | | +**encryption_kp** | Option<**uuid::Uuid**> | | | +**is_backchannel** | Option<**bool**> | | | +**issuer** | Option<**String**> | | | +**name** | Option<**String**> | | | +**name_id_mapping** | Option<**uuid::Uuid**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | | +**search** | Option<**String**> | A search term. | | +**session_valid_not_on_or_after** | Option<**String**> | | | +**sign_assertion** | Option<**bool**> | | | +**sign_response** | Option<**bool**> | | | +**signature_algorithm** | Option<**String**> | | | +**signing_kp** | Option<**uuid::Uuid**> | | | +**sp_binding** | Option<**String**> | This determines how authentik sends the response back to the Service Provider. | | +**verification_kp** | Option<**uuid::Uuid**> | | | + +### Return type + +[**models::PaginatedSamlProviderList**](PaginatedSAMLProviderList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_saml_metadata_retrieve + +> models::SamlMetadata providers_saml_metadata_retrieve(id, download, force_binding) + + +Return metadata as XML string + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this SAML Provider. | [required] | +**download** | Option<**bool**> | | | +**force_binding** | Option<**String**> | Optionally force the metadata to only include one binding. | | + +### Return type + +[**models::SamlMetadata**](SAMLMetadata.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_saml_partial_update + +> models::SamlProvider providers_saml_partial_update(id, patched_saml_provider_request) + + +SAMLProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this SAML Provider. | [required] | +**patched_saml_provider_request** | Option<[**PatchedSamlProviderRequest**](PatchedSamlProviderRequest.md)> | | | + +### Return type + +[**models::SamlProvider**](SAMLProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_saml_preview_user_retrieve + +> models::PropertyMappingPreview providers_saml_preview_user_retrieve(id, for_user) + + +Preview user data for provider + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this SAML Provider. | [required] | +**for_user** | Option<**i32**> | | | + +### Return type + +[**models::PropertyMappingPreview**](PropertyMappingPreview.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_saml_retrieve + +> models::SamlProvider providers_saml_retrieve(id) + + +SAMLProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this SAML Provider. | [required] | + +### Return type + +[**models::SamlProvider**](SAMLProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_saml_update + +> models::SamlProvider providers_saml_update(id, saml_provider_request) + + +SAMLProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this SAML Provider. | [required] | +**saml_provider_request** | [**SamlProviderRequest**](SamlProviderRequest.md) | | [required] | + +### Return type + +[**models::SamlProvider**](SAMLProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_saml_used_by_list + +> Vec providers_saml_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this SAML Provider. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_scim_create + +> models::ScimProvider providers_scim_create(scim_provider_request) + + +SCIMProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**scim_provider_request** | [**ScimProviderRequest**](ScimProviderRequest.md) | | [required] | + +### Return type + +[**models::ScimProvider**](SCIMProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_scim_destroy + +> providers_scim_destroy(id) + + +SCIMProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this SCIM Provider. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_scim_groups_create + +> models::ScimProviderGroup providers_scim_groups_create(scim_provider_group_request) + + +SCIMProviderGroup Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**scim_provider_group_request** | [**ScimProviderGroupRequest**](ScimProviderGroupRequest.md) | | [required] | + +### Return type + +[**models::ScimProviderGroup**](SCIMProviderGroup.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_scim_groups_destroy + +> providers_scim_groups_destroy(id) + + +SCIMProviderGroup Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | A UUID string identifying this scim provider group. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_scim_groups_list + +> models::PaginatedScimProviderGroupList providers_scim_groups_list(group__group_uuid, group__name, ordering, page, page_size, provider__id, search) + + +SCIMProviderGroup Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**group__group_uuid** | Option<**uuid::Uuid**> | | | +**group__name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**provider__id** | Option<**i32**> | | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedScimProviderGroupList**](PaginatedSCIMProviderGroupList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_scim_groups_retrieve + +> models::ScimProviderGroup providers_scim_groups_retrieve(id) + + +SCIMProviderGroup Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | A UUID string identifying this scim provider group. | [required] | + +### Return type + +[**models::ScimProviderGroup**](SCIMProviderGroup.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_scim_groups_used_by_list + +> Vec providers_scim_groups_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | A UUID string identifying this scim provider group. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_scim_list + +> models::PaginatedScimProviderList providers_scim_list(exclude_users_service_account, filter_group, name, ordering, page, page_size, search, url) + + +SCIMProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**exclude_users_service_account** | Option<**bool**> | | | +**filter_group** | Option<**uuid::Uuid**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**url** | Option<**String**> | | | + +### Return type + +[**models::PaginatedScimProviderList**](PaginatedSCIMProviderList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_scim_partial_update + +> models::ScimProvider providers_scim_partial_update(id, patched_scim_provider_request) + + +SCIMProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this SCIM Provider. | [required] | +**patched_scim_provider_request** | Option<[**PatchedScimProviderRequest**](PatchedScimProviderRequest.md)> | | | + +### Return type + +[**models::ScimProvider**](SCIMProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_scim_retrieve + +> models::ScimProvider providers_scim_retrieve(id) + + +SCIMProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this SCIM Provider. | [required] | + +### Return type + +[**models::ScimProvider**](SCIMProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_scim_sync_object_create + +> models::SyncObjectResult providers_scim_sync_object_create(id, sync_object_request) + + +Sync/Re-sync a single user/group object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this SCIM Provider. | [required] | +**sync_object_request** | [**SyncObjectRequest**](SyncObjectRequest.md) | | [required] | + +### Return type + +[**models::SyncObjectResult**](SyncObjectResult.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_scim_sync_status_retrieve + +> models::SyncStatus providers_scim_sync_status_retrieve(id) + + +Get provider's sync status + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this SCIM Provider. | [required] | + +### Return type + +[**models::SyncStatus**](SyncStatus.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_scim_update + +> models::ScimProvider providers_scim_update(id, scim_provider_request) + + +SCIMProvider Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this SCIM Provider. | [required] | +**scim_provider_request** | [**ScimProviderRequest**](ScimProviderRequest.md) | | [required] | + +### Return type + +[**models::ScimProvider**](SCIMProvider.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_scim_used_by_list + +> Vec providers_scim_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this SCIM Provider. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_scim_users_create + +> models::ScimProviderUser providers_scim_users_create(scim_provider_user_request) + + +SCIMProviderUser Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**scim_provider_user_request** | [**ScimProviderUserRequest**](ScimProviderUserRequest.md) | | [required] | + +### Return type + +[**models::ScimProviderUser**](SCIMProviderUser.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_scim_users_destroy + +> providers_scim_users_destroy(id) + + +SCIMProviderUser Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | A UUID string identifying this scim provider user. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_scim_users_list + +> models::PaginatedScimProviderUserList providers_scim_users_list(ordering, page, page_size, provider__id, search, user__id, user__username) + + +SCIMProviderUser Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**provider__id** | Option<**i32**> | | | +**search** | Option<**String**> | A search term. | | +**user__id** | Option<**i32**> | | | +**user__username** | Option<**String**> | | | + +### Return type + +[**models::PaginatedScimProviderUserList**](PaginatedSCIMProviderUserList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_scim_users_retrieve + +> models::ScimProviderUser providers_scim_users_retrieve(id) + + +SCIMProviderUser Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | A UUID string identifying this scim provider user. | [required] | + +### Return type + +[**models::ScimProviderUser**](SCIMProviderUser.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## providers_scim_users_used_by_list + +> Vec providers_scim_users_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | A UUID string identifying this scim provider user. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/ProxyMode.md b/docs/ProxyMode.md new file mode 100644 index 0000000..9b62238 --- /dev/null +++ b/docs/ProxyMode.md @@ -0,0 +1,14 @@ +# ProxyMode + +## Enum Variants + +| Name | Value | +|---- | -----| +| Proxy | proxy | +| ForwardSingle | forward_single | +| ForwardDomain | forward_domain | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ProxyOutpostConfig.md b/docs/ProxyOutpostConfig.md new file mode 100644 index 0000000..0790782 --- /dev/null +++ b/docs/ProxyOutpostConfig.md @@ -0,0 +1,31 @@ +# ProxyOutpostConfig + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**name** | **String** | | +**internal_host** | Option<**String**> | | [optional] +**external_host** | **String** | | +**internal_host_ssl_validation** | Option<**bool**> | Validate SSL Certificates of upstream servers | [optional] +**client_id** | Option<**String**> | | [optional] +**client_secret** | Option<**String**> | | [optional] +**oidc_configuration** | [**models::OpenIdConnectConfiguration**](OpenIDConnectConfiguration.md) | | [readonly] +**cookie_secret** | Option<**String**> | | [optional] +**certificate** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**skip_path_regex** | Option<**String**> | Regular expressions for which authentication is not required. Each new line is interpreted as a new Regular Expression. | [optional] +**basic_auth_enabled** | Option<**bool**> | Set a custom HTTP-Basic Authentication header based on values from authentik. | [optional] +**basic_auth_password_attribute** | Option<**String**> | User/Group Attribute used for the password part of the HTTP-Basic Header. | [optional] +**basic_auth_user_attribute** | Option<**String**> | User/Group Attribute used for the user part of the HTTP-Basic Header. If not set, the user's Email address is used. | [optional] +**mode** | Option<[**models::ProxyMode**](ProxyMode.md)> | Enable support for forwardAuth in traefik and nginx auth_request. Exclusive with internal_host. | [optional] +**cookie_domain** | Option<**String**> | | [optional] +**access_token_validity** | Option<**f64**> | Get token validity as second count | [readonly] +**intercept_header_auth** | Option<**bool**> | When enabled, this provider will intercept the authorization header and authenticate requests based on its value. | [optional] +**scopes_to_request** | **Vec** | Get all the scope names the outpost should request, including custom-defined ones | [readonly] +**assigned_application_slug** | **String** | Internal application name, used in URLs. | [readonly] +**assigned_application_name** | **String** | Application's display Name. | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ProxyProvider.md b/docs/ProxyProvider.md new file mode 100644 index 0000000..7c77e0f --- /dev/null +++ b/docs/ProxyProvider.md @@ -0,0 +1,40 @@ +# ProxyProvider + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**name** | **String** | | +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used for authentication when the associated application is accessed by an un-authenticated user. | [optional] +**authorization_flow** | [**uuid::Uuid**](uuid::Uuid.md) | Flow used when authorizing this provider. | +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**assigned_application_slug** | **String** | Internal application name, used in URLs. | [readonly] +**assigned_application_name** | **String** | Application's display Name. | [readonly] +**assigned_backchannel_application_slug** | **String** | Internal application name, used in URLs. | [readonly] +**assigned_backchannel_application_name** | **String** | Application's display Name. | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**client_id** | **String** | | [readonly] +**internal_host** | Option<**String**> | | [optional] +**external_host** | **String** | | +**internal_host_ssl_validation** | Option<**bool**> | Validate SSL Certificates of upstream servers | [optional] +**certificate** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**skip_path_regex** | Option<**String**> | Regular expressions for which authentication is not required. Each new line is interpreted as a new Regular Expression. | [optional] +**basic_auth_enabled** | Option<**bool**> | Set a custom HTTP-Basic Authentication header based on values from authentik. | [optional] +**basic_auth_password_attribute** | Option<**String**> | User/Group Attribute used for the password part of the HTTP-Basic Header. | [optional] +**basic_auth_user_attribute** | Option<**String**> | User/Group Attribute used for the user part of the HTTP-Basic Header. If not set, the user's Email address is used. | [optional] +**mode** | Option<[**models::ProxyMode**](ProxyMode.md)> | Enable support for forwardAuth in traefik and nginx auth_request. Exclusive with internal_host. | [optional] +**intercept_header_auth** | Option<**bool**> | When enabled, this provider will intercept the authorization header and authenticate requests based on its value. | [optional] +**redirect_uris** | **String** | | [readonly] +**cookie_domain** | Option<**String**> | | [optional] +**jwks_sources** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**access_token_validity** | Option<**String**> | Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). | [optional] +**refresh_token_validity** | Option<**String**> | Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). | [optional] +**outpost_set** | **Vec** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ProxyProviderRequest.md b/docs/ProxyProviderRequest.md new file mode 100644 index 0000000..b5d6800 --- /dev/null +++ b/docs/ProxyProviderRequest.md @@ -0,0 +1,28 @@ +# ProxyProviderRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used for authentication when the associated application is accessed by an un-authenticated user. | [optional] +**authorization_flow** | [**uuid::Uuid**](uuid::Uuid.md) | Flow used when authorizing this provider. | +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**internal_host** | Option<**String**> | | [optional] +**external_host** | **String** | | +**internal_host_ssl_validation** | Option<**bool**> | Validate SSL Certificates of upstream servers | [optional] +**certificate** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**skip_path_regex** | Option<**String**> | Regular expressions for which authentication is not required. Each new line is interpreted as a new Regular Expression. | [optional] +**basic_auth_enabled** | Option<**bool**> | Set a custom HTTP-Basic Authentication header based on values from authentik. | [optional] +**basic_auth_password_attribute** | Option<**String**> | User/Group Attribute used for the password part of the HTTP-Basic Header. | [optional] +**basic_auth_user_attribute** | Option<**String**> | User/Group Attribute used for the user part of the HTTP-Basic Header. If not set, the user's Email address is used. | [optional] +**mode** | Option<[**models::ProxyMode**](ProxyMode.md)> | Enable support for forwardAuth in traefik and nginx auth_request. Exclusive with internal_host. | [optional] +**intercept_header_auth** | Option<**bool**> | When enabled, this provider will intercept the authorization header and authenticate requests based on its value. | [optional] +**cookie_domain** | Option<**String**> | | [optional] +**jwks_sources** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**access_token_validity** | Option<**String**> | Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). | [optional] +**refresh_token_validity** | Option<**String**> | Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RacApi.md b/docs/RacApi.md new file mode 100644 index 0000000..7b922b5 --- /dev/null +++ b/docs/RacApi.md @@ -0,0 +1,427 @@ +# \RacApi + +All URIs are relative to *http://localhost/api/v3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**rac_connection_tokens_destroy**](RacApi.md#rac_connection_tokens_destroy) | **DELETE** /rac/connection_tokens/{connection_token_uuid}/ | +[**rac_connection_tokens_list**](RacApi.md#rac_connection_tokens_list) | **GET** /rac/connection_tokens/ | +[**rac_connection_tokens_partial_update**](RacApi.md#rac_connection_tokens_partial_update) | **PATCH** /rac/connection_tokens/{connection_token_uuid}/ | +[**rac_connection_tokens_retrieve**](RacApi.md#rac_connection_tokens_retrieve) | **GET** /rac/connection_tokens/{connection_token_uuid}/ | +[**rac_connection_tokens_update**](RacApi.md#rac_connection_tokens_update) | **PUT** /rac/connection_tokens/{connection_token_uuid}/ | +[**rac_connection_tokens_used_by_list**](RacApi.md#rac_connection_tokens_used_by_list) | **GET** /rac/connection_tokens/{connection_token_uuid}/used_by/ | +[**rac_endpoints_create**](RacApi.md#rac_endpoints_create) | **POST** /rac/endpoints/ | +[**rac_endpoints_destroy**](RacApi.md#rac_endpoints_destroy) | **DELETE** /rac/endpoints/{pbm_uuid}/ | +[**rac_endpoints_list**](RacApi.md#rac_endpoints_list) | **GET** /rac/endpoints/ | +[**rac_endpoints_partial_update**](RacApi.md#rac_endpoints_partial_update) | **PATCH** /rac/endpoints/{pbm_uuid}/ | +[**rac_endpoints_retrieve**](RacApi.md#rac_endpoints_retrieve) | **GET** /rac/endpoints/{pbm_uuid}/ | +[**rac_endpoints_update**](RacApi.md#rac_endpoints_update) | **PUT** /rac/endpoints/{pbm_uuid}/ | +[**rac_endpoints_used_by_list**](RacApi.md#rac_endpoints_used_by_list) | **GET** /rac/endpoints/{pbm_uuid}/used_by/ | + + + +## rac_connection_tokens_destroy + +> rac_connection_tokens_destroy(connection_token_uuid) + + +ConnectionToken Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**connection_token_uuid** | **uuid::Uuid** | A UUID string identifying this RAC Connection token. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rac_connection_tokens_list + +> models::PaginatedConnectionTokenList rac_connection_tokens_list(endpoint, ordering, page, page_size, provider, search, session__user) + + +ConnectionToken Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**endpoint** | Option<**uuid::Uuid**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**provider** | Option<**i32**> | | | +**search** | Option<**String**> | A search term. | | +**session__user** | Option<**i32**> | | | + +### Return type + +[**models::PaginatedConnectionTokenList**](PaginatedConnectionTokenList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rac_connection_tokens_partial_update + +> models::ConnectionToken rac_connection_tokens_partial_update(connection_token_uuid, patched_connection_token_request) + + +ConnectionToken Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**connection_token_uuid** | **uuid::Uuid** | A UUID string identifying this RAC Connection token. | [required] | +**patched_connection_token_request** | Option<[**PatchedConnectionTokenRequest**](PatchedConnectionTokenRequest.md)> | | | + +### Return type + +[**models::ConnectionToken**](ConnectionToken.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rac_connection_tokens_retrieve + +> models::ConnectionToken rac_connection_tokens_retrieve(connection_token_uuid) + + +ConnectionToken Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**connection_token_uuid** | **uuid::Uuid** | A UUID string identifying this RAC Connection token. | [required] | + +### Return type + +[**models::ConnectionToken**](ConnectionToken.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rac_connection_tokens_update + +> models::ConnectionToken rac_connection_tokens_update(connection_token_uuid, connection_token_request) + + +ConnectionToken Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**connection_token_uuid** | **uuid::Uuid** | A UUID string identifying this RAC Connection token. | [required] | +**connection_token_request** | [**ConnectionTokenRequest**](ConnectionTokenRequest.md) | | [required] | + +### Return type + +[**models::ConnectionToken**](ConnectionToken.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rac_connection_tokens_used_by_list + +> Vec rac_connection_tokens_used_by_list(connection_token_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**connection_token_uuid** | **uuid::Uuid** | A UUID string identifying this RAC Connection token. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rac_endpoints_create + +> models::Endpoint rac_endpoints_create(endpoint_request) + + +Endpoint Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**endpoint_request** | [**EndpointRequest**](EndpointRequest.md) | | [required] | + +### Return type + +[**models::Endpoint**](Endpoint.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rac_endpoints_destroy + +> rac_endpoints_destroy(pbm_uuid) + + +Endpoint Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pbm_uuid** | **uuid::Uuid** | A UUID string identifying this RAC Endpoint. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rac_endpoints_list + +> models::PaginatedEndpointList rac_endpoints_list(name, ordering, page, page_size, provider, search, superuser_full_list) + + +List accessible endpoints + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**provider** | Option<**i32**> | | | +**search** | Option<**String**> | | | +**superuser_full_list** | Option<**bool**> | | | + +### Return type + +[**models::PaginatedEndpointList**](PaginatedEndpointList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rac_endpoints_partial_update + +> models::Endpoint rac_endpoints_partial_update(pbm_uuid, patched_endpoint_request) + + +Endpoint Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pbm_uuid** | **uuid::Uuid** | A UUID string identifying this RAC Endpoint. | [required] | +**patched_endpoint_request** | Option<[**PatchedEndpointRequest**](PatchedEndpointRequest.md)> | | | + +### Return type + +[**models::Endpoint**](Endpoint.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rac_endpoints_retrieve + +> models::Endpoint rac_endpoints_retrieve(pbm_uuid) + + +Endpoint Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pbm_uuid** | **uuid::Uuid** | A UUID string identifying this RAC Endpoint. | [required] | + +### Return type + +[**models::Endpoint**](Endpoint.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rac_endpoints_update + +> models::Endpoint rac_endpoints_update(pbm_uuid, endpoint_request) + + +Endpoint Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pbm_uuid** | **uuid::Uuid** | A UUID string identifying this RAC Endpoint. | [required] | +**endpoint_request** | [**EndpointRequest**](EndpointRequest.md) | | [required] | + +### Return type + +[**models::Endpoint**](Endpoint.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rac_endpoints_used_by_list + +> Vec rac_endpoints_used_by_list(pbm_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**pbm_uuid** | **uuid::Uuid** | A UUID string identifying this RAC Endpoint. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/RacPropertyMapping.md b/docs/RacPropertyMapping.md new file mode 100644 index 0000000..e09fd0c --- /dev/null +++ b/docs/RacPropertyMapping.md @@ -0,0 +1,19 @@ +# RacPropertyMapping + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | Option<**String**> | | [optional] +**component** | **String** | Get object's component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**static_settings** | [**std::collections::HashMap**](serde_json::Value.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RacPropertyMappingRequest.md b/docs/RacPropertyMappingRequest.md new file mode 100644 index 0000000..0f78e28 --- /dev/null +++ b/docs/RacPropertyMappingRequest.md @@ -0,0 +1,14 @@ +# RacPropertyMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | Option<**String**> | | [optional] +**static_settings** | [**std::collections::HashMap**](serde_json::Value.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RacProvider.md b/docs/RacProvider.md new file mode 100644 index 0000000..112aca9 --- /dev/null +++ b/docs/RacProvider.md @@ -0,0 +1,27 @@ +# RacProvider + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**name** | **String** | | +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used for authentication when the associated application is accessed by an un-authenticated user. | [optional] +**authorization_flow** | [**uuid::Uuid**](uuid::Uuid.md) | Flow used when authorizing this provider. | +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**assigned_application_slug** | **String** | Internal application name, used in URLs. | [readonly] +**assigned_application_name** | **String** | Application's display Name. | [readonly] +**assigned_backchannel_application_slug** | **String** | Internal application name, used in URLs. | [readonly] +**assigned_backchannel_application_name** | **String** | Application's display Name. | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**settings** | Option<[**serde_json::Value**](.md)> | | [optional] +**outpost_set** | **Vec** | | [readonly] +**connection_expiry** | Option<**String**> | Determines how long a session lasts. Default of 0 means that the sessions lasts until the browser is closed. (Format: hours=-1;minutes=-2;seconds=-3) | [optional] +**delete_token_on_disconnect** | Option<**bool**> | When set to true, connection tokens will be deleted upon disconnect. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RacProviderRequest.md b/docs/RacProviderRequest.md new file mode 100644 index 0000000..e191d57 --- /dev/null +++ b/docs/RacProviderRequest.md @@ -0,0 +1,17 @@ +# RacProviderRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used for authentication when the associated application is accessed by an un-authenticated user. | [optional] +**authorization_flow** | [**uuid::Uuid**](uuid::Uuid.md) | Flow used when authorizing this provider. | +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**settings** | Option<[**serde_json::Value**](.md)> | | [optional] +**connection_expiry** | Option<**String**> | Determines how long a session lasts. Default of 0 means that the sessions lasts until the browser is closed. (Format: hours=-1;minutes=-2;seconds=-3) | [optional] +**delete_token_on_disconnect** | Option<**bool**> | When set to true, connection tokens will be deleted upon disconnect. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RadiusCheckAccess.md b/docs/RadiusCheckAccess.md new file mode 100644 index 0000000..a7c857b --- /dev/null +++ b/docs/RadiusCheckAccess.md @@ -0,0 +1,12 @@ +# RadiusCheckAccess + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | Option<**String**> | | [optional] +**access** | [**models::PolicyTestResult**](PolicyTestResult.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RadiusOutpostConfig.md b/docs/RadiusOutpostConfig.md new file mode 100644 index 0000000..699bc49 --- /dev/null +++ b/docs/RadiusOutpostConfig.md @@ -0,0 +1,17 @@ +# RadiusOutpostConfig + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**name** | **String** | | +**application_slug** | **String** | | +**auth_flow_slug** | **String** | | +**client_networks** | Option<**String**> | List of CIDRs (comma-separated) that clients can connect from. A more specific CIDR will match before a looser one. Clients connecting from a non-specified CIDR will be dropped. | [optional] +**shared_secret** | Option<**String**> | Shared secret between clients and server to hash packets. | [optional] +**mfa_support** | Option<**bool**> | When enabled, code-based multi-factor authentication can be used by appending a semicolon and the TOTP code to the password. This should only be enabled if all users that will bind to this provider have a TOTP device configured, as otherwise a password may incorrectly be rejected if it contains a semicolon. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RadiusProvider.md b/docs/RadiusProvider.md new file mode 100644 index 0000000..315e725 --- /dev/null +++ b/docs/RadiusProvider.md @@ -0,0 +1,27 @@ +# RadiusProvider + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**name** | **String** | | +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used for authentication when the associated application is accessed by an un-authenticated user. | [optional] +**authorization_flow** | [**uuid::Uuid**](uuid::Uuid.md) | Flow used when authorizing this provider. | +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**assigned_application_slug** | **String** | Internal application name, used in URLs. | [readonly] +**assigned_application_name** | **String** | Application's display Name. | [readonly] +**assigned_backchannel_application_slug** | **String** | Internal application name, used in URLs. | [readonly] +**assigned_backchannel_application_name** | **String** | Application's display Name. | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**client_networks** | Option<**String**> | List of CIDRs (comma-separated) that clients can connect from. A more specific CIDR will match before a looser one. Clients connecting from a non-specified CIDR will be dropped. | [optional] +**shared_secret** | Option<**String**> | Shared secret between clients and server to hash packets. | [optional] +**outpost_set** | **Vec** | | [readonly] +**mfa_support** | Option<**bool**> | When enabled, code-based multi-factor authentication can be used by appending a semicolon and the TOTP code to the password. This should only be enabled if all users that will bind to this provider have a TOTP device configured, as otherwise a password may incorrectly be rejected if it contains a semicolon. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RadiusProviderPropertyMapping.md b/docs/RadiusProviderPropertyMapping.md new file mode 100644 index 0000000..0d073c0 --- /dev/null +++ b/docs/RadiusProviderPropertyMapping.md @@ -0,0 +1,18 @@ +# RadiusProviderPropertyMapping + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | **String** | | +**component** | **String** | Get object's component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RadiusProviderPropertyMappingRequest.md b/docs/RadiusProviderPropertyMappingRequest.md new file mode 100644 index 0000000..afa8198 --- /dev/null +++ b/docs/RadiusProviderPropertyMappingRequest.md @@ -0,0 +1,13 @@ +# RadiusProviderPropertyMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RadiusProviderRequest.md b/docs/RadiusProviderRequest.md new file mode 100644 index 0000000..3849abc --- /dev/null +++ b/docs/RadiusProviderRequest.md @@ -0,0 +1,17 @@ +# RadiusProviderRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used for authentication when the associated application is accessed by an un-authenticated user. | [optional] +**authorization_flow** | [**uuid::Uuid**](uuid::Uuid.md) | Flow used when authorizing this provider. | +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**client_networks** | Option<**String**> | List of CIDRs (comma-separated) that clients can connect from. A more specific CIDR will match before a looser one. Clients connecting from a non-specified CIDR will be dropped. | [optional] +**shared_secret** | Option<**String**> | Shared secret between clients and server to hash packets. | [optional] +**mfa_support** | Option<**bool**> | When enabled, code-based multi-factor authentication can be used by appending a semicolon and the TOTP code to the password. This should only be enabled if all users that will bind to this provider have a TOTP device configured, as otherwise a password may incorrectly be rejected if it contains a semicolon. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RbacApi.md b/docs/RbacApi.md new file mode 100644 index 0000000..7db76a5 --- /dev/null +++ b/docs/RbacApi.md @@ -0,0 +1,823 @@ +# \RbacApi + +All URIs are relative to *http://localhost/api/v3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**rbac_permissions_assigned_by_roles_assign**](RbacApi.md#rbac_permissions_assigned_by_roles_assign) | **POST** /rbac/permissions/assigned_by_roles/{uuid}/assign/ | +[**rbac_permissions_assigned_by_roles_list**](RbacApi.md#rbac_permissions_assigned_by_roles_list) | **GET** /rbac/permissions/assigned_by_roles/ | +[**rbac_permissions_assigned_by_roles_unassign_partial_update**](RbacApi.md#rbac_permissions_assigned_by_roles_unassign_partial_update) | **PATCH** /rbac/permissions/assigned_by_roles/{uuid}/unassign/ | +[**rbac_permissions_assigned_by_users_assign**](RbacApi.md#rbac_permissions_assigned_by_users_assign) | **POST** /rbac/permissions/assigned_by_users/{id}/assign/ | +[**rbac_permissions_assigned_by_users_list**](RbacApi.md#rbac_permissions_assigned_by_users_list) | **GET** /rbac/permissions/assigned_by_users/ | +[**rbac_permissions_assigned_by_users_unassign_partial_update**](RbacApi.md#rbac_permissions_assigned_by_users_unassign_partial_update) | **PATCH** /rbac/permissions/assigned_by_users/{id}/unassign/ | +[**rbac_permissions_list**](RbacApi.md#rbac_permissions_list) | **GET** /rbac/permissions/ | +[**rbac_permissions_retrieve**](RbacApi.md#rbac_permissions_retrieve) | **GET** /rbac/permissions/{id}/ | +[**rbac_permissions_roles_destroy**](RbacApi.md#rbac_permissions_roles_destroy) | **DELETE** /rbac/permissions/roles/{id}/ | +[**rbac_permissions_roles_list**](RbacApi.md#rbac_permissions_roles_list) | **GET** /rbac/permissions/roles/ | +[**rbac_permissions_roles_partial_update**](RbacApi.md#rbac_permissions_roles_partial_update) | **PATCH** /rbac/permissions/roles/{id}/ | +[**rbac_permissions_roles_retrieve**](RbacApi.md#rbac_permissions_roles_retrieve) | **GET** /rbac/permissions/roles/{id}/ | +[**rbac_permissions_roles_update**](RbacApi.md#rbac_permissions_roles_update) | **PUT** /rbac/permissions/roles/{id}/ | +[**rbac_permissions_users_destroy**](RbacApi.md#rbac_permissions_users_destroy) | **DELETE** /rbac/permissions/users/{id}/ | +[**rbac_permissions_users_list**](RbacApi.md#rbac_permissions_users_list) | **GET** /rbac/permissions/users/ | +[**rbac_permissions_users_partial_update**](RbacApi.md#rbac_permissions_users_partial_update) | **PATCH** /rbac/permissions/users/{id}/ | +[**rbac_permissions_users_retrieve**](RbacApi.md#rbac_permissions_users_retrieve) | **GET** /rbac/permissions/users/{id}/ | +[**rbac_permissions_users_update**](RbacApi.md#rbac_permissions_users_update) | **PUT** /rbac/permissions/users/{id}/ | +[**rbac_roles_create**](RbacApi.md#rbac_roles_create) | **POST** /rbac/roles/ | +[**rbac_roles_destroy**](RbacApi.md#rbac_roles_destroy) | **DELETE** /rbac/roles/{uuid}/ | +[**rbac_roles_list**](RbacApi.md#rbac_roles_list) | **GET** /rbac/roles/ | +[**rbac_roles_partial_update**](RbacApi.md#rbac_roles_partial_update) | **PATCH** /rbac/roles/{uuid}/ | +[**rbac_roles_retrieve**](RbacApi.md#rbac_roles_retrieve) | **GET** /rbac/roles/{uuid}/ | +[**rbac_roles_update**](RbacApi.md#rbac_roles_update) | **PUT** /rbac/roles/{uuid}/ | +[**rbac_roles_used_by_list**](RbacApi.md#rbac_roles_used_by_list) | **GET** /rbac/roles/{uuid}/used_by/ | + + + +## rbac_permissions_assigned_by_roles_assign + +> Vec rbac_permissions_assigned_by_roles_assign(uuid, permission_assign_request) + + +Assign permission(s) to role. When `object_pk` is set, the permissions are only assigned to the specific object, otherwise they are assigned globally. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Role. | [required] | +**permission_assign_request** | [**PermissionAssignRequest**](PermissionAssignRequest.md) | | [required] | + +### Return type + +[**Vec**](PermissionAssignResult.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_permissions_assigned_by_roles_list + +> models::PaginatedRoleAssignedObjectPermissionList rbac_permissions_assigned_by_roles_list(model, object_pk, ordering, page, page_size, search) + + +Get assigned object permissions for a single object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**model** | **String** | | [required] | +**object_pk** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedRoleAssignedObjectPermissionList**](PaginatedRoleAssignedObjectPermissionList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_permissions_assigned_by_roles_unassign_partial_update + +> rbac_permissions_assigned_by_roles_unassign_partial_update(uuid, patched_permission_assign_request) + + +Unassign permission(s) to role. When `object_pk` is set, the permissions are only assigned to the specific object, otherwise they are assigned globally. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Role. | [required] | +**patched_permission_assign_request** | Option<[**PatchedPermissionAssignRequest**](PatchedPermissionAssignRequest.md)> | | | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_permissions_assigned_by_users_assign + +> Vec rbac_permissions_assigned_by_users_assign(id, permission_assign_request) + + +Assign permission(s) to user + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User. | [required] | +**permission_assign_request** | [**PermissionAssignRequest**](PermissionAssignRequest.md) | | [required] | + +### Return type + +[**Vec**](PermissionAssignResult.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_permissions_assigned_by_users_list + +> models::PaginatedUserAssignedObjectPermissionList rbac_permissions_assigned_by_users_list(model, object_pk, ordering, page, page_size, search) + + +Get assigned object permissions for a single object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**model** | **String** | | [required] | +**object_pk** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedUserAssignedObjectPermissionList**](PaginatedUserAssignedObjectPermissionList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_permissions_assigned_by_users_unassign_partial_update + +> rbac_permissions_assigned_by_users_unassign_partial_update(id, patched_permission_assign_request) + + +Unassign permission(s) to user. When `object_pk` is set, the permissions are only assigned to the specific object, otherwise they are assigned globally. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User. | [required] | +**patched_permission_assign_request** | Option<[**PatchedPermissionAssignRequest**](PatchedPermissionAssignRequest.md)> | | | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_permissions_list + +> models::PaginatedPermissionList rbac_permissions_list(codename, content_type__app_label, content_type__model, ordering, page, page_size, role, search, user) + + +Read-only list of all permissions, filterable by model and app + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**codename** | Option<**String**> | | | +**content_type__app_label** | Option<**String**> | | | +**content_type__model** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**role** | Option<**String**> | | | +**search** | Option<**String**> | A search term. | | +**user** | Option<**i32**> | | | + +### Return type + +[**models::PaginatedPermissionList**](PaginatedPermissionList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_permissions_retrieve + +> models::Permission rbac_permissions_retrieve(id) + + +Read-only list of all permissions, filterable by model and app + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this permission. | [required] | + +### Return type + +[**models::Permission**](Permission.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_permissions_roles_destroy + +> rbac_permissions_roles_destroy(id) + + +Get a role's assigned object permissions + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this group object permission. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_permissions_roles_list + +> models::PaginatedExtraRoleObjectPermissionList rbac_permissions_roles_list(ordering, page, page_size, search, uuid) + + +Get a role's assigned object permissions + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**uuid** | Option<**uuid::Uuid**> | | | + +### Return type + +[**models::PaginatedExtraRoleObjectPermissionList**](PaginatedExtraRoleObjectPermissionList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_permissions_roles_partial_update + +> models::ExtraRoleObjectPermission rbac_permissions_roles_partial_update(id, patched_extra_role_object_permission_request) + + +Get a role's assigned object permissions + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this group object permission. | [required] | +**patched_extra_role_object_permission_request** | Option<[**PatchedExtraRoleObjectPermissionRequest**](PatchedExtraRoleObjectPermissionRequest.md)> | | | + +### Return type + +[**models::ExtraRoleObjectPermission**](ExtraRoleObjectPermission.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_permissions_roles_retrieve + +> models::ExtraRoleObjectPermission rbac_permissions_roles_retrieve(id) + + +Get a role's assigned object permissions + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this group object permission. | [required] | + +### Return type + +[**models::ExtraRoleObjectPermission**](ExtraRoleObjectPermission.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_permissions_roles_update + +> models::ExtraRoleObjectPermission rbac_permissions_roles_update(id, extra_role_object_permission_request) + + +Get a role's assigned object permissions + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this group object permission. | [required] | +**extra_role_object_permission_request** | [**ExtraRoleObjectPermissionRequest**](ExtraRoleObjectPermissionRequest.md) | | [required] | + +### Return type + +[**models::ExtraRoleObjectPermission**](ExtraRoleObjectPermission.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_permissions_users_destroy + +> rbac_permissions_users_destroy(id) + + +Get a users's assigned object permissions + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this user object permission. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_permissions_users_list + +> models::PaginatedExtraUserObjectPermissionList rbac_permissions_users_list(ordering, page, page_size, search, user_id) + + +Get a users's assigned object permissions + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**user_id** | Option<**i32**> | | | + +### Return type + +[**models::PaginatedExtraUserObjectPermissionList**](PaginatedExtraUserObjectPermissionList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_permissions_users_partial_update + +> models::ExtraUserObjectPermission rbac_permissions_users_partial_update(id, patched_extra_user_object_permission_request) + + +Get a users's assigned object permissions + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this user object permission. | [required] | +**patched_extra_user_object_permission_request** | Option<[**PatchedExtraUserObjectPermissionRequest**](PatchedExtraUserObjectPermissionRequest.md)> | | | + +### Return type + +[**models::ExtraUserObjectPermission**](ExtraUserObjectPermission.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_permissions_users_retrieve + +> models::ExtraUserObjectPermission rbac_permissions_users_retrieve(id) + + +Get a users's assigned object permissions + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this user object permission. | [required] | + +### Return type + +[**models::ExtraUserObjectPermission**](ExtraUserObjectPermission.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_permissions_users_update + +> models::ExtraUserObjectPermission rbac_permissions_users_update(id, extra_user_object_permission_request) + + +Get a users's assigned object permissions + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this user object permission. | [required] | +**extra_user_object_permission_request** | [**ExtraUserObjectPermissionRequest**](ExtraUserObjectPermissionRequest.md) | | [required] | + +### Return type + +[**models::ExtraUserObjectPermission**](ExtraUserObjectPermission.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_roles_create + +> models::Role rbac_roles_create(role_request) + + +Role viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**role_request** | [**RoleRequest**](RoleRequest.md) | | [required] | + +### Return type + +[**models::Role**](Role.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_roles_destroy + +> rbac_roles_destroy(uuid) + + +Role viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Role. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_roles_list + +> models::PaginatedRoleList rbac_roles_list(group__name, ordering, page, page_size, search) + + +Role viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**group__name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedRoleList**](PaginatedRoleList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_roles_partial_update + +> models::Role rbac_roles_partial_update(uuid, patched_role_request) + + +Role viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Role. | [required] | +**patched_role_request** | Option<[**PatchedRoleRequest**](PatchedRoleRequest.md)> | | | + +### Return type + +[**models::Role**](Role.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_roles_retrieve + +> models::Role rbac_roles_retrieve(uuid) + + +Role viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Role. | [required] | + +### Return type + +[**models::Role**](Role.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_roles_update + +> models::Role rbac_roles_update(uuid, role_request) + + +Role viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Role. | [required] | +**role_request** | [**RoleRequest**](RoleRequest.md) | | [required] | + +### Return type + +[**models::Role**](Role.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## rbac_roles_used_by_list + +> Vec rbac_roles_used_by_list(uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**uuid** | **uuid::Uuid** | A UUID string identifying this Role. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/RedirectChallenge.md b/docs/RedirectChallenge.md new file mode 100644 index 0000000..8ad3b91 --- /dev/null +++ b/docs/RedirectChallenge.md @@ -0,0 +1,14 @@ +# RedirectChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**flow_info** | Option<[**models::ContextualFlowInfo**](ContextualFlowInfo.md)> | | [optional] +**component** | Option<**String**> | | [optional][default to xak-flow-redirect] +**response_errors** | Option<[**std::collections::HashMap>**](Vec.md)> | | [optional] +**to** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Reputation.md b/docs/Reputation.md new file mode 100644 index 0000000..d68e3d2 --- /dev/null +++ b/docs/Reputation.md @@ -0,0 +1,17 @@ +# Reputation + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**identifier** | **String** | | +**ip** | **String** | | +**ip_geo_data** | Option<[**serde_json::Value**](.md)> | | [optional] +**ip_asn_data** | Option<[**serde_json::Value**](.md)> | | [optional] +**score** | Option<**i64**> | | [optional] +**updated** | **String** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ReputationPolicy.md b/docs/ReputationPolicy.md new file mode 100644 index 0000000..36c9e09 --- /dev/null +++ b/docs/ReputationPolicy.md @@ -0,0 +1,21 @@ +# ReputationPolicy + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**execution_logging** | Option<**bool**> | When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**bound_to** | **i32** | Return objects policy is bound to | [readonly] +**check_ip** | Option<**bool**> | | [optional] +**check_username** | Option<**bool**> | | [optional] +**threshold** | Option<**i32**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ReputationPolicyRequest.md b/docs/ReputationPolicyRequest.md new file mode 100644 index 0000000..fa9bdde --- /dev/null +++ b/docs/ReputationPolicyRequest.md @@ -0,0 +1,15 @@ +# ReputationPolicyRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**execution_logging** | Option<**bool**> | When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. | [optional] +**check_ip** | Option<**bool**> | | [optional] +**check_username** | Option<**bool**> | | [optional] +**threshold** | Option<**i32**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ResidentKeyRequirementEnum.md b/docs/ResidentKeyRequirementEnum.md new file mode 100644 index 0000000..eca6aaf --- /dev/null +++ b/docs/ResidentKeyRequirementEnum.md @@ -0,0 +1,14 @@ +# ResidentKeyRequirementEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Discouraged | discouraged | +| Preferred | preferred | +| Required | required | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Role.md b/docs/Role.md new file mode 100644 index 0000000..c537c4c --- /dev/null +++ b/docs/Role.md @@ -0,0 +1,12 @@ +# Role + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RoleAssignedObjectPermission.md b/docs/RoleAssignedObjectPermission.md new file mode 100644 index 0000000..7fd37d7 --- /dev/null +++ b/docs/RoleAssignedObjectPermission.md @@ -0,0 +1,13 @@ +# RoleAssignedObjectPermission + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**role_pk** | **String** | | [readonly] +**name** | **String** | | [readonly] +**permissions** | [**Vec**](RoleObjectPermission.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RoleObjectPermission.md b/docs/RoleObjectPermission.md new file mode 100644 index 0000000..385ca01 --- /dev/null +++ b/docs/RoleObjectPermission.md @@ -0,0 +1,16 @@ +# RoleObjectPermission + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **i32** | | [readonly] +**codename** | **String** | | [readonly] +**model** | **String** | | [readonly] +**app_label** | **String** | | [readonly] +**object_pk** | **String** | | +**name** | **String** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RoleRequest.md b/docs/RoleRequest.md new file mode 100644 index 0000000..e0efbd3 --- /dev/null +++ b/docs/RoleRequest.md @@ -0,0 +1,11 @@ +# RoleRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RootApi.md b/docs/RootApi.md new file mode 100644 index 0000000..f1cf942 --- /dev/null +++ b/docs/RootApi.md @@ -0,0 +1,36 @@ +# \RootApi + +All URIs are relative to *http://localhost/api/v3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**root_config_retrieve**](RootApi.md#root_config_retrieve) | **GET** /root/config/ | + + + +## root_config_retrieve + +> models::Config root_config_retrieve() + + +Retrieve public configuration options + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**models::Config**](Config.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/SamlMetadata.md b/docs/SamlMetadata.md new file mode 100644 index 0000000..9bd0087 --- /dev/null +++ b/docs/SamlMetadata.md @@ -0,0 +1,12 @@ +# SamlMetadata + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**metadata** | **String** | | [readonly] +**download_url** | **String** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SamlPropertyMapping.md b/docs/SamlPropertyMapping.md new file mode 100644 index 0000000..d37d25b --- /dev/null +++ b/docs/SamlPropertyMapping.md @@ -0,0 +1,20 @@ +# SamlPropertyMapping + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | **String** | | +**component** | **String** | Get object's component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**saml_name** | **String** | | +**friendly_name** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SamlPropertyMappingRequest.md b/docs/SamlPropertyMappingRequest.md new file mode 100644 index 0000000..705b67e --- /dev/null +++ b/docs/SamlPropertyMappingRequest.md @@ -0,0 +1,15 @@ +# SamlPropertyMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | **String** | | +**saml_name** | **String** | | +**friendly_name** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SamlProvider.md b/docs/SamlProvider.md new file mode 100644 index 0000000..047e0a4 --- /dev/null +++ b/docs/SamlProvider.md @@ -0,0 +1,45 @@ +# SamlProvider + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**name** | **String** | | +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used for authentication when the associated application is accessed by an un-authenticated user. | [optional] +**authorization_flow** | [**uuid::Uuid**](uuid::Uuid.md) | Flow used when authorizing this provider. | +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**assigned_application_slug** | **String** | Internal application name, used in URLs. | [readonly] +**assigned_application_name** | **String** | Application's display Name. | [readonly] +**assigned_backchannel_application_slug** | **String** | Internal application name, used in URLs. | [readonly] +**assigned_backchannel_application_name** | **String** | Application's display Name. | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**acs_url** | **String** | | +**audience** | Option<**String**> | Value of the audience restriction field of the assertion. When left empty, no audience restriction will be added. | [optional] +**issuer** | Option<**String**> | Also known as EntityID | [optional] +**assertion_valid_not_before** | Option<**String**> | Assertion valid not before current time + this value (Format: hours=-1;minutes=-2;seconds=-3). | [optional] +**assertion_valid_not_on_or_after** | Option<**String**> | Assertion not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). | [optional] +**session_valid_not_on_or_after** | Option<**String**> | Session not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). | [optional] +**name_id_mapping** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Configure how the NameID value will be created. When left empty, the NameIDPolicy of the incoming request will be considered | [optional] +**digest_algorithm** | Option<[**models::DigestAlgorithmEnum**](DigestAlgorithmEnum.md)> | | [optional] +**signature_algorithm** | Option<[**models::SignatureAlgorithmEnum**](SignatureAlgorithmEnum.md)> | | [optional] +**signing_kp** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Keypair used to sign outgoing Responses going to the Service Provider. | [optional] +**verification_kp** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | When selected, incoming assertion's Signatures will be validated against this certificate. To allow unsigned Requests, leave on default. | [optional] +**encryption_kp** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. | [optional] +**sign_assertion** | Option<**bool**> | | [optional] +**sign_response** | Option<**bool**> | | [optional] +**sp_binding** | Option<[**models::SpBindingEnum**](SpBindingEnum.md)> | This determines how authentik sends the response back to the Service Provider. | [optional] +**default_relay_state** | Option<**String**> | Default relay_state value for IDP-initiated logins | [optional] +**url_download_metadata** | **String** | Get metadata download URL | [readonly] +**url_sso_post** | **String** | Get SSO Post URL | [readonly] +**url_sso_redirect** | **String** | Get SSO Redirect URL | [readonly] +**url_sso_init** | **String** | Get SSO IDP-Initiated URL | [readonly] +**url_slo_post** | **String** | Get SLO POST URL | [readonly] +**url_slo_redirect** | **String** | Get SLO redirect URL | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SamlProviderRequest.md b/docs/SamlProviderRequest.md new file mode 100644 index 0000000..5bb39da --- /dev/null +++ b/docs/SamlProviderRequest.md @@ -0,0 +1,30 @@ +# SamlProviderRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow used for authentication when the associated application is accessed by an un-authenticated user. | [optional] +**authorization_flow** | [**uuid::Uuid**](uuid::Uuid.md) | Flow used when authorizing this provider. | +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**acs_url** | **String** | | +**audience** | Option<**String**> | Value of the audience restriction field of the assertion. When left empty, no audience restriction will be added. | [optional] +**issuer** | Option<**String**> | Also known as EntityID | [optional] +**assertion_valid_not_before** | Option<**String**> | Assertion valid not before current time + this value (Format: hours=-1;minutes=-2;seconds=-3). | [optional] +**assertion_valid_not_on_or_after** | Option<**String**> | Assertion not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). | [optional] +**session_valid_not_on_or_after** | Option<**String**> | Session not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). | [optional] +**name_id_mapping** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Configure how the NameID value will be created. When left empty, the NameIDPolicy of the incoming request will be considered | [optional] +**digest_algorithm** | Option<[**models::DigestAlgorithmEnum**](DigestAlgorithmEnum.md)> | | [optional] +**signature_algorithm** | Option<[**models::SignatureAlgorithmEnum**](SignatureAlgorithmEnum.md)> | | [optional] +**signing_kp** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Keypair used to sign outgoing Responses going to the Service Provider. | [optional] +**verification_kp** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | When selected, incoming assertion's Signatures will be validated against this certificate. To allow unsigned Requests, leave on default. | [optional] +**encryption_kp** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. | [optional] +**sign_assertion** | Option<**bool**> | | [optional] +**sign_response** | Option<**bool**> | | [optional] +**sp_binding** | Option<[**models::SpBindingEnum**](SpBindingEnum.md)> | This determines how authentik sends the response back to the Service Provider. | [optional] +**default_relay_state** | Option<**String**> | Default relay_state value for IDP-initiated logins | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SamlSource.md b/docs/SamlSource.md new file mode 100644 index 0000000..b6b6ff3 --- /dev/null +++ b/docs/SamlSource.md @@ -0,0 +1,41 @@ +# SamlSource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | Source's display Name. | +**slug** | **String** | Internal source name, used in URLs. | +**enabled** | Option<**bool**> | | [optional] +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when authenticating existing users. | [optional] +**enrollment_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when enrolling new users. | [optional] +**user_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**group_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**user_matching_mode** | Option<[**models::UserMatchingModeEnum**](UserMatchingModeEnum.md)> | How the source determines if an existing user should be authenticated or a new user enrolled. | [optional] +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [readonly] +**user_path_template** | Option<**String**> | | [optional] +**icon** | **String** | | [readonly] +**group_matching_mode** | Option<[**models::GroupMatchingModeEnum**](GroupMatchingModeEnum.md)> | How the source determines if an existing group should be used or a new group created. | [optional] +**pre_authentication_flow** | [**uuid::Uuid**](uuid::Uuid.md) | Flow used before authentication. | +**issuer** | Option<**String**> | Also known as Entity ID. Defaults the Metadata URL. | [optional] +**sso_url** | **String** | URL that the initial Login request is sent to. | +**slo_url** | Option<**String**> | Optional URL if your IDP supports Single-Logout. | [optional] +**allow_idp_initiated** | Option<**bool**> | Allows authentication flows initiated by the IdP. This can be a security risk, as no validation of the request ID is done. | [optional] +**name_id_policy** | Option<[**models::NameIdPolicyEnum**](NameIdPolicyEnum.md)> | NameID Policy sent to the IdP. Can be unset, in which case no Policy is sent. | [optional] +**binding_type** | Option<[**models::BindingTypeEnum**](BindingTypeEnum.md)> | | [optional] +**verification_kp** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | When selected, incoming assertion's Signatures will be validated against this certificate. To allow unsigned Requests, leave on default. | [optional] +**signing_kp** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Keypair used to sign outgoing Responses going to the Identity Provider. | [optional] +**digest_algorithm** | Option<[**models::DigestAlgorithmEnum**](DigestAlgorithmEnum.md)> | | [optional] +**signature_algorithm** | Option<[**models::SignatureAlgorithmEnum**](SignatureAlgorithmEnum.md)> | | [optional] +**temporary_user_delete_after** | Option<**String**> | Time offset when temporary users should be deleted. This only applies if your IDP uses the NameID Format 'transient', and the user doesn't log out manually. (Format: hours=1;minutes=2;seconds=3). | [optional] +**encryption_kp** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SamlSourcePropertyMapping.md b/docs/SamlSourcePropertyMapping.md new file mode 100644 index 0000000..0377a51 --- /dev/null +++ b/docs/SamlSourcePropertyMapping.md @@ -0,0 +1,18 @@ +# SamlSourcePropertyMapping + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | **String** | | +**component** | **String** | Get object's component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SamlSourcePropertyMappingRequest.md b/docs/SamlSourcePropertyMappingRequest.md new file mode 100644 index 0000000..5975501 --- /dev/null +++ b/docs/SamlSourcePropertyMappingRequest.md @@ -0,0 +1,13 @@ +# SamlSourcePropertyMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SamlSourceRequest.md b/docs/SamlSourceRequest.md new file mode 100644 index 0000000..22837a9 --- /dev/null +++ b/docs/SamlSourceRequest.md @@ -0,0 +1,34 @@ +# SamlSourceRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | Source's display Name. | +**slug** | **String** | Internal source name, used in URLs. | +**enabled** | Option<**bool**> | | [optional] +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when authenticating existing users. | [optional] +**enrollment_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when enrolling new users. | [optional] +**user_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**group_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**user_matching_mode** | Option<[**models::UserMatchingModeEnum**](UserMatchingModeEnum.md)> | How the source determines if an existing user should be authenticated or a new user enrolled. | [optional] +**user_path_template** | Option<**String**> | | [optional] +**group_matching_mode** | Option<[**models::GroupMatchingModeEnum**](GroupMatchingModeEnum.md)> | How the source determines if an existing group should be used or a new group created. | [optional] +**pre_authentication_flow** | [**uuid::Uuid**](uuid::Uuid.md) | Flow used before authentication. | +**issuer** | Option<**String**> | Also known as Entity ID. Defaults the Metadata URL. | [optional] +**sso_url** | **String** | URL that the initial Login request is sent to. | +**slo_url** | Option<**String**> | Optional URL if your IDP supports Single-Logout. | [optional] +**allow_idp_initiated** | Option<**bool**> | Allows authentication flows initiated by the IdP. This can be a security risk, as no validation of the request ID is done. | [optional] +**name_id_policy** | Option<[**models::NameIdPolicyEnum**](NameIdPolicyEnum.md)> | NameID Policy sent to the IdP. Can be unset, in which case no Policy is sent. | [optional] +**binding_type** | Option<[**models::BindingTypeEnum**](BindingTypeEnum.md)> | | [optional] +**verification_kp** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | When selected, incoming assertion's Signatures will be validated against this certificate. To allow unsigned Requests, leave on default. | [optional] +**signing_kp** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Keypair used to sign outgoing Responses going to the Identity Provider. | [optional] +**digest_algorithm** | Option<[**models::DigestAlgorithmEnum**](DigestAlgorithmEnum.md)> | | [optional] +**signature_algorithm** | Option<[**models::SignatureAlgorithmEnum**](SignatureAlgorithmEnum.md)> | | [optional] +**temporary_user_delete_after** | Option<**String**> | Time offset when temporary users should be deleted. This only applies if your IDP uses the NameID Format 'transient', and the user doesn't log out manually. (Format: hours=1;minutes=2;seconds=3). | [optional] +**encryption_kp** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SchemaApi.md b/docs/SchemaApi.md new file mode 100644 index 0000000..4fd2fe8 --- /dev/null +++ b/docs/SchemaApi.md @@ -0,0 +1,40 @@ +# \SchemaApi + +All URIs are relative to *http://localhost/api/v3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**schema_retrieve**](SchemaApi.md#schema_retrieve) | **GET** /schema/ | + + + +## schema_retrieve + +> std::collections::HashMap schema_retrieve(format, lang) + + +OpenApi3 schema for this API. Format can be selected via content negotiation. - YAML: application/vnd.oai.openapi - JSON: application/vnd.oai.openapi+json + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**format** | Option<**String**> | | | +**lang** | Option<**String**> | | | + +### Return type + +[**std::collections::HashMap**](serde_json::Value.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/vnd.oai.openapi, application/yaml, application/vnd.oai.openapi+json, application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/ScimMapping.md b/docs/ScimMapping.md new file mode 100644 index 0000000..6bfa451 --- /dev/null +++ b/docs/ScimMapping.md @@ -0,0 +1,18 @@ +# ScimMapping + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | **String** | | +**component** | **String** | Get object's component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ScimMappingRequest.md b/docs/ScimMappingRequest.md new file mode 100644 index 0000000..78b74d2 --- /dev/null +++ b/docs/ScimMappingRequest.md @@ -0,0 +1,13 @@ +# ScimMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ScimProvider.md b/docs/ScimProvider.md new file mode 100644 index 0000000..2bd79f8 --- /dev/null +++ b/docs/ScimProvider.md @@ -0,0 +1,24 @@ +# ScimProvider + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**name** | **String** | | +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**property_mappings_group** | Option<[**Vec**](uuid::Uuid.md)> | Property mappings used for group creation/updating. | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**assigned_backchannel_application_slug** | **String** | Internal application name, used in URLs. | [readonly] +**assigned_backchannel_application_name** | **String** | Application's display Name. | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**url** | **String** | Base URL to SCIM requests, usually ends in /v2 | +**token** | **String** | Authentication token | +**exclude_users_service_account** | Option<**bool**> | | [optional] +**filter_group** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ScimProviderGroup.md b/docs/ScimProviderGroup.md new file mode 100644 index 0000000..385e959 --- /dev/null +++ b/docs/ScimProviderGroup.md @@ -0,0 +1,15 @@ +# ScimProviderGroup + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**scim_id** | **String** | | +**group** | [**uuid::Uuid**](uuid::Uuid.md) | | +**group_obj** | [**models::UserGroup**](UserGroup.md) | | [readonly] +**provider** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ScimProviderGroupRequest.md b/docs/ScimProviderGroupRequest.md new file mode 100644 index 0000000..8f8f760 --- /dev/null +++ b/docs/ScimProviderGroupRequest.md @@ -0,0 +1,13 @@ +# ScimProviderGroupRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**scim_id** | **String** | | +**group** | [**uuid::Uuid**](uuid::Uuid.md) | | +**provider** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ScimProviderRequest.md b/docs/ScimProviderRequest.md new file mode 100644 index 0000000..56bc877 --- /dev/null +++ b/docs/ScimProviderRequest.md @@ -0,0 +1,17 @@ +# ScimProviderRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**property_mappings_group** | Option<[**Vec**](uuid::Uuid.md)> | Property mappings used for group creation/updating. | [optional] +**url** | **String** | Base URL to SCIM requests, usually ends in /v2 | +**token** | **String** | Authentication token | +**exclude_users_service_account** | Option<**bool**> | | [optional] +**filter_group** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ScimProviderUser.md b/docs/ScimProviderUser.md new file mode 100644 index 0000000..b8bcc4b --- /dev/null +++ b/docs/ScimProviderUser.md @@ -0,0 +1,15 @@ +# ScimProviderUser + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**scim_id** | **String** | | +**user** | **i32** | | +**user_obj** | [**models::GroupMember**](GroupMember.md) | | [readonly] +**provider** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ScimProviderUserRequest.md b/docs/ScimProviderUserRequest.md new file mode 100644 index 0000000..b1eef71 --- /dev/null +++ b/docs/ScimProviderUserRequest.md @@ -0,0 +1,13 @@ +# ScimProviderUserRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**scim_id** | **String** | | +**user** | **i32** | | +**provider** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ScimSource.md b/docs/ScimSource.md new file mode 100644 index 0000000..397811d --- /dev/null +++ b/docs/ScimSource.md @@ -0,0 +1,24 @@ +# ScimSource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | Source's display Name. | +**slug** | **String** | Internal source name, used in URLs. | +**enabled** | Option<**bool**> | | [optional] +**user_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**group_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [readonly] +**user_path_template** | Option<**String**> | | [optional] +**root_url** | **String** | Get Root URL | [readonly] +**token_obj** | [**models::Token**](Token.md) | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ScimSourceGroup.md b/docs/ScimSourceGroup.md new file mode 100644 index 0000000..f675d9b --- /dev/null +++ b/docs/ScimSourceGroup.md @@ -0,0 +1,15 @@ +# ScimSourceGroup + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | | +**group** | [**uuid::Uuid**](uuid::Uuid.md) | | +**group_obj** | [**models::UserGroup**](UserGroup.md) | | [readonly] +**source** | [**uuid::Uuid**](uuid::Uuid.md) | | +**attributes** | Option<[**serde_json::Value**](.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ScimSourceGroupRequest.md b/docs/ScimSourceGroupRequest.md new file mode 100644 index 0000000..4e43a0c --- /dev/null +++ b/docs/ScimSourceGroupRequest.md @@ -0,0 +1,14 @@ +# ScimSourceGroupRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | | +**group** | [**uuid::Uuid**](uuid::Uuid.md) | | +**source** | [**uuid::Uuid**](uuid::Uuid.md) | | +**attributes** | Option<[**serde_json::Value**](.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ScimSourcePropertyMapping.md b/docs/ScimSourcePropertyMapping.md new file mode 100644 index 0000000..3083858 --- /dev/null +++ b/docs/ScimSourcePropertyMapping.md @@ -0,0 +1,18 @@ +# ScimSourcePropertyMapping + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | **String** | | +**component** | **String** | Get object's component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ScimSourcePropertyMappingRequest.md b/docs/ScimSourcePropertyMappingRequest.md new file mode 100644 index 0000000..f43d4a1 --- /dev/null +++ b/docs/ScimSourcePropertyMappingRequest.md @@ -0,0 +1,13 @@ +# ScimSourcePropertyMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ScimSourceRequest.md b/docs/ScimSourceRequest.md new file mode 100644 index 0000000..7951836 --- /dev/null +++ b/docs/ScimSourceRequest.md @@ -0,0 +1,16 @@ +# ScimSourceRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | Source's display Name. | +**slug** | **String** | Internal source name, used in URLs. | +**enabled** | Option<**bool**> | | [optional] +**user_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**group_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**user_path_template** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ScimSourceUser.md b/docs/ScimSourceUser.md new file mode 100644 index 0000000..81e1b2c --- /dev/null +++ b/docs/ScimSourceUser.md @@ -0,0 +1,15 @@ +# ScimSourceUser + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | | +**user** | **i32** | | +**user_obj** | [**models::GroupMember**](GroupMember.md) | | [readonly] +**source** | [**uuid::Uuid**](uuid::Uuid.md) | | +**attributes** | Option<[**serde_json::Value**](.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ScimSourceUserRequest.md b/docs/ScimSourceUserRequest.md new file mode 100644 index 0000000..c30b03f --- /dev/null +++ b/docs/ScimSourceUserRequest.md @@ -0,0 +1,14 @@ +# ScimSourceUserRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | | +**user** | **i32** | | +**source** | [**uuid::Uuid**](uuid::Uuid.md) | | +**attributes** | Option<[**serde_json::Value**](.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ScopeMapping.md b/docs/ScopeMapping.md new file mode 100644 index 0000000..008c846 --- /dev/null +++ b/docs/ScopeMapping.md @@ -0,0 +1,20 @@ +# ScopeMapping + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | **String** | | +**component** | **String** | Get object's component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**scope_name** | **String** | Scope name requested by the client | +**description** | Option<**String**> | Description shown to the user when consenting. If left empty, the user won't be informed. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ScopeMappingRequest.md b/docs/ScopeMappingRequest.md new file mode 100644 index 0000000..6d99e5a --- /dev/null +++ b/docs/ScopeMappingRequest.md @@ -0,0 +1,15 @@ +# ScopeMappingRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**name** | **String** | | +**expression** | **String** | | +**scope_name** | **String** | Scope name requested by the client | +**description** | Option<**String**> | Description shown to the user when consenting. If left empty, the user won't be informed. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SelectableStage.md b/docs/SelectableStage.md new file mode 100644 index 0000000..69bedf1 --- /dev/null +++ b/docs/SelectableStage.md @@ -0,0 +1,14 @@ +# SelectableStage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | +**name** | **String** | | +**verbose_name** | **String** | | +**meta_model_name** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ServiceConnection.md b/docs/ServiceConnection.md new file mode 100644 index 0000000..13196a6 --- /dev/null +++ b/docs/ServiceConnection.md @@ -0,0 +1,17 @@ +# ServiceConnection + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**local** | Option<**bool**> | If enabled, use the local connection. Required Docker socket/Kubernetes Integration | [optional] +**component** | **String** | Return component used to edit this object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ServiceConnectionRequest.md b/docs/ServiceConnectionRequest.md new file mode 100644 index 0000000..4da31eb --- /dev/null +++ b/docs/ServiceConnectionRequest.md @@ -0,0 +1,12 @@ +# ServiceConnectionRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**local** | Option<**bool**> | If enabled, use the local connection. Required Docker socket/Kubernetes Integration | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ServiceConnectionState.md b/docs/ServiceConnectionState.md new file mode 100644 index 0000000..9bc2628 --- /dev/null +++ b/docs/ServiceConnectionState.md @@ -0,0 +1,12 @@ +# ServiceConnectionState + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**healthy** | **bool** | | [readonly] +**version** | **String** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SessionUser.md b/docs/SessionUser.md new file mode 100644 index 0000000..79d0e47 --- /dev/null +++ b/docs/SessionUser.md @@ -0,0 +1,12 @@ +# SessionUser + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user** | [**models::UserSelf**](UserSelf.md) | | +**original** | Option<[**models::UserSelf**](UserSelf.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Settings.md b/docs/Settings.md new file mode 100644 index 0000000..7eed51c --- /dev/null +++ b/docs/Settings.md @@ -0,0 +1,20 @@ +# Settings + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**avatars** | Option<**String**> | Configure how authentik should show avatars for users. | [optional] +**default_user_change_name** | Option<**bool**> | Enable the ability for users to change their name. | [optional] +**default_user_change_email** | Option<**bool**> | Enable the ability for users to change their email address. | [optional] +**default_user_change_username** | Option<**bool**> | Enable the ability for users to change their username. | [optional] +**event_retention** | Option<**String**> | Events will be deleted after this duration.(Format: weeks=3;days=2;hours=3,seconds=2). | [optional] +**footer_links** | Option<[**serde_json::Value**](.md)> | The option configures the footer links on the flow executor pages. | [optional] +**gdpr_compliance** | Option<**bool**> | When enabled, all the events caused by a user will be deleted upon the user's deletion. | [optional] +**impersonation** | Option<**bool**> | Globally enable/disable impersonation. | [optional] +**default_token_duration** | Option<**String**> | Default token duration | [optional] +**default_token_length** | Option<**u32**> | Default token length | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SettingsRequest.md b/docs/SettingsRequest.md new file mode 100644 index 0000000..7dbdeeb --- /dev/null +++ b/docs/SettingsRequest.md @@ -0,0 +1,20 @@ +# SettingsRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**avatars** | Option<**String**> | Configure how authentik should show avatars for users. | [optional] +**default_user_change_name** | Option<**bool**> | Enable the ability for users to change their name. | [optional] +**default_user_change_email** | Option<**bool**> | Enable the ability for users to change their email address. | [optional] +**default_user_change_username** | Option<**bool**> | Enable the ability for users to change their username. | [optional] +**event_retention** | Option<**String**> | Events will be deleted after this duration.(Format: weeks=3;days=2;hours=3,seconds=2). | [optional] +**footer_links** | Option<[**serde_json::Value**](.md)> | The option configures the footer links on the flow executor pages. | [optional] +**gdpr_compliance** | Option<**bool**> | When enabled, all the events caused by a user will be deleted upon the user's deletion. | [optional] +**impersonation** | Option<**bool**> | Globally enable/disable impersonation. | [optional] +**default_token_duration** | Option<**String**> | Default token duration | [optional] +**default_token_length** | Option<**u32**> | Default token length | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SeverityEnum.md b/docs/SeverityEnum.md new file mode 100644 index 0000000..0d2bf42 --- /dev/null +++ b/docs/SeverityEnum.md @@ -0,0 +1,14 @@ +# SeverityEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Notice | notice | +| Warning | warning | +| Alert | alert | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ShellChallenge.md b/docs/ShellChallenge.md new file mode 100644 index 0000000..44f2187 --- /dev/null +++ b/docs/ShellChallenge.md @@ -0,0 +1,14 @@ +# ShellChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**flow_info** | Option<[**models::ContextualFlowInfo**](ContextualFlowInfo.md)> | | [optional] +**component** | Option<**String**> | | [optional][default to xak-flow-shell] +**response_errors** | Option<[**std::collections::HashMap>**](Vec.md)> | | [optional] +**body** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SignatureAlgorithmEnum.md b/docs/SignatureAlgorithmEnum.md new file mode 100644 index 0000000..ad87e65 --- /dev/null +++ b/docs/SignatureAlgorithmEnum.md @@ -0,0 +1,20 @@ +# SignatureAlgorithmEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Variant2000Slash09SlashXmldsigHashRsaSha1 | http://www.w3.org/2000/09/xmldsig#rsa-sha1 | +| Variant2001Slash04SlashXmldsigMoreHashRsaSha256 | http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 | +| Variant2001Slash04SlashXmldsigMoreHashRsaSha384 | http://www.w3.org/2001/04/xmldsig-more#rsa-sha384 | +| Variant2001Slash04SlashXmldsigMoreHashRsaSha512 | http://www.w3.org/2001/04/xmldsig-more#rsa-sha512 | +| Variant2001Slash04SlashXmldsigMoreHashEcdsaSha1 | http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1 | +| Variant2001Slash04SlashXmldsigMoreHashEcdsaSha256 | http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256 | +| Variant2001Slash04SlashXmldsigMoreHashEcdsaSha384 | http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha384 | +| Variant2001Slash04SlashXmldsigMoreHashEcdsaSha512 | http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512 | +| Variant2000Slash09SlashXmldsigHashDsaSha1 | http://www.w3.org/2000/09/xmldsig#dsa-sha1 | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SmsDevice.md b/docs/SmsDevice.md new file mode 100644 index 0000000..c47a2f4 --- /dev/null +++ b/docs/SmsDevice.md @@ -0,0 +1,13 @@ +# SmsDevice + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | The human-readable name of this device. | +**pk** | **i32** | | [readonly] +**phone_number** | **String** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SmsDeviceRequest.md b/docs/SmsDeviceRequest.md new file mode 100644 index 0000000..677f746 --- /dev/null +++ b/docs/SmsDeviceRequest.md @@ -0,0 +1,11 @@ +# SmsDeviceRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | The human-readable name of this device. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Source.md b/docs/Source.md new file mode 100644 index 0000000..70569ec --- /dev/null +++ b/docs/Source.md @@ -0,0 +1,27 @@ +# Source + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | Source's display Name. | +**slug** | **String** | Internal source name, used in URLs. | +**enabled** | Option<**bool**> | | [optional] +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when authenticating existing users. | [optional] +**enrollment_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when enrolling new users. | [optional] +**user_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**group_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**component** | **String** | Get object component so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**user_matching_mode** | Option<[**models::UserMatchingModeEnum**](UserMatchingModeEnum.md)> | How the source determines if an existing user should be authenticated or a new user enrolled. | [optional] +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [readonly] +**user_path_template** | Option<**String**> | | [optional] +**icon** | Option<**String**> | Get the URL to the Icon. If the name is /static or starts with http it is returned as-is | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SourceRequest.md b/docs/SourceRequest.md new file mode 100644 index 0000000..c81f14c --- /dev/null +++ b/docs/SourceRequest.md @@ -0,0 +1,20 @@ +# SourceRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | Source's display Name. | +**slug** | **String** | Internal source name, used in URLs. | +**enabled** | Option<**bool**> | | [optional] +**authentication_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when authenticating existing users. | [optional] +**enrollment_flow** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Flow to use when enrolling new users. | [optional] +**user_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**group_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**policy_engine_mode** | Option<[**models::PolicyEngineMode**](PolicyEngineMode.md)> | | [optional] +**user_matching_mode** | Option<[**models::UserMatchingModeEnum**](UserMatchingModeEnum.md)> | How the source determines if an existing user should be authenticated or a new user enrolled. | [optional] +**user_path_template** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SourceStage.md b/docs/SourceStage.md new file mode 100644 index 0000000..3eeb5bc --- /dev/null +++ b/docs/SourceStage.md @@ -0,0 +1,19 @@ +# SourceStage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**component** | **String** | Get object type so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**flow_set** | Option<[**Vec**](FlowSet.md)> | | [optional] +**source** | [**uuid::Uuid**](uuid::Uuid.md) | | +**resume_timeout** | Option<**String**> | Amount of time a user can take to return from the source to continue the flow (Format: hours=-1;minutes=-2;seconds=-3) | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SourceStageRequest.md b/docs/SourceStageRequest.md new file mode 100644 index 0000000..ad22ebc --- /dev/null +++ b/docs/SourceStageRequest.md @@ -0,0 +1,14 @@ +# SourceStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**source** | [**uuid::Uuid**](uuid::Uuid.md) | | +**resume_timeout** | Option<**String**> | Amount of time a user can take to return from the source to continue the flow (Format: hours=-1;minutes=-2;seconds=-3) | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SourceType.md b/docs/SourceType.md new file mode 100644 index 0000000..95d9752 --- /dev/null +++ b/docs/SourceType.md @@ -0,0 +1,19 @@ +# SourceType + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**verbose_name** | **String** | | +**urls_customizable** | **bool** | | +**request_token_url** | Option<**String**> | | [readonly] +**authorization_url** | Option<**String**> | | [readonly] +**access_token_url** | Option<**String**> | | [readonly] +**profile_url** | Option<**String**> | | [readonly] +**oidc_well_known_url** | Option<**String**> | | [readonly] +**oidc_jwks_url** | Option<**String**> | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SourcesApi.md b/docs/SourcesApi.md new file mode 100644 index 0000000..3a76016 --- /dev/null +++ b/docs/SourcesApi.md @@ -0,0 +1,3570 @@ +# \SourcesApi + +All URIs are relative to *http://localhost/api/v3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**sources_all_destroy**](SourcesApi.md#sources_all_destroy) | **DELETE** /sources/all/{slug}/ | +[**sources_all_list**](SourcesApi.md#sources_all_list) | **GET** /sources/all/ | +[**sources_all_retrieve**](SourcesApi.md#sources_all_retrieve) | **GET** /sources/all/{slug}/ | +[**sources_all_set_icon_create**](SourcesApi.md#sources_all_set_icon_create) | **POST** /sources/all/{slug}/set_icon/ | +[**sources_all_set_icon_url_create**](SourcesApi.md#sources_all_set_icon_url_create) | **POST** /sources/all/{slug}/set_icon_url/ | +[**sources_all_types_list**](SourcesApi.md#sources_all_types_list) | **GET** /sources/all/types/ | +[**sources_all_used_by_list**](SourcesApi.md#sources_all_used_by_list) | **GET** /sources/all/{slug}/used_by/ | +[**sources_all_user_settings_list**](SourcesApi.md#sources_all_user_settings_list) | **GET** /sources/all/user_settings/ | +[**sources_group_connections_oauth_create**](SourcesApi.md#sources_group_connections_oauth_create) | **POST** /sources/group_connections/oauth/ | +[**sources_group_connections_oauth_destroy**](SourcesApi.md#sources_group_connections_oauth_destroy) | **DELETE** /sources/group_connections/oauth/{id}/ | +[**sources_group_connections_oauth_list**](SourcesApi.md#sources_group_connections_oauth_list) | **GET** /sources/group_connections/oauth/ | +[**sources_group_connections_oauth_partial_update**](SourcesApi.md#sources_group_connections_oauth_partial_update) | **PATCH** /sources/group_connections/oauth/{id}/ | +[**sources_group_connections_oauth_retrieve**](SourcesApi.md#sources_group_connections_oauth_retrieve) | **GET** /sources/group_connections/oauth/{id}/ | +[**sources_group_connections_oauth_update**](SourcesApi.md#sources_group_connections_oauth_update) | **PUT** /sources/group_connections/oauth/{id}/ | +[**sources_group_connections_oauth_used_by_list**](SourcesApi.md#sources_group_connections_oauth_used_by_list) | **GET** /sources/group_connections/oauth/{id}/used_by/ | +[**sources_group_connections_plex_create**](SourcesApi.md#sources_group_connections_plex_create) | **POST** /sources/group_connections/plex/ | +[**sources_group_connections_plex_destroy**](SourcesApi.md#sources_group_connections_plex_destroy) | **DELETE** /sources/group_connections/plex/{id}/ | +[**sources_group_connections_plex_list**](SourcesApi.md#sources_group_connections_plex_list) | **GET** /sources/group_connections/plex/ | +[**sources_group_connections_plex_partial_update**](SourcesApi.md#sources_group_connections_plex_partial_update) | **PATCH** /sources/group_connections/plex/{id}/ | +[**sources_group_connections_plex_retrieve**](SourcesApi.md#sources_group_connections_plex_retrieve) | **GET** /sources/group_connections/plex/{id}/ | +[**sources_group_connections_plex_update**](SourcesApi.md#sources_group_connections_plex_update) | **PUT** /sources/group_connections/plex/{id}/ | +[**sources_group_connections_plex_used_by_list**](SourcesApi.md#sources_group_connections_plex_used_by_list) | **GET** /sources/group_connections/plex/{id}/used_by/ | +[**sources_group_connections_saml_destroy**](SourcesApi.md#sources_group_connections_saml_destroy) | **DELETE** /sources/group_connections/saml/{id}/ | +[**sources_group_connections_saml_list**](SourcesApi.md#sources_group_connections_saml_list) | **GET** /sources/group_connections/saml/ | +[**sources_group_connections_saml_partial_update**](SourcesApi.md#sources_group_connections_saml_partial_update) | **PATCH** /sources/group_connections/saml/{id}/ | +[**sources_group_connections_saml_retrieve**](SourcesApi.md#sources_group_connections_saml_retrieve) | **GET** /sources/group_connections/saml/{id}/ | +[**sources_group_connections_saml_update**](SourcesApi.md#sources_group_connections_saml_update) | **PUT** /sources/group_connections/saml/{id}/ | +[**sources_group_connections_saml_used_by_list**](SourcesApi.md#sources_group_connections_saml_used_by_list) | **GET** /sources/group_connections/saml/{id}/used_by/ | +[**sources_ldap_create**](SourcesApi.md#sources_ldap_create) | **POST** /sources/ldap/ | +[**sources_ldap_debug_retrieve**](SourcesApi.md#sources_ldap_debug_retrieve) | **GET** /sources/ldap/{slug}/debug/ | +[**sources_ldap_destroy**](SourcesApi.md#sources_ldap_destroy) | **DELETE** /sources/ldap/{slug}/ | +[**sources_ldap_list**](SourcesApi.md#sources_ldap_list) | **GET** /sources/ldap/ | +[**sources_ldap_partial_update**](SourcesApi.md#sources_ldap_partial_update) | **PATCH** /sources/ldap/{slug}/ | +[**sources_ldap_retrieve**](SourcesApi.md#sources_ldap_retrieve) | **GET** /sources/ldap/{slug}/ | +[**sources_ldap_sync_status_retrieve**](SourcesApi.md#sources_ldap_sync_status_retrieve) | **GET** /sources/ldap/{slug}/sync/status/ | +[**sources_ldap_update**](SourcesApi.md#sources_ldap_update) | **PUT** /sources/ldap/{slug}/ | +[**sources_ldap_used_by_list**](SourcesApi.md#sources_ldap_used_by_list) | **GET** /sources/ldap/{slug}/used_by/ | +[**sources_oauth_create**](SourcesApi.md#sources_oauth_create) | **POST** /sources/oauth/ | +[**sources_oauth_destroy**](SourcesApi.md#sources_oauth_destroy) | **DELETE** /sources/oauth/{slug}/ | +[**sources_oauth_list**](SourcesApi.md#sources_oauth_list) | **GET** /sources/oauth/ | +[**sources_oauth_partial_update**](SourcesApi.md#sources_oauth_partial_update) | **PATCH** /sources/oauth/{slug}/ | +[**sources_oauth_retrieve**](SourcesApi.md#sources_oauth_retrieve) | **GET** /sources/oauth/{slug}/ | +[**sources_oauth_source_types_list**](SourcesApi.md#sources_oauth_source_types_list) | **GET** /sources/oauth/source_types/ | +[**sources_oauth_update**](SourcesApi.md#sources_oauth_update) | **PUT** /sources/oauth/{slug}/ | +[**sources_oauth_used_by_list**](SourcesApi.md#sources_oauth_used_by_list) | **GET** /sources/oauth/{slug}/used_by/ | +[**sources_plex_create**](SourcesApi.md#sources_plex_create) | **POST** /sources/plex/ | +[**sources_plex_destroy**](SourcesApi.md#sources_plex_destroy) | **DELETE** /sources/plex/{slug}/ | +[**sources_plex_list**](SourcesApi.md#sources_plex_list) | **GET** /sources/plex/ | +[**sources_plex_partial_update**](SourcesApi.md#sources_plex_partial_update) | **PATCH** /sources/plex/{slug}/ | +[**sources_plex_redeem_token_authenticated_create**](SourcesApi.md#sources_plex_redeem_token_authenticated_create) | **POST** /sources/plex/redeem_token_authenticated/ | +[**sources_plex_redeem_token_create**](SourcesApi.md#sources_plex_redeem_token_create) | **POST** /sources/plex/redeem_token/ | +[**sources_plex_retrieve**](SourcesApi.md#sources_plex_retrieve) | **GET** /sources/plex/{slug}/ | +[**sources_plex_update**](SourcesApi.md#sources_plex_update) | **PUT** /sources/plex/{slug}/ | +[**sources_plex_used_by_list**](SourcesApi.md#sources_plex_used_by_list) | **GET** /sources/plex/{slug}/used_by/ | +[**sources_saml_create**](SourcesApi.md#sources_saml_create) | **POST** /sources/saml/ | +[**sources_saml_destroy**](SourcesApi.md#sources_saml_destroy) | **DELETE** /sources/saml/{slug}/ | +[**sources_saml_list**](SourcesApi.md#sources_saml_list) | **GET** /sources/saml/ | +[**sources_saml_metadata_retrieve**](SourcesApi.md#sources_saml_metadata_retrieve) | **GET** /sources/saml/{slug}/metadata/ | +[**sources_saml_partial_update**](SourcesApi.md#sources_saml_partial_update) | **PATCH** /sources/saml/{slug}/ | +[**sources_saml_retrieve**](SourcesApi.md#sources_saml_retrieve) | **GET** /sources/saml/{slug}/ | +[**sources_saml_update**](SourcesApi.md#sources_saml_update) | **PUT** /sources/saml/{slug}/ | +[**sources_saml_used_by_list**](SourcesApi.md#sources_saml_used_by_list) | **GET** /sources/saml/{slug}/used_by/ | +[**sources_scim_create**](SourcesApi.md#sources_scim_create) | **POST** /sources/scim/ | +[**sources_scim_destroy**](SourcesApi.md#sources_scim_destroy) | **DELETE** /sources/scim/{slug}/ | +[**sources_scim_groups_create**](SourcesApi.md#sources_scim_groups_create) | **POST** /sources/scim_groups/ | +[**sources_scim_groups_destroy**](SourcesApi.md#sources_scim_groups_destroy) | **DELETE** /sources/scim_groups/{id}/ | +[**sources_scim_groups_list**](SourcesApi.md#sources_scim_groups_list) | **GET** /sources/scim_groups/ | +[**sources_scim_groups_partial_update**](SourcesApi.md#sources_scim_groups_partial_update) | **PATCH** /sources/scim_groups/{id}/ | +[**sources_scim_groups_retrieve**](SourcesApi.md#sources_scim_groups_retrieve) | **GET** /sources/scim_groups/{id}/ | +[**sources_scim_groups_update**](SourcesApi.md#sources_scim_groups_update) | **PUT** /sources/scim_groups/{id}/ | +[**sources_scim_groups_used_by_list**](SourcesApi.md#sources_scim_groups_used_by_list) | **GET** /sources/scim_groups/{id}/used_by/ | +[**sources_scim_list**](SourcesApi.md#sources_scim_list) | **GET** /sources/scim/ | +[**sources_scim_partial_update**](SourcesApi.md#sources_scim_partial_update) | **PATCH** /sources/scim/{slug}/ | +[**sources_scim_retrieve**](SourcesApi.md#sources_scim_retrieve) | **GET** /sources/scim/{slug}/ | +[**sources_scim_update**](SourcesApi.md#sources_scim_update) | **PUT** /sources/scim/{slug}/ | +[**sources_scim_used_by_list**](SourcesApi.md#sources_scim_used_by_list) | **GET** /sources/scim/{slug}/used_by/ | +[**sources_scim_users_create**](SourcesApi.md#sources_scim_users_create) | **POST** /sources/scim_users/ | +[**sources_scim_users_destroy**](SourcesApi.md#sources_scim_users_destroy) | **DELETE** /sources/scim_users/{id}/ | +[**sources_scim_users_list**](SourcesApi.md#sources_scim_users_list) | **GET** /sources/scim_users/ | +[**sources_scim_users_partial_update**](SourcesApi.md#sources_scim_users_partial_update) | **PATCH** /sources/scim_users/{id}/ | +[**sources_scim_users_retrieve**](SourcesApi.md#sources_scim_users_retrieve) | **GET** /sources/scim_users/{id}/ | +[**sources_scim_users_update**](SourcesApi.md#sources_scim_users_update) | **PUT** /sources/scim_users/{id}/ | +[**sources_scim_users_used_by_list**](SourcesApi.md#sources_scim_users_used_by_list) | **GET** /sources/scim_users/{id}/used_by/ | +[**sources_user_connections_all_destroy**](SourcesApi.md#sources_user_connections_all_destroy) | **DELETE** /sources/user_connections/all/{id}/ | +[**sources_user_connections_all_list**](SourcesApi.md#sources_user_connections_all_list) | **GET** /sources/user_connections/all/ | +[**sources_user_connections_all_partial_update**](SourcesApi.md#sources_user_connections_all_partial_update) | **PATCH** /sources/user_connections/all/{id}/ | +[**sources_user_connections_all_retrieve**](SourcesApi.md#sources_user_connections_all_retrieve) | **GET** /sources/user_connections/all/{id}/ | +[**sources_user_connections_all_update**](SourcesApi.md#sources_user_connections_all_update) | **PUT** /sources/user_connections/all/{id}/ | +[**sources_user_connections_all_used_by_list**](SourcesApi.md#sources_user_connections_all_used_by_list) | **GET** /sources/user_connections/all/{id}/used_by/ | +[**sources_user_connections_oauth_create**](SourcesApi.md#sources_user_connections_oauth_create) | **POST** /sources/user_connections/oauth/ | +[**sources_user_connections_oauth_destroy**](SourcesApi.md#sources_user_connections_oauth_destroy) | **DELETE** /sources/user_connections/oauth/{id}/ | +[**sources_user_connections_oauth_list**](SourcesApi.md#sources_user_connections_oauth_list) | **GET** /sources/user_connections/oauth/ | +[**sources_user_connections_oauth_partial_update**](SourcesApi.md#sources_user_connections_oauth_partial_update) | **PATCH** /sources/user_connections/oauth/{id}/ | +[**sources_user_connections_oauth_retrieve**](SourcesApi.md#sources_user_connections_oauth_retrieve) | **GET** /sources/user_connections/oauth/{id}/ | +[**sources_user_connections_oauth_update**](SourcesApi.md#sources_user_connections_oauth_update) | **PUT** /sources/user_connections/oauth/{id}/ | +[**sources_user_connections_oauth_used_by_list**](SourcesApi.md#sources_user_connections_oauth_used_by_list) | **GET** /sources/user_connections/oauth/{id}/used_by/ | +[**sources_user_connections_plex_create**](SourcesApi.md#sources_user_connections_plex_create) | **POST** /sources/user_connections/plex/ | +[**sources_user_connections_plex_destroy**](SourcesApi.md#sources_user_connections_plex_destroy) | **DELETE** /sources/user_connections/plex/{id}/ | +[**sources_user_connections_plex_list**](SourcesApi.md#sources_user_connections_plex_list) | **GET** /sources/user_connections/plex/ | +[**sources_user_connections_plex_partial_update**](SourcesApi.md#sources_user_connections_plex_partial_update) | **PATCH** /sources/user_connections/plex/{id}/ | +[**sources_user_connections_plex_retrieve**](SourcesApi.md#sources_user_connections_plex_retrieve) | **GET** /sources/user_connections/plex/{id}/ | +[**sources_user_connections_plex_update**](SourcesApi.md#sources_user_connections_plex_update) | **PUT** /sources/user_connections/plex/{id}/ | +[**sources_user_connections_plex_used_by_list**](SourcesApi.md#sources_user_connections_plex_used_by_list) | **GET** /sources/user_connections/plex/{id}/used_by/ | +[**sources_user_connections_saml_create**](SourcesApi.md#sources_user_connections_saml_create) | **POST** /sources/user_connections/saml/ | +[**sources_user_connections_saml_destroy**](SourcesApi.md#sources_user_connections_saml_destroy) | **DELETE** /sources/user_connections/saml/{id}/ | +[**sources_user_connections_saml_list**](SourcesApi.md#sources_user_connections_saml_list) | **GET** /sources/user_connections/saml/ | +[**sources_user_connections_saml_partial_update**](SourcesApi.md#sources_user_connections_saml_partial_update) | **PATCH** /sources/user_connections/saml/{id}/ | +[**sources_user_connections_saml_retrieve**](SourcesApi.md#sources_user_connections_saml_retrieve) | **GET** /sources/user_connections/saml/{id}/ | +[**sources_user_connections_saml_update**](SourcesApi.md#sources_user_connections_saml_update) | **PUT** /sources/user_connections/saml/{id}/ | +[**sources_user_connections_saml_used_by_list**](SourcesApi.md#sources_user_connections_saml_used_by_list) | **GET** /sources/user_connections/saml/{id}/used_by/ | + + + +## sources_all_destroy + +> sources_all_destroy(slug) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_all_list + +> models::PaginatedSourceList sources_all_list(managed, name, ordering, page, page_size, search, slug) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**managed** | Option<**String**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**slug** | Option<**String**> | | | + +### Return type + +[**models::PaginatedSourceList**](PaginatedSourceList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_all_retrieve + +> models::Source sources_all_retrieve(slug) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + +[**models::Source**](Source.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_all_set_icon_create + +> sources_all_set_icon_create(slug, file, clear) + + +Set source icon + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | +**file** | Option<**std::path::PathBuf**> | | | +**clear** | Option<**bool**> | | |[default to false] + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: multipart/form-data +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_all_set_icon_url_create + +> sources_all_set_icon_url_create(slug, file_path_request) + + +Set source icon (as URL) + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | +**file_path_request** | [**FilePathRequest**](FilePathRequest.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_all_types_list + +> Vec sources_all_types_list() + + +Get all creatable types + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**Vec**](TypeCreate.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_all_used_by_list + +> Vec sources_all_used_by_list(slug) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_all_user_settings_list + +> Vec sources_all_user_settings_list() + + +Get all sources the user can configure + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**Vec**](UserSetting.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_group_connections_oauth_create + +> models::GroupOAuthSourceConnection sources_group_connections_oauth_create() + + +Group-source connection Viewset + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**models::GroupOAuthSourceConnection**](GroupOAuthSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_group_connections_oauth_destroy + +> sources_group_connections_oauth_destroy(id) + + +Group-source connection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Group OAuth Source Connection. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_group_connections_oauth_list + +> models::PaginatedGroupOAuthSourceConnectionList sources_group_connections_oauth_list(group, ordering, page, page_size, search, source__slug) + + +Group-source connection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**group** | Option<**uuid::Uuid**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**source__slug** | Option<**String**> | | | + +### Return type + +[**models::PaginatedGroupOAuthSourceConnectionList**](PaginatedGroupOAuthSourceConnectionList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_group_connections_oauth_partial_update + +> models::GroupOAuthSourceConnection sources_group_connections_oauth_partial_update(id) + + +Group-source connection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Group OAuth Source Connection. | [required] | + +### Return type + +[**models::GroupOAuthSourceConnection**](GroupOAuthSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_group_connections_oauth_retrieve + +> models::GroupOAuthSourceConnection sources_group_connections_oauth_retrieve(id) + + +Group-source connection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Group OAuth Source Connection. | [required] | + +### Return type + +[**models::GroupOAuthSourceConnection**](GroupOAuthSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_group_connections_oauth_update + +> models::GroupOAuthSourceConnection sources_group_connections_oauth_update(id) + + +Group-source connection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Group OAuth Source Connection. | [required] | + +### Return type + +[**models::GroupOAuthSourceConnection**](GroupOAuthSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_group_connections_oauth_used_by_list + +> Vec sources_group_connections_oauth_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Group OAuth Source Connection. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_group_connections_plex_create + +> models::GroupPlexSourceConnection sources_group_connections_plex_create() + + +Group-source connection Viewset + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**models::GroupPlexSourceConnection**](GroupPlexSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_group_connections_plex_destroy + +> sources_group_connections_plex_destroy(id) + + +Group-source connection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Group Plex Source Connection. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_group_connections_plex_list + +> models::PaginatedGroupPlexSourceConnectionList sources_group_connections_plex_list(group, ordering, page, page_size, search, source__slug) + + +Group-source connection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**group** | Option<**uuid::Uuid**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**source__slug** | Option<**String**> | | | + +### Return type + +[**models::PaginatedGroupPlexSourceConnectionList**](PaginatedGroupPlexSourceConnectionList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_group_connections_plex_partial_update + +> models::GroupPlexSourceConnection sources_group_connections_plex_partial_update(id) + + +Group-source connection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Group Plex Source Connection. | [required] | + +### Return type + +[**models::GroupPlexSourceConnection**](GroupPlexSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_group_connections_plex_retrieve + +> models::GroupPlexSourceConnection sources_group_connections_plex_retrieve(id) + + +Group-source connection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Group Plex Source Connection. | [required] | + +### Return type + +[**models::GroupPlexSourceConnection**](GroupPlexSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_group_connections_plex_update + +> models::GroupPlexSourceConnection sources_group_connections_plex_update(id) + + +Group-source connection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Group Plex Source Connection. | [required] | + +### Return type + +[**models::GroupPlexSourceConnection**](GroupPlexSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_group_connections_plex_used_by_list + +> Vec sources_group_connections_plex_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Group Plex Source Connection. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_group_connections_saml_destroy + +> sources_group_connections_saml_destroy(id) + + +Group-source connection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Group SAML Source Connection. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_group_connections_saml_list + +> models::PaginatedGroupSamlSourceConnectionList sources_group_connections_saml_list(group, ordering, page, page_size, search, source__slug) + + +Group-source connection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**group** | Option<**uuid::Uuid**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**source__slug** | Option<**String**> | | | + +### Return type + +[**models::PaginatedGroupSamlSourceConnectionList**](PaginatedGroupSAMLSourceConnectionList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_group_connections_saml_partial_update + +> models::GroupSamlSourceConnection sources_group_connections_saml_partial_update(id) + + +Group-source connection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Group SAML Source Connection. | [required] | + +### Return type + +[**models::GroupSamlSourceConnection**](GroupSAMLSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_group_connections_saml_retrieve + +> models::GroupSamlSourceConnection sources_group_connections_saml_retrieve(id) + + +Group-source connection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Group SAML Source Connection. | [required] | + +### Return type + +[**models::GroupSamlSourceConnection**](GroupSAMLSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_group_connections_saml_update + +> models::GroupSamlSourceConnection sources_group_connections_saml_update(id) + + +Group-source connection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Group SAML Source Connection. | [required] | + +### Return type + +[**models::GroupSamlSourceConnection**](GroupSAMLSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_group_connections_saml_used_by_list + +> Vec sources_group_connections_saml_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Group SAML Source Connection. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_ldap_create + +> models::LdapSource sources_ldap_create(ldap_source_request) + + +LDAP Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**ldap_source_request** | [**LdapSourceRequest**](LdapSourceRequest.md) | | [required] | + +### Return type + +[**models::LdapSource**](LDAPSource.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_ldap_debug_retrieve + +> models::LdapDebug sources_ldap_debug_retrieve(slug) + + +Get raw LDAP data to debug + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + +[**models::LdapDebug**](LDAPDebug.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_ldap_destroy + +> sources_ldap_destroy(slug) + + +LDAP Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_ldap_list + +> models::PaginatedLdapSourceList sources_ldap_list(additional_group_dn, additional_user_dn, base_dn, bind_cn, client_certificate, enabled, group_membership_field, group_object_filter, group_property_mappings, name, object_uniqueness_field, ordering, page, page_size, password_login_update_internal_password, peer_certificate, search, server_uri, slug, sni, start_tls, sync_groups, sync_parent_group, sync_users, sync_users_password, user_object_filter, user_property_mappings) + + +LDAP Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**additional_group_dn** | Option<**String**> | | | +**additional_user_dn** | Option<**String**> | | | +**base_dn** | Option<**String**> | | | +**bind_cn** | Option<**String**> | | | +**client_certificate** | Option<**uuid::Uuid**> | | | +**enabled** | Option<**bool**> | | | +**group_membership_field** | Option<**String**> | | | +**group_object_filter** | Option<**String**> | | | +**group_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | | +**name** | Option<**String**> | | | +**object_uniqueness_field** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**password_login_update_internal_password** | Option<**bool**> | | | +**peer_certificate** | Option<**uuid::Uuid**> | | | +**search** | Option<**String**> | A search term. | | +**server_uri** | Option<**String**> | | | +**slug** | Option<**String**> | | | +**sni** | Option<**bool**> | | | +**start_tls** | Option<**bool**> | | | +**sync_groups** | Option<**bool**> | | | +**sync_parent_group** | Option<**uuid::Uuid**> | | | +**sync_users** | Option<**bool**> | | | +**sync_users_password** | Option<**bool**> | | | +**user_object_filter** | Option<**String**> | | | +**user_property_mappings** | Option<[**Vec**](uuid::Uuid.md)> | | | + +### Return type + +[**models::PaginatedLdapSourceList**](PaginatedLDAPSourceList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_ldap_partial_update + +> models::LdapSource sources_ldap_partial_update(slug, patched_ldap_source_request) + + +LDAP Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | +**patched_ldap_source_request** | Option<[**PatchedLdapSourceRequest**](PatchedLdapSourceRequest.md)> | | | + +### Return type + +[**models::LdapSource**](LDAPSource.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_ldap_retrieve + +> models::LdapSource sources_ldap_retrieve(slug) + + +LDAP Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + +[**models::LdapSource**](LDAPSource.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_ldap_sync_status_retrieve + +> models::SyncStatus sources_ldap_sync_status_retrieve(slug) + + +Get source's sync status + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + +[**models::SyncStatus**](SyncStatus.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_ldap_update + +> models::LdapSource sources_ldap_update(slug, ldap_source_request) + + +LDAP Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | +**ldap_source_request** | [**LdapSourceRequest**](LdapSourceRequest.md) | | [required] | + +### Return type + +[**models::LdapSource**](LDAPSource.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_ldap_used_by_list + +> Vec sources_ldap_used_by_list(slug) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_oauth_create + +> models::OAuthSource sources_oauth_create(o_auth_source_request) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**o_auth_source_request** | [**OAuthSourceRequest**](OAuthSourceRequest.md) | | [required] | + +### Return type + +[**models::OAuthSource**](OAuthSource.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_oauth_destroy + +> sources_oauth_destroy(slug) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_oauth_list + +> models::PaginatedOAuthSourceList sources_oauth_list(access_token_url, additional_scopes, authentication_flow, authorization_url, consumer_key, enabled, enrollment_flow, group_matching_mode, has_jwks, name, ordering, page, page_size, policy_engine_mode, profile_url, provider_type, request_token_url, search, slug, user_matching_mode) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**access_token_url** | Option<**String**> | | | +**additional_scopes** | Option<**String**> | | | +**authentication_flow** | Option<**uuid::Uuid**> | | | +**authorization_url** | Option<**String**> | | | +**consumer_key** | Option<**String**> | | | +**enabled** | Option<**bool**> | | | +**enrollment_flow** | Option<**uuid::Uuid**> | | | +**group_matching_mode** | Option<**String**> | How the source determines if an existing group should be used or a new group created. | | +**has_jwks** | Option<**bool**> | Only return sources with JWKS data | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**policy_engine_mode** | Option<**String**> | | | +**profile_url** | Option<**String**> | | | +**provider_type** | Option<**String**> | | | +**request_token_url** | Option<**String**> | | | +**search** | Option<**String**> | A search term. | | +**slug** | Option<**String**> | | | +**user_matching_mode** | Option<**String**> | How the source determines if an existing user should be authenticated or a new user enrolled. | | + +### Return type + +[**models::PaginatedOAuthSourceList**](PaginatedOAuthSourceList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_oauth_partial_update + +> models::OAuthSource sources_oauth_partial_update(slug, patched_o_auth_source_request) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | +**patched_o_auth_source_request** | Option<[**PatchedOAuthSourceRequest**](PatchedOAuthSourceRequest.md)> | | | + +### Return type + +[**models::OAuthSource**](OAuthSource.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_oauth_retrieve + +> models::OAuthSource sources_oauth_retrieve(slug) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + +[**models::OAuthSource**](OAuthSource.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_oauth_source_types_list + +> Vec sources_oauth_source_types_list(name) + + +Get all creatable source types. If ?name is set, only returns the type for . If isn't found, returns the default type. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | + +### Return type + +[**Vec**](SourceType.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_oauth_update + +> models::OAuthSource sources_oauth_update(slug, o_auth_source_request) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | +**o_auth_source_request** | [**OAuthSourceRequest**](OAuthSourceRequest.md) | | [required] | + +### Return type + +[**models::OAuthSource**](OAuthSource.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_oauth_used_by_list + +> Vec sources_oauth_used_by_list(slug) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_plex_create + +> models::PlexSource sources_plex_create(plex_source_request) + + +Plex source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**plex_source_request** | [**PlexSourceRequest**](PlexSourceRequest.md) | | [required] | + +### Return type + +[**models::PlexSource**](PlexSource.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_plex_destroy + +> sources_plex_destroy(slug) + + +Plex source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_plex_list + +> models::PaginatedPlexSourceList sources_plex_list(allow_friends, authentication_flow, client_id, enabled, enrollment_flow, group_matching_mode, name, ordering, page, page_size, policy_engine_mode, search, slug, user_matching_mode) + + +Plex source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**allow_friends** | Option<**bool**> | | | +**authentication_flow** | Option<**uuid::Uuid**> | | | +**client_id** | Option<**String**> | | | +**enabled** | Option<**bool**> | | | +**enrollment_flow** | Option<**uuid::Uuid**> | | | +**group_matching_mode** | Option<**String**> | How the source determines if an existing group should be used or a new group created. | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**policy_engine_mode** | Option<**String**> | | | +**search** | Option<**String**> | A search term. | | +**slug** | Option<**String**> | | | +**user_matching_mode** | Option<**String**> | How the source determines if an existing user should be authenticated or a new user enrolled. | | + +### Return type + +[**models::PaginatedPlexSourceList**](PaginatedPlexSourceList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_plex_partial_update + +> models::PlexSource sources_plex_partial_update(slug, patched_plex_source_request) + + +Plex source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | +**patched_plex_source_request** | Option<[**PatchedPlexSourceRequest**](PatchedPlexSourceRequest.md)> | | | + +### Return type + +[**models::PlexSource**](PlexSource.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_plex_redeem_token_authenticated_create + +> sources_plex_redeem_token_authenticated_create(plex_token_redeem_request, slug) + + +Redeem a plex token for an authenticated user, creating a connection + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**plex_token_redeem_request** | [**PlexTokenRedeemRequest**](PlexTokenRedeemRequest.md) | | [required] | +**slug** | Option<**String**> | | | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_plex_redeem_token_create + +> models::RedirectChallenge sources_plex_redeem_token_create(plex_token_redeem_request, slug) + + +Redeem a plex token, check it's access to resources against what's allowed for the source, and redirect to an authentication/enrollment flow. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**plex_token_redeem_request** | [**PlexTokenRedeemRequest**](PlexTokenRedeemRequest.md) | | [required] | +**slug** | Option<**String**> | | | + +### Return type + +[**models::RedirectChallenge**](RedirectChallenge.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_plex_retrieve + +> models::PlexSource sources_plex_retrieve(slug) + + +Plex source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + +[**models::PlexSource**](PlexSource.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_plex_update + +> models::PlexSource sources_plex_update(slug, plex_source_request) + + +Plex source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | +**plex_source_request** | [**PlexSourceRequest**](PlexSourceRequest.md) | | [required] | + +### Return type + +[**models::PlexSource**](PlexSource.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_plex_used_by_list + +> Vec sources_plex_used_by_list(slug) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_saml_create + +> models::SamlSource sources_saml_create(saml_source_request) + + +SAMLSource Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**saml_source_request** | [**SamlSourceRequest**](SamlSourceRequest.md) | | [required] | + +### Return type + +[**models::SamlSource**](SAMLSource.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_saml_destroy + +> sources_saml_destroy(slug) + + +SAMLSource Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_saml_list + +> models::PaginatedSamlSourceList sources_saml_list(allow_idp_initiated, authentication_flow, binding_type, digest_algorithm, enabled, enrollment_flow, issuer, managed, name, name_id_policy, ordering, page, page_size, policy_engine_mode, pre_authentication_flow, search, signature_algorithm, signing_kp, slo_url, slug, sso_url, temporary_user_delete_after, user_matching_mode, verification_kp) + + +SAMLSource Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**allow_idp_initiated** | Option<**bool**> | | | +**authentication_flow** | Option<**uuid::Uuid**> | | | +**binding_type** | Option<**String**> | | | +**digest_algorithm** | Option<**String**> | | | +**enabled** | Option<**bool**> | | | +**enrollment_flow** | Option<**uuid::Uuid**> | | | +**issuer** | Option<**String**> | | | +**managed** | Option<**String**> | | | +**name** | Option<**String**> | | | +**name_id_policy** | Option<**String**> | NameID Policy sent to the IdP. Can be unset, in which case no Policy is sent. | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**policy_engine_mode** | Option<**String**> | | | +**pre_authentication_flow** | Option<**uuid::Uuid**> | | | +**search** | Option<**String**> | A search term. | | +**signature_algorithm** | Option<**String**> | | | +**signing_kp** | Option<**uuid::Uuid**> | | | +**slo_url** | Option<**String**> | | | +**slug** | Option<**String**> | | | +**sso_url** | Option<**String**> | | | +**temporary_user_delete_after** | Option<**String**> | | | +**user_matching_mode** | Option<**String**> | How the source determines if an existing user should be authenticated or a new user enrolled. | | +**verification_kp** | Option<**uuid::Uuid**> | | | + +### Return type + +[**models::PaginatedSamlSourceList**](PaginatedSAMLSourceList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_saml_metadata_retrieve + +> models::SamlMetadata sources_saml_metadata_retrieve(slug) + + +Return metadata as XML string + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + +[**models::SamlMetadata**](SAMLMetadata.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_saml_partial_update + +> models::SamlSource sources_saml_partial_update(slug, patched_saml_source_request) + + +SAMLSource Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | +**patched_saml_source_request** | Option<[**PatchedSamlSourceRequest**](PatchedSamlSourceRequest.md)> | | | + +### Return type + +[**models::SamlSource**](SAMLSource.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_saml_retrieve + +> models::SamlSource sources_saml_retrieve(slug) + + +SAMLSource Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + +[**models::SamlSource**](SAMLSource.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_saml_update + +> models::SamlSource sources_saml_update(slug, saml_source_request) + + +SAMLSource Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | +**saml_source_request** | [**SamlSourceRequest**](SamlSourceRequest.md) | | [required] | + +### Return type + +[**models::SamlSource**](SAMLSource.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_saml_used_by_list + +> Vec sources_saml_used_by_list(slug) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_scim_create + +> models::ScimSource sources_scim_create(scim_source_request) + + +SCIMSource Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**scim_source_request** | [**ScimSourceRequest**](ScimSourceRequest.md) | | [required] | + +### Return type + +[**models::ScimSource**](SCIMSource.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_scim_destroy + +> sources_scim_destroy(slug) + + +SCIMSource Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_scim_groups_create + +> models::ScimSourceGroup sources_scim_groups_create(scim_source_group_request) + + +SCIMSourceGroup Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**scim_source_group_request** | [**ScimSourceGroupRequest**](ScimSourceGroupRequest.md) | | [required] | + +### Return type + +[**models::ScimSourceGroup**](SCIMSourceGroup.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_scim_groups_destroy + +> sources_scim_groups_destroy(id) + + +SCIMSourceGroup Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | A unique value identifying this scim source group. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_scim_groups_list + +> models::PaginatedScimSourceGroupList sources_scim_groups_list(group__group_uuid, group__name, ordering, page, page_size, search, source__slug) + + +SCIMSourceGroup Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**group__group_uuid** | Option<**uuid::Uuid**> | | | +**group__name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**source__slug** | Option<**String**> | | | + +### Return type + +[**models::PaginatedScimSourceGroupList**](PaginatedSCIMSourceGroupList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_scim_groups_partial_update + +> models::ScimSourceGroup sources_scim_groups_partial_update(id, patched_scim_source_group_request) + + +SCIMSourceGroup Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | A unique value identifying this scim source group. | [required] | +**patched_scim_source_group_request** | Option<[**PatchedScimSourceGroupRequest**](PatchedScimSourceGroupRequest.md)> | | | + +### Return type + +[**models::ScimSourceGroup**](SCIMSourceGroup.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_scim_groups_retrieve + +> models::ScimSourceGroup sources_scim_groups_retrieve(id) + + +SCIMSourceGroup Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | A unique value identifying this scim source group. | [required] | + +### Return type + +[**models::ScimSourceGroup**](SCIMSourceGroup.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_scim_groups_update + +> models::ScimSourceGroup sources_scim_groups_update(id, scim_source_group_request) + + +SCIMSourceGroup Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | A unique value identifying this scim source group. | [required] | +**scim_source_group_request** | [**ScimSourceGroupRequest**](ScimSourceGroupRequest.md) | | [required] | + +### Return type + +[**models::ScimSourceGroup**](SCIMSourceGroup.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_scim_groups_used_by_list + +> Vec sources_scim_groups_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | A unique value identifying this scim source group. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_scim_list + +> models::PaginatedScimSourceList sources_scim_list(name, ordering, page, page_size, search, slug) + + +SCIMSource Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**slug** | Option<**String**> | | | + +### Return type + +[**models::PaginatedScimSourceList**](PaginatedSCIMSourceList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_scim_partial_update + +> models::ScimSource sources_scim_partial_update(slug, patched_scim_source_request) + + +SCIMSource Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | +**patched_scim_source_request** | Option<[**PatchedScimSourceRequest**](PatchedScimSourceRequest.md)> | | | + +### Return type + +[**models::ScimSource**](SCIMSource.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_scim_retrieve + +> models::ScimSource sources_scim_retrieve(slug) + + +SCIMSource Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + +[**models::ScimSource**](SCIMSource.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_scim_update + +> models::ScimSource sources_scim_update(slug, scim_source_request) + + +SCIMSource Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | +**scim_source_request** | [**ScimSourceRequest**](ScimSourceRequest.md) | | [required] | + +### Return type + +[**models::ScimSource**](SCIMSource.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_scim_used_by_list + +> Vec sources_scim_used_by_list(slug) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**slug** | **String** | | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_scim_users_create + +> models::ScimSourceUser sources_scim_users_create(scim_source_user_request) + + +SCIMSourceUser Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**scim_source_user_request** | [**ScimSourceUserRequest**](ScimSourceUserRequest.md) | | [required] | + +### Return type + +[**models::ScimSourceUser**](SCIMSourceUser.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_scim_users_destroy + +> sources_scim_users_destroy(id) + + +SCIMSourceUser Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | A unique value identifying this scim source user. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_scim_users_list + +> models::PaginatedScimSourceUserList sources_scim_users_list(ordering, page, page_size, search, source__slug, user__id, user__username) + + +SCIMSourceUser Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**source__slug** | Option<**String**> | | | +**user__id** | Option<**i32**> | | | +**user__username** | Option<**String**> | | | + +### Return type + +[**models::PaginatedScimSourceUserList**](PaginatedSCIMSourceUserList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_scim_users_partial_update + +> models::ScimSourceUser sources_scim_users_partial_update(id, patched_scim_source_user_request) + + +SCIMSourceUser Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | A unique value identifying this scim source user. | [required] | +**patched_scim_source_user_request** | Option<[**PatchedScimSourceUserRequest**](PatchedScimSourceUserRequest.md)> | | | + +### Return type + +[**models::ScimSourceUser**](SCIMSourceUser.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_scim_users_retrieve + +> models::ScimSourceUser sources_scim_users_retrieve(id) + + +SCIMSourceUser Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | A unique value identifying this scim source user. | [required] | + +### Return type + +[**models::ScimSourceUser**](SCIMSourceUser.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_scim_users_update + +> models::ScimSourceUser sources_scim_users_update(id, scim_source_user_request) + + +SCIMSourceUser Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | A unique value identifying this scim source user. | [required] | +**scim_source_user_request** | [**ScimSourceUserRequest**](ScimSourceUserRequest.md) | | [required] | + +### Return type + +[**models::ScimSourceUser**](SCIMSourceUser.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_scim_users_used_by_list + +> Vec sources_scim_users_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | A unique value identifying this scim source user. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_all_destroy + +> sources_user_connections_all_destroy(id) + + +User-source connection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this user source connection. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_all_list + +> models::PaginatedUserSourceConnectionList sources_user_connections_all_list(ordering, page, page_size, search, source__slug, user) + + +User-source connection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**source__slug** | Option<**String**> | | | +**user** | Option<**i32**> | | | + +### Return type + +[**models::PaginatedUserSourceConnectionList**](PaginatedUserSourceConnectionList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_all_partial_update + +> models::UserSourceConnection sources_user_connections_all_partial_update(id) + + +User-source connection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this user source connection. | [required] | + +### Return type + +[**models::UserSourceConnection**](UserSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_all_retrieve + +> models::UserSourceConnection sources_user_connections_all_retrieve(id) + + +User-source connection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this user source connection. | [required] | + +### Return type + +[**models::UserSourceConnection**](UserSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_all_update + +> models::UserSourceConnection sources_user_connections_all_update(id) + + +User-source connection Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this user source connection. | [required] | + +### Return type + +[**models::UserSourceConnection**](UserSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_all_used_by_list + +> Vec sources_user_connections_all_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this user source connection. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_oauth_create + +> models::UserOAuthSourceConnection sources_user_connections_oauth_create(user_o_auth_source_connection_request) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**user_o_auth_source_connection_request** | [**UserOAuthSourceConnectionRequest**](UserOAuthSourceConnectionRequest.md) | | [required] | + +### Return type + +[**models::UserOAuthSourceConnection**](UserOAuthSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_oauth_destroy + +> sources_user_connections_oauth_destroy(id) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User OAuth Source Connection. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_oauth_list + +> models::PaginatedUserOAuthSourceConnectionList sources_user_connections_oauth_list(ordering, page, page_size, search, source__slug, user) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**source__slug** | Option<**String**> | | | +**user** | Option<**i32**> | | | + +### Return type + +[**models::PaginatedUserOAuthSourceConnectionList**](PaginatedUserOAuthSourceConnectionList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_oauth_partial_update + +> models::UserOAuthSourceConnection sources_user_connections_oauth_partial_update(id, patched_user_o_auth_source_connection_request) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User OAuth Source Connection. | [required] | +**patched_user_o_auth_source_connection_request** | Option<[**PatchedUserOAuthSourceConnectionRequest**](PatchedUserOAuthSourceConnectionRequest.md)> | | | + +### Return type + +[**models::UserOAuthSourceConnection**](UserOAuthSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_oauth_retrieve + +> models::UserOAuthSourceConnection sources_user_connections_oauth_retrieve(id) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User OAuth Source Connection. | [required] | + +### Return type + +[**models::UserOAuthSourceConnection**](UserOAuthSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_oauth_update + +> models::UserOAuthSourceConnection sources_user_connections_oauth_update(id, user_o_auth_source_connection_request) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User OAuth Source Connection. | [required] | +**user_o_auth_source_connection_request** | [**UserOAuthSourceConnectionRequest**](UserOAuthSourceConnectionRequest.md) | | [required] | + +### Return type + +[**models::UserOAuthSourceConnection**](UserOAuthSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_oauth_used_by_list + +> Vec sources_user_connections_oauth_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User OAuth Source Connection. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_plex_create + +> models::UserPlexSourceConnection sources_user_connections_plex_create(user_plex_source_connection_request) + + +Plex Source connection Serializer + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**user_plex_source_connection_request** | [**UserPlexSourceConnectionRequest**](UserPlexSourceConnectionRequest.md) | | [required] | + +### Return type + +[**models::UserPlexSourceConnection**](UserPlexSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_plex_destroy + +> sources_user_connections_plex_destroy(id) + + +Plex Source connection Serializer + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User Plex Source Connection. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_plex_list + +> models::PaginatedUserPlexSourceConnectionList sources_user_connections_plex_list(ordering, page, page_size, search, source__slug, user) + + +Plex Source connection Serializer + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**source__slug** | Option<**String**> | | | +**user** | Option<**i32**> | | | + +### Return type + +[**models::PaginatedUserPlexSourceConnectionList**](PaginatedUserPlexSourceConnectionList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_plex_partial_update + +> models::UserPlexSourceConnection sources_user_connections_plex_partial_update(id, patched_user_plex_source_connection_request) + + +Plex Source connection Serializer + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User Plex Source Connection. | [required] | +**patched_user_plex_source_connection_request** | Option<[**PatchedUserPlexSourceConnectionRequest**](PatchedUserPlexSourceConnectionRequest.md)> | | | + +### Return type + +[**models::UserPlexSourceConnection**](UserPlexSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_plex_retrieve + +> models::UserPlexSourceConnection sources_user_connections_plex_retrieve(id) + + +Plex Source connection Serializer + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User Plex Source Connection. | [required] | + +### Return type + +[**models::UserPlexSourceConnection**](UserPlexSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_plex_update + +> models::UserPlexSourceConnection sources_user_connections_plex_update(id, user_plex_source_connection_request) + + +Plex Source connection Serializer + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User Plex Source Connection. | [required] | +**user_plex_source_connection_request** | [**UserPlexSourceConnectionRequest**](UserPlexSourceConnectionRequest.md) | | [required] | + +### Return type + +[**models::UserPlexSourceConnection**](UserPlexSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_plex_used_by_list + +> Vec sources_user_connections_plex_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User Plex Source Connection. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_saml_create + +> models::UserSamlSourceConnection sources_user_connections_saml_create(user_saml_source_connection_request) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**user_saml_source_connection_request** | [**UserSamlSourceConnectionRequest**](UserSamlSourceConnectionRequest.md) | | [required] | + +### Return type + +[**models::UserSamlSourceConnection**](UserSAMLSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_saml_destroy + +> sources_user_connections_saml_destroy(id) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User SAML Source Connection. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_saml_list + +> models::PaginatedUserSamlSourceConnectionList sources_user_connections_saml_list(ordering, page, page_size, search, source__slug, user) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**source__slug** | Option<**String**> | | | +**user** | Option<**i32**> | | | + +### Return type + +[**models::PaginatedUserSamlSourceConnectionList**](PaginatedUserSAMLSourceConnectionList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_saml_partial_update + +> models::UserSamlSourceConnection sources_user_connections_saml_partial_update(id, patched_user_saml_source_connection_request) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User SAML Source Connection. | [required] | +**patched_user_saml_source_connection_request** | Option<[**PatchedUserSamlSourceConnectionRequest**](PatchedUserSamlSourceConnectionRequest.md)> | | | + +### Return type + +[**models::UserSamlSourceConnection**](UserSAMLSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_saml_retrieve + +> models::UserSamlSourceConnection sources_user_connections_saml_retrieve(id) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User SAML Source Connection. | [required] | + +### Return type + +[**models::UserSamlSourceConnection**](UserSAMLSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_saml_update + +> models::UserSamlSourceConnection sources_user_connections_saml_update(id, user_saml_source_connection_request) + + +Source Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User SAML Source Connection. | [required] | +**user_saml_source_connection_request** | [**UserSamlSourceConnectionRequest**](UserSamlSourceConnectionRequest.md) | | [required] | + +### Return type + +[**models::UserSamlSourceConnection**](UserSAMLSourceConnection.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## sources_user_connections_saml_used_by_list + +> Vec sources_user_connections_saml_used_by_list(id) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this User SAML Source Connection. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/SpBindingEnum.md b/docs/SpBindingEnum.md new file mode 100644 index 0000000..5cefa22 --- /dev/null +++ b/docs/SpBindingEnum.md @@ -0,0 +1,13 @@ +# SpBindingEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Redirect | redirect | +| Post | post | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Stage.md b/docs/Stage.md new file mode 100644 index 0000000..aa32bba --- /dev/null +++ b/docs/Stage.md @@ -0,0 +1,17 @@ +# Stage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**component** | **String** | Get object type so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**flow_set** | Option<[**Vec**](FlowSet.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/StagePrompt.md b/docs/StagePrompt.md new file mode 100644 index 0000000..f9b1c1d --- /dev/null +++ b/docs/StagePrompt.md @@ -0,0 +1,19 @@ +# StagePrompt + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**field_key** | **String** | | +**label** | **String** | | +**r#type** | [**models::PromptTypeEnum**](PromptTypeEnum.md) | | +**required** | **bool** | | +**placeholder** | **String** | | +**initial_value** | **String** | | +**order** | **i32** | | +**sub_text** | **String** | | +**choices** | Option<**Vec**> | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/StageRequest.md b/docs/StageRequest.md new file mode 100644 index 0000000..ceb6595 --- /dev/null +++ b/docs/StageRequest.md @@ -0,0 +1,12 @@ +# StageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/StagesApi.md b/docs/StagesApi.md new file mode 100644 index 0000000..519b7a1 --- /dev/null +++ b/docs/StagesApi.md @@ -0,0 +1,5411 @@ +# \StagesApi + +All URIs are relative to *http://localhost/api/v3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**stages_all_destroy**](StagesApi.md#stages_all_destroy) | **DELETE** /stages/all/{stage_uuid}/ | +[**stages_all_list**](StagesApi.md#stages_all_list) | **GET** /stages/all/ | +[**stages_all_retrieve**](StagesApi.md#stages_all_retrieve) | **GET** /stages/all/{stage_uuid}/ | +[**stages_all_types_list**](StagesApi.md#stages_all_types_list) | **GET** /stages/all/types/ | +[**stages_all_used_by_list**](StagesApi.md#stages_all_used_by_list) | **GET** /stages/all/{stage_uuid}/used_by/ | +[**stages_all_user_settings_list**](StagesApi.md#stages_all_user_settings_list) | **GET** /stages/all/user_settings/ | +[**stages_authenticator_duo_create**](StagesApi.md#stages_authenticator_duo_create) | **POST** /stages/authenticator/duo/ | +[**stages_authenticator_duo_destroy**](StagesApi.md#stages_authenticator_duo_destroy) | **DELETE** /stages/authenticator/duo/{stage_uuid}/ | +[**stages_authenticator_duo_enrollment_status_create**](StagesApi.md#stages_authenticator_duo_enrollment_status_create) | **POST** /stages/authenticator/duo/{stage_uuid}/enrollment_status/ | +[**stages_authenticator_duo_import_device_manual_create**](StagesApi.md#stages_authenticator_duo_import_device_manual_create) | **POST** /stages/authenticator/duo/{stage_uuid}/import_device_manual/ | +[**stages_authenticator_duo_import_devices_automatic_create**](StagesApi.md#stages_authenticator_duo_import_devices_automatic_create) | **POST** /stages/authenticator/duo/{stage_uuid}/import_devices_automatic/ | +[**stages_authenticator_duo_list**](StagesApi.md#stages_authenticator_duo_list) | **GET** /stages/authenticator/duo/ | +[**stages_authenticator_duo_partial_update**](StagesApi.md#stages_authenticator_duo_partial_update) | **PATCH** /stages/authenticator/duo/{stage_uuid}/ | +[**stages_authenticator_duo_retrieve**](StagesApi.md#stages_authenticator_duo_retrieve) | **GET** /stages/authenticator/duo/{stage_uuid}/ | +[**stages_authenticator_duo_update**](StagesApi.md#stages_authenticator_duo_update) | **PUT** /stages/authenticator/duo/{stage_uuid}/ | +[**stages_authenticator_duo_used_by_list**](StagesApi.md#stages_authenticator_duo_used_by_list) | **GET** /stages/authenticator/duo/{stage_uuid}/used_by/ | +[**stages_authenticator_sms_create**](StagesApi.md#stages_authenticator_sms_create) | **POST** /stages/authenticator/sms/ | +[**stages_authenticator_sms_destroy**](StagesApi.md#stages_authenticator_sms_destroy) | **DELETE** /stages/authenticator/sms/{stage_uuid}/ | +[**stages_authenticator_sms_list**](StagesApi.md#stages_authenticator_sms_list) | **GET** /stages/authenticator/sms/ | +[**stages_authenticator_sms_partial_update**](StagesApi.md#stages_authenticator_sms_partial_update) | **PATCH** /stages/authenticator/sms/{stage_uuid}/ | +[**stages_authenticator_sms_retrieve**](StagesApi.md#stages_authenticator_sms_retrieve) | **GET** /stages/authenticator/sms/{stage_uuid}/ | +[**stages_authenticator_sms_update**](StagesApi.md#stages_authenticator_sms_update) | **PUT** /stages/authenticator/sms/{stage_uuid}/ | +[**stages_authenticator_sms_used_by_list**](StagesApi.md#stages_authenticator_sms_used_by_list) | **GET** /stages/authenticator/sms/{stage_uuid}/used_by/ | +[**stages_authenticator_static_create**](StagesApi.md#stages_authenticator_static_create) | **POST** /stages/authenticator/static/ | +[**stages_authenticator_static_destroy**](StagesApi.md#stages_authenticator_static_destroy) | **DELETE** /stages/authenticator/static/{stage_uuid}/ | +[**stages_authenticator_static_list**](StagesApi.md#stages_authenticator_static_list) | **GET** /stages/authenticator/static/ | +[**stages_authenticator_static_partial_update**](StagesApi.md#stages_authenticator_static_partial_update) | **PATCH** /stages/authenticator/static/{stage_uuid}/ | +[**stages_authenticator_static_retrieve**](StagesApi.md#stages_authenticator_static_retrieve) | **GET** /stages/authenticator/static/{stage_uuid}/ | +[**stages_authenticator_static_update**](StagesApi.md#stages_authenticator_static_update) | **PUT** /stages/authenticator/static/{stage_uuid}/ | +[**stages_authenticator_static_used_by_list**](StagesApi.md#stages_authenticator_static_used_by_list) | **GET** /stages/authenticator/static/{stage_uuid}/used_by/ | +[**stages_authenticator_totp_create**](StagesApi.md#stages_authenticator_totp_create) | **POST** /stages/authenticator/totp/ | +[**stages_authenticator_totp_destroy**](StagesApi.md#stages_authenticator_totp_destroy) | **DELETE** /stages/authenticator/totp/{stage_uuid}/ | +[**stages_authenticator_totp_list**](StagesApi.md#stages_authenticator_totp_list) | **GET** /stages/authenticator/totp/ | +[**stages_authenticator_totp_partial_update**](StagesApi.md#stages_authenticator_totp_partial_update) | **PATCH** /stages/authenticator/totp/{stage_uuid}/ | +[**stages_authenticator_totp_retrieve**](StagesApi.md#stages_authenticator_totp_retrieve) | **GET** /stages/authenticator/totp/{stage_uuid}/ | +[**stages_authenticator_totp_update**](StagesApi.md#stages_authenticator_totp_update) | **PUT** /stages/authenticator/totp/{stage_uuid}/ | +[**stages_authenticator_totp_used_by_list**](StagesApi.md#stages_authenticator_totp_used_by_list) | **GET** /stages/authenticator/totp/{stage_uuid}/used_by/ | +[**stages_authenticator_validate_create**](StagesApi.md#stages_authenticator_validate_create) | **POST** /stages/authenticator/validate/ | +[**stages_authenticator_validate_destroy**](StagesApi.md#stages_authenticator_validate_destroy) | **DELETE** /stages/authenticator/validate/{stage_uuid}/ | +[**stages_authenticator_validate_list**](StagesApi.md#stages_authenticator_validate_list) | **GET** /stages/authenticator/validate/ | +[**stages_authenticator_validate_partial_update**](StagesApi.md#stages_authenticator_validate_partial_update) | **PATCH** /stages/authenticator/validate/{stage_uuid}/ | +[**stages_authenticator_validate_retrieve**](StagesApi.md#stages_authenticator_validate_retrieve) | **GET** /stages/authenticator/validate/{stage_uuid}/ | +[**stages_authenticator_validate_update**](StagesApi.md#stages_authenticator_validate_update) | **PUT** /stages/authenticator/validate/{stage_uuid}/ | +[**stages_authenticator_validate_used_by_list**](StagesApi.md#stages_authenticator_validate_used_by_list) | **GET** /stages/authenticator/validate/{stage_uuid}/used_by/ | +[**stages_authenticator_webauthn_create**](StagesApi.md#stages_authenticator_webauthn_create) | **POST** /stages/authenticator/webauthn/ | +[**stages_authenticator_webauthn_destroy**](StagesApi.md#stages_authenticator_webauthn_destroy) | **DELETE** /stages/authenticator/webauthn/{stage_uuid}/ | +[**stages_authenticator_webauthn_device_types_list**](StagesApi.md#stages_authenticator_webauthn_device_types_list) | **GET** /stages/authenticator/webauthn_device_types/ | +[**stages_authenticator_webauthn_device_types_retrieve**](StagesApi.md#stages_authenticator_webauthn_device_types_retrieve) | **GET** /stages/authenticator/webauthn_device_types/{aaguid}/ | +[**stages_authenticator_webauthn_list**](StagesApi.md#stages_authenticator_webauthn_list) | **GET** /stages/authenticator/webauthn/ | +[**stages_authenticator_webauthn_partial_update**](StagesApi.md#stages_authenticator_webauthn_partial_update) | **PATCH** /stages/authenticator/webauthn/{stage_uuid}/ | +[**stages_authenticator_webauthn_retrieve**](StagesApi.md#stages_authenticator_webauthn_retrieve) | **GET** /stages/authenticator/webauthn/{stage_uuid}/ | +[**stages_authenticator_webauthn_update**](StagesApi.md#stages_authenticator_webauthn_update) | **PUT** /stages/authenticator/webauthn/{stage_uuid}/ | +[**stages_authenticator_webauthn_used_by_list**](StagesApi.md#stages_authenticator_webauthn_used_by_list) | **GET** /stages/authenticator/webauthn/{stage_uuid}/used_by/ | +[**stages_captcha_create**](StagesApi.md#stages_captcha_create) | **POST** /stages/captcha/ | +[**stages_captcha_destroy**](StagesApi.md#stages_captcha_destroy) | **DELETE** /stages/captcha/{stage_uuid}/ | +[**stages_captcha_list**](StagesApi.md#stages_captcha_list) | **GET** /stages/captcha/ | +[**stages_captcha_partial_update**](StagesApi.md#stages_captcha_partial_update) | **PATCH** /stages/captcha/{stage_uuid}/ | +[**stages_captcha_retrieve**](StagesApi.md#stages_captcha_retrieve) | **GET** /stages/captcha/{stage_uuid}/ | +[**stages_captcha_update**](StagesApi.md#stages_captcha_update) | **PUT** /stages/captcha/{stage_uuid}/ | +[**stages_captcha_used_by_list**](StagesApi.md#stages_captcha_used_by_list) | **GET** /stages/captcha/{stage_uuid}/used_by/ | +[**stages_consent_create**](StagesApi.md#stages_consent_create) | **POST** /stages/consent/ | +[**stages_consent_destroy**](StagesApi.md#stages_consent_destroy) | **DELETE** /stages/consent/{stage_uuid}/ | +[**stages_consent_list**](StagesApi.md#stages_consent_list) | **GET** /stages/consent/ | +[**stages_consent_partial_update**](StagesApi.md#stages_consent_partial_update) | **PATCH** /stages/consent/{stage_uuid}/ | +[**stages_consent_retrieve**](StagesApi.md#stages_consent_retrieve) | **GET** /stages/consent/{stage_uuid}/ | +[**stages_consent_update**](StagesApi.md#stages_consent_update) | **PUT** /stages/consent/{stage_uuid}/ | +[**stages_consent_used_by_list**](StagesApi.md#stages_consent_used_by_list) | **GET** /stages/consent/{stage_uuid}/used_by/ | +[**stages_deny_create**](StagesApi.md#stages_deny_create) | **POST** /stages/deny/ | +[**stages_deny_destroy**](StagesApi.md#stages_deny_destroy) | **DELETE** /stages/deny/{stage_uuid}/ | +[**stages_deny_list**](StagesApi.md#stages_deny_list) | **GET** /stages/deny/ | +[**stages_deny_partial_update**](StagesApi.md#stages_deny_partial_update) | **PATCH** /stages/deny/{stage_uuid}/ | +[**stages_deny_retrieve**](StagesApi.md#stages_deny_retrieve) | **GET** /stages/deny/{stage_uuid}/ | +[**stages_deny_update**](StagesApi.md#stages_deny_update) | **PUT** /stages/deny/{stage_uuid}/ | +[**stages_deny_used_by_list**](StagesApi.md#stages_deny_used_by_list) | **GET** /stages/deny/{stage_uuid}/used_by/ | +[**stages_dummy_create**](StagesApi.md#stages_dummy_create) | **POST** /stages/dummy/ | +[**stages_dummy_destroy**](StagesApi.md#stages_dummy_destroy) | **DELETE** /stages/dummy/{stage_uuid}/ | +[**stages_dummy_list**](StagesApi.md#stages_dummy_list) | **GET** /stages/dummy/ | +[**stages_dummy_partial_update**](StagesApi.md#stages_dummy_partial_update) | **PATCH** /stages/dummy/{stage_uuid}/ | +[**stages_dummy_retrieve**](StagesApi.md#stages_dummy_retrieve) | **GET** /stages/dummy/{stage_uuid}/ | +[**stages_dummy_update**](StagesApi.md#stages_dummy_update) | **PUT** /stages/dummy/{stage_uuid}/ | +[**stages_dummy_used_by_list**](StagesApi.md#stages_dummy_used_by_list) | **GET** /stages/dummy/{stage_uuid}/used_by/ | +[**stages_email_create**](StagesApi.md#stages_email_create) | **POST** /stages/email/ | +[**stages_email_destroy**](StagesApi.md#stages_email_destroy) | **DELETE** /stages/email/{stage_uuid}/ | +[**stages_email_list**](StagesApi.md#stages_email_list) | **GET** /stages/email/ | +[**stages_email_partial_update**](StagesApi.md#stages_email_partial_update) | **PATCH** /stages/email/{stage_uuid}/ | +[**stages_email_retrieve**](StagesApi.md#stages_email_retrieve) | **GET** /stages/email/{stage_uuid}/ | +[**stages_email_templates_list**](StagesApi.md#stages_email_templates_list) | **GET** /stages/email/templates/ | +[**stages_email_update**](StagesApi.md#stages_email_update) | **PUT** /stages/email/{stage_uuid}/ | +[**stages_email_used_by_list**](StagesApi.md#stages_email_used_by_list) | **GET** /stages/email/{stage_uuid}/used_by/ | +[**stages_identification_create**](StagesApi.md#stages_identification_create) | **POST** /stages/identification/ | +[**stages_identification_destroy**](StagesApi.md#stages_identification_destroy) | **DELETE** /stages/identification/{stage_uuid}/ | +[**stages_identification_list**](StagesApi.md#stages_identification_list) | **GET** /stages/identification/ | +[**stages_identification_partial_update**](StagesApi.md#stages_identification_partial_update) | **PATCH** /stages/identification/{stage_uuid}/ | +[**stages_identification_retrieve**](StagesApi.md#stages_identification_retrieve) | **GET** /stages/identification/{stage_uuid}/ | +[**stages_identification_update**](StagesApi.md#stages_identification_update) | **PUT** /stages/identification/{stage_uuid}/ | +[**stages_identification_used_by_list**](StagesApi.md#stages_identification_used_by_list) | **GET** /stages/identification/{stage_uuid}/used_by/ | +[**stages_invitation_invitations_create**](StagesApi.md#stages_invitation_invitations_create) | **POST** /stages/invitation/invitations/ | +[**stages_invitation_invitations_destroy**](StagesApi.md#stages_invitation_invitations_destroy) | **DELETE** /stages/invitation/invitations/{invite_uuid}/ | +[**stages_invitation_invitations_list**](StagesApi.md#stages_invitation_invitations_list) | **GET** /stages/invitation/invitations/ | +[**stages_invitation_invitations_partial_update**](StagesApi.md#stages_invitation_invitations_partial_update) | **PATCH** /stages/invitation/invitations/{invite_uuid}/ | +[**stages_invitation_invitations_retrieve**](StagesApi.md#stages_invitation_invitations_retrieve) | **GET** /stages/invitation/invitations/{invite_uuid}/ | +[**stages_invitation_invitations_update**](StagesApi.md#stages_invitation_invitations_update) | **PUT** /stages/invitation/invitations/{invite_uuid}/ | +[**stages_invitation_invitations_used_by_list**](StagesApi.md#stages_invitation_invitations_used_by_list) | **GET** /stages/invitation/invitations/{invite_uuid}/used_by/ | +[**stages_invitation_stages_create**](StagesApi.md#stages_invitation_stages_create) | **POST** /stages/invitation/stages/ | +[**stages_invitation_stages_destroy**](StagesApi.md#stages_invitation_stages_destroy) | **DELETE** /stages/invitation/stages/{stage_uuid}/ | +[**stages_invitation_stages_list**](StagesApi.md#stages_invitation_stages_list) | **GET** /stages/invitation/stages/ | +[**stages_invitation_stages_partial_update**](StagesApi.md#stages_invitation_stages_partial_update) | **PATCH** /stages/invitation/stages/{stage_uuid}/ | +[**stages_invitation_stages_retrieve**](StagesApi.md#stages_invitation_stages_retrieve) | **GET** /stages/invitation/stages/{stage_uuid}/ | +[**stages_invitation_stages_update**](StagesApi.md#stages_invitation_stages_update) | **PUT** /stages/invitation/stages/{stage_uuid}/ | +[**stages_invitation_stages_used_by_list**](StagesApi.md#stages_invitation_stages_used_by_list) | **GET** /stages/invitation/stages/{stage_uuid}/used_by/ | +[**stages_password_create**](StagesApi.md#stages_password_create) | **POST** /stages/password/ | +[**stages_password_destroy**](StagesApi.md#stages_password_destroy) | **DELETE** /stages/password/{stage_uuid}/ | +[**stages_password_list**](StagesApi.md#stages_password_list) | **GET** /stages/password/ | +[**stages_password_partial_update**](StagesApi.md#stages_password_partial_update) | **PATCH** /stages/password/{stage_uuid}/ | +[**stages_password_retrieve**](StagesApi.md#stages_password_retrieve) | **GET** /stages/password/{stage_uuid}/ | +[**stages_password_update**](StagesApi.md#stages_password_update) | **PUT** /stages/password/{stage_uuid}/ | +[**stages_password_used_by_list**](StagesApi.md#stages_password_used_by_list) | **GET** /stages/password/{stage_uuid}/used_by/ | +[**stages_prompt_prompts_create**](StagesApi.md#stages_prompt_prompts_create) | **POST** /stages/prompt/prompts/ | +[**stages_prompt_prompts_destroy**](StagesApi.md#stages_prompt_prompts_destroy) | **DELETE** /stages/prompt/prompts/{prompt_uuid}/ | +[**stages_prompt_prompts_list**](StagesApi.md#stages_prompt_prompts_list) | **GET** /stages/prompt/prompts/ | +[**stages_prompt_prompts_partial_update**](StagesApi.md#stages_prompt_prompts_partial_update) | **PATCH** /stages/prompt/prompts/{prompt_uuid}/ | +[**stages_prompt_prompts_preview_create**](StagesApi.md#stages_prompt_prompts_preview_create) | **POST** /stages/prompt/prompts/preview/ | +[**stages_prompt_prompts_retrieve**](StagesApi.md#stages_prompt_prompts_retrieve) | **GET** /stages/prompt/prompts/{prompt_uuid}/ | +[**stages_prompt_prompts_update**](StagesApi.md#stages_prompt_prompts_update) | **PUT** /stages/prompt/prompts/{prompt_uuid}/ | +[**stages_prompt_prompts_used_by_list**](StagesApi.md#stages_prompt_prompts_used_by_list) | **GET** /stages/prompt/prompts/{prompt_uuid}/used_by/ | +[**stages_prompt_stages_create**](StagesApi.md#stages_prompt_stages_create) | **POST** /stages/prompt/stages/ | +[**stages_prompt_stages_destroy**](StagesApi.md#stages_prompt_stages_destroy) | **DELETE** /stages/prompt/stages/{stage_uuid}/ | +[**stages_prompt_stages_list**](StagesApi.md#stages_prompt_stages_list) | **GET** /stages/prompt/stages/ | +[**stages_prompt_stages_partial_update**](StagesApi.md#stages_prompt_stages_partial_update) | **PATCH** /stages/prompt/stages/{stage_uuid}/ | +[**stages_prompt_stages_retrieve**](StagesApi.md#stages_prompt_stages_retrieve) | **GET** /stages/prompt/stages/{stage_uuid}/ | +[**stages_prompt_stages_update**](StagesApi.md#stages_prompt_stages_update) | **PUT** /stages/prompt/stages/{stage_uuid}/ | +[**stages_prompt_stages_used_by_list**](StagesApi.md#stages_prompt_stages_used_by_list) | **GET** /stages/prompt/stages/{stage_uuid}/used_by/ | +[**stages_source_create**](StagesApi.md#stages_source_create) | **POST** /stages/source/ | +[**stages_source_destroy**](StagesApi.md#stages_source_destroy) | **DELETE** /stages/source/{stage_uuid}/ | +[**stages_source_list**](StagesApi.md#stages_source_list) | **GET** /stages/source/ | +[**stages_source_partial_update**](StagesApi.md#stages_source_partial_update) | **PATCH** /stages/source/{stage_uuid}/ | +[**stages_source_retrieve**](StagesApi.md#stages_source_retrieve) | **GET** /stages/source/{stage_uuid}/ | +[**stages_source_update**](StagesApi.md#stages_source_update) | **PUT** /stages/source/{stage_uuid}/ | +[**stages_source_used_by_list**](StagesApi.md#stages_source_used_by_list) | **GET** /stages/source/{stage_uuid}/used_by/ | +[**stages_user_delete_create**](StagesApi.md#stages_user_delete_create) | **POST** /stages/user_delete/ | +[**stages_user_delete_destroy**](StagesApi.md#stages_user_delete_destroy) | **DELETE** /stages/user_delete/{stage_uuid}/ | +[**stages_user_delete_list**](StagesApi.md#stages_user_delete_list) | **GET** /stages/user_delete/ | +[**stages_user_delete_partial_update**](StagesApi.md#stages_user_delete_partial_update) | **PATCH** /stages/user_delete/{stage_uuid}/ | +[**stages_user_delete_retrieve**](StagesApi.md#stages_user_delete_retrieve) | **GET** /stages/user_delete/{stage_uuid}/ | +[**stages_user_delete_update**](StagesApi.md#stages_user_delete_update) | **PUT** /stages/user_delete/{stage_uuid}/ | +[**stages_user_delete_used_by_list**](StagesApi.md#stages_user_delete_used_by_list) | **GET** /stages/user_delete/{stage_uuid}/used_by/ | +[**stages_user_login_create**](StagesApi.md#stages_user_login_create) | **POST** /stages/user_login/ | +[**stages_user_login_destroy**](StagesApi.md#stages_user_login_destroy) | **DELETE** /stages/user_login/{stage_uuid}/ | +[**stages_user_login_list**](StagesApi.md#stages_user_login_list) | **GET** /stages/user_login/ | +[**stages_user_login_partial_update**](StagesApi.md#stages_user_login_partial_update) | **PATCH** /stages/user_login/{stage_uuid}/ | +[**stages_user_login_retrieve**](StagesApi.md#stages_user_login_retrieve) | **GET** /stages/user_login/{stage_uuid}/ | +[**stages_user_login_update**](StagesApi.md#stages_user_login_update) | **PUT** /stages/user_login/{stage_uuid}/ | +[**stages_user_login_used_by_list**](StagesApi.md#stages_user_login_used_by_list) | **GET** /stages/user_login/{stage_uuid}/used_by/ | +[**stages_user_logout_create**](StagesApi.md#stages_user_logout_create) | **POST** /stages/user_logout/ | +[**stages_user_logout_destroy**](StagesApi.md#stages_user_logout_destroy) | **DELETE** /stages/user_logout/{stage_uuid}/ | +[**stages_user_logout_list**](StagesApi.md#stages_user_logout_list) | **GET** /stages/user_logout/ | +[**stages_user_logout_partial_update**](StagesApi.md#stages_user_logout_partial_update) | **PATCH** /stages/user_logout/{stage_uuid}/ | +[**stages_user_logout_retrieve**](StagesApi.md#stages_user_logout_retrieve) | **GET** /stages/user_logout/{stage_uuid}/ | +[**stages_user_logout_update**](StagesApi.md#stages_user_logout_update) | **PUT** /stages/user_logout/{stage_uuid}/ | +[**stages_user_logout_used_by_list**](StagesApi.md#stages_user_logout_used_by_list) | **GET** /stages/user_logout/{stage_uuid}/used_by/ | +[**stages_user_write_create**](StagesApi.md#stages_user_write_create) | **POST** /stages/user_write/ | +[**stages_user_write_destroy**](StagesApi.md#stages_user_write_destroy) | **DELETE** /stages/user_write/{stage_uuid}/ | +[**stages_user_write_list**](StagesApi.md#stages_user_write_list) | **GET** /stages/user_write/ | +[**stages_user_write_partial_update**](StagesApi.md#stages_user_write_partial_update) | **PATCH** /stages/user_write/{stage_uuid}/ | +[**stages_user_write_retrieve**](StagesApi.md#stages_user_write_retrieve) | **GET** /stages/user_write/{stage_uuid}/ | +[**stages_user_write_update**](StagesApi.md#stages_user_write_update) | **PUT** /stages/user_write/{stage_uuid}/ | +[**stages_user_write_used_by_list**](StagesApi.md#stages_user_write_used_by_list) | **GET** /stages/user_write/{stage_uuid}/used_by/ | + + + +## stages_all_destroy + +> stages_all_destroy(stage_uuid) + + +Stage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this stage. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_all_list + +> models::PaginatedStageList stages_all_list(name, ordering, page, page_size, search) + + +Stage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedStageList**](PaginatedStageList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_all_retrieve + +> models::Stage stages_all_retrieve(stage_uuid) + + +Stage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this stage. | [required] | + +### Return type + +[**models::Stage**](Stage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_all_types_list + +> Vec stages_all_types_list() + + +Get all creatable types + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**Vec**](TypeCreate.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_all_used_by_list + +> Vec stages_all_used_by_list(stage_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this stage. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_all_user_settings_list + +> Vec stages_all_user_settings_list() + + +Get all stages the user can configure + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**Vec**](UserSetting.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_duo_create + +> models::AuthenticatorDuoStage stages_authenticator_duo_create(authenticator_duo_stage_request) + + +AuthenticatorDuoStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**authenticator_duo_stage_request** | [**AuthenticatorDuoStageRequest**](AuthenticatorDuoStageRequest.md) | | [required] | + +### Return type + +[**models::AuthenticatorDuoStage**](AuthenticatorDuoStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_duo_destroy + +> stages_authenticator_duo_destroy(stage_uuid) + + +AuthenticatorDuoStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Duo Authenticator Setup Stage. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_duo_enrollment_status_create + +> models::DuoDeviceEnrollmentStatus stages_authenticator_duo_enrollment_status_create(stage_uuid) + + +Check enrollment status of user details in current session + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Duo Authenticator Setup Stage. | [required] | + +### Return type + +[**models::DuoDeviceEnrollmentStatus**](DuoDeviceEnrollmentStatus.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_duo_import_device_manual_create + +> stages_authenticator_duo_import_device_manual_create(stage_uuid, authenticator_duo_stage_manual_device_import_request) + + +Import duo devices into authentik + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Duo Authenticator Setup Stage. | [required] | +**authenticator_duo_stage_manual_device_import_request** | [**AuthenticatorDuoStageManualDeviceImportRequest**](AuthenticatorDuoStageManualDeviceImportRequest.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_duo_import_devices_automatic_create + +> models::AuthenticatorDuoStageDeviceImportResponse stages_authenticator_duo_import_devices_automatic_create(stage_uuid) + + +Import duo devices into authentik + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Duo Authenticator Setup Stage. | [required] | + +### Return type + +[**models::AuthenticatorDuoStageDeviceImportResponse**](AuthenticatorDuoStageDeviceImportResponse.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_duo_list + +> models::PaginatedAuthenticatorDuoStageList stages_authenticator_duo_list(api_hostname, client_id, configure_flow, name, ordering, page, page_size, search) + + +AuthenticatorDuoStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**api_hostname** | Option<**String**> | | | +**client_id** | Option<**String**> | | | +**configure_flow** | Option<**uuid::Uuid**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedAuthenticatorDuoStageList**](PaginatedAuthenticatorDuoStageList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_duo_partial_update + +> models::AuthenticatorDuoStage stages_authenticator_duo_partial_update(stage_uuid, patched_authenticator_duo_stage_request) + + +AuthenticatorDuoStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Duo Authenticator Setup Stage. | [required] | +**patched_authenticator_duo_stage_request** | Option<[**PatchedAuthenticatorDuoStageRequest**](PatchedAuthenticatorDuoStageRequest.md)> | | | + +### Return type + +[**models::AuthenticatorDuoStage**](AuthenticatorDuoStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_duo_retrieve + +> models::AuthenticatorDuoStage stages_authenticator_duo_retrieve(stage_uuid) + + +AuthenticatorDuoStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Duo Authenticator Setup Stage. | [required] | + +### Return type + +[**models::AuthenticatorDuoStage**](AuthenticatorDuoStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_duo_update + +> models::AuthenticatorDuoStage stages_authenticator_duo_update(stage_uuid, authenticator_duo_stage_request) + + +AuthenticatorDuoStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Duo Authenticator Setup Stage. | [required] | +**authenticator_duo_stage_request** | [**AuthenticatorDuoStageRequest**](AuthenticatorDuoStageRequest.md) | | [required] | + +### Return type + +[**models::AuthenticatorDuoStage**](AuthenticatorDuoStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_duo_used_by_list + +> Vec stages_authenticator_duo_used_by_list(stage_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Duo Authenticator Setup Stage. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_sms_create + +> models::AuthenticatorSmsStage stages_authenticator_sms_create(authenticator_sms_stage_request) + + +AuthenticatorSMSStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**authenticator_sms_stage_request** | [**AuthenticatorSmsStageRequest**](AuthenticatorSmsStageRequest.md) | | [required] | + +### Return type + +[**models::AuthenticatorSmsStage**](AuthenticatorSMSStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_sms_destroy + +> stages_authenticator_sms_destroy(stage_uuid) + + +AuthenticatorSMSStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this SMS Authenticator Setup Stage. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_sms_list + +> models::PaginatedAuthenticatorSmsStageList stages_authenticator_sms_list(account_sid, auth, auth_password, auth_type, configure_flow, friendly_name, from_number, mapping, name, ordering, page, page_size, provider, search, stage_uuid, verify_only) + + +AuthenticatorSMSStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**account_sid** | Option<**String**> | | | +**auth** | Option<**String**> | | | +**auth_password** | Option<**String**> | | | +**auth_type** | Option<**String**> | | | +**configure_flow** | Option<**uuid::Uuid**> | | | +**friendly_name** | Option<**String**> | | | +**from_number** | Option<**String**> | | | +**mapping** | Option<**uuid::Uuid**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**provider** | Option<**String**> | | | +**search** | Option<**String**> | A search term. | | +**stage_uuid** | Option<**uuid::Uuid**> | | | +**verify_only** | Option<**bool**> | | | + +### Return type + +[**models::PaginatedAuthenticatorSmsStageList**](PaginatedAuthenticatorSMSStageList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_sms_partial_update + +> models::AuthenticatorSmsStage stages_authenticator_sms_partial_update(stage_uuid, patched_authenticator_sms_stage_request) + + +AuthenticatorSMSStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this SMS Authenticator Setup Stage. | [required] | +**patched_authenticator_sms_stage_request** | Option<[**PatchedAuthenticatorSmsStageRequest**](PatchedAuthenticatorSmsStageRequest.md)> | | | + +### Return type + +[**models::AuthenticatorSmsStage**](AuthenticatorSMSStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_sms_retrieve + +> models::AuthenticatorSmsStage stages_authenticator_sms_retrieve(stage_uuid) + + +AuthenticatorSMSStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this SMS Authenticator Setup Stage. | [required] | + +### Return type + +[**models::AuthenticatorSmsStage**](AuthenticatorSMSStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_sms_update + +> models::AuthenticatorSmsStage stages_authenticator_sms_update(stage_uuid, authenticator_sms_stage_request) + + +AuthenticatorSMSStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this SMS Authenticator Setup Stage. | [required] | +**authenticator_sms_stage_request** | [**AuthenticatorSmsStageRequest**](AuthenticatorSmsStageRequest.md) | | [required] | + +### Return type + +[**models::AuthenticatorSmsStage**](AuthenticatorSMSStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_sms_used_by_list + +> Vec stages_authenticator_sms_used_by_list(stage_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this SMS Authenticator Setup Stage. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_static_create + +> models::AuthenticatorStaticStage stages_authenticator_static_create(authenticator_static_stage_request) + + +AuthenticatorStaticStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**authenticator_static_stage_request** | [**AuthenticatorStaticStageRequest**](AuthenticatorStaticStageRequest.md) | | [required] | + +### Return type + +[**models::AuthenticatorStaticStage**](AuthenticatorStaticStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_static_destroy + +> stages_authenticator_static_destroy(stage_uuid) + + +AuthenticatorStaticStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Static Authenticator Setup Stage. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_static_list + +> models::PaginatedAuthenticatorStaticStageList stages_authenticator_static_list(configure_flow, friendly_name, name, ordering, page, page_size, search, stage_uuid, token_count, token_length) + + +AuthenticatorStaticStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**configure_flow** | Option<**uuid::Uuid**> | | | +**friendly_name** | Option<**String**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**stage_uuid** | Option<**uuid::Uuid**> | | | +**token_count** | Option<**i32**> | | | +**token_length** | Option<**i32**> | | | + +### Return type + +[**models::PaginatedAuthenticatorStaticStageList**](PaginatedAuthenticatorStaticStageList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_static_partial_update + +> models::AuthenticatorStaticStage stages_authenticator_static_partial_update(stage_uuid, patched_authenticator_static_stage_request) + + +AuthenticatorStaticStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Static Authenticator Setup Stage. | [required] | +**patched_authenticator_static_stage_request** | Option<[**PatchedAuthenticatorStaticStageRequest**](PatchedAuthenticatorStaticStageRequest.md)> | | | + +### Return type + +[**models::AuthenticatorStaticStage**](AuthenticatorStaticStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_static_retrieve + +> models::AuthenticatorStaticStage stages_authenticator_static_retrieve(stage_uuid) + + +AuthenticatorStaticStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Static Authenticator Setup Stage. | [required] | + +### Return type + +[**models::AuthenticatorStaticStage**](AuthenticatorStaticStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_static_update + +> models::AuthenticatorStaticStage stages_authenticator_static_update(stage_uuid, authenticator_static_stage_request) + + +AuthenticatorStaticStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Static Authenticator Setup Stage. | [required] | +**authenticator_static_stage_request** | [**AuthenticatorStaticStageRequest**](AuthenticatorStaticStageRequest.md) | | [required] | + +### Return type + +[**models::AuthenticatorStaticStage**](AuthenticatorStaticStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_static_used_by_list + +> Vec stages_authenticator_static_used_by_list(stage_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Static Authenticator Setup Stage. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_totp_create + +> models::AuthenticatorTotpStage stages_authenticator_totp_create(authenticator_totp_stage_request) + + +AuthenticatorTOTPStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**authenticator_totp_stage_request** | [**AuthenticatorTotpStageRequest**](AuthenticatorTotpStageRequest.md) | | [required] | + +### Return type + +[**models::AuthenticatorTotpStage**](AuthenticatorTOTPStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_totp_destroy + +> stages_authenticator_totp_destroy(stage_uuid) + + +AuthenticatorTOTPStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this TOTP Authenticator Setup Stage. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_totp_list + +> models::PaginatedAuthenticatorTotpStageList stages_authenticator_totp_list(configure_flow, digits, friendly_name, name, ordering, page, page_size, search, stage_uuid) + + +AuthenticatorTOTPStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**configure_flow** | Option<**uuid::Uuid**> | | | +**digits** | Option<**String**> | | | +**friendly_name** | Option<**String**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**stage_uuid** | Option<**uuid::Uuid**> | | | + +### Return type + +[**models::PaginatedAuthenticatorTotpStageList**](PaginatedAuthenticatorTOTPStageList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_totp_partial_update + +> models::AuthenticatorTotpStage stages_authenticator_totp_partial_update(stage_uuid, patched_authenticator_totp_stage_request) + + +AuthenticatorTOTPStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this TOTP Authenticator Setup Stage. | [required] | +**patched_authenticator_totp_stage_request** | Option<[**PatchedAuthenticatorTotpStageRequest**](PatchedAuthenticatorTotpStageRequest.md)> | | | + +### Return type + +[**models::AuthenticatorTotpStage**](AuthenticatorTOTPStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_totp_retrieve + +> models::AuthenticatorTotpStage stages_authenticator_totp_retrieve(stage_uuid) + + +AuthenticatorTOTPStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this TOTP Authenticator Setup Stage. | [required] | + +### Return type + +[**models::AuthenticatorTotpStage**](AuthenticatorTOTPStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_totp_update + +> models::AuthenticatorTotpStage stages_authenticator_totp_update(stage_uuid, authenticator_totp_stage_request) + + +AuthenticatorTOTPStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this TOTP Authenticator Setup Stage. | [required] | +**authenticator_totp_stage_request** | [**AuthenticatorTotpStageRequest**](AuthenticatorTotpStageRequest.md) | | [required] | + +### Return type + +[**models::AuthenticatorTotpStage**](AuthenticatorTOTPStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_totp_used_by_list + +> Vec stages_authenticator_totp_used_by_list(stage_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this TOTP Authenticator Setup Stage. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_validate_create + +> models::AuthenticatorValidateStage stages_authenticator_validate_create(authenticator_validate_stage_request) + + +AuthenticatorValidateStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**authenticator_validate_stage_request** | [**AuthenticatorValidateStageRequest**](AuthenticatorValidateStageRequest.md) | | [required] | + +### Return type + +[**models::AuthenticatorValidateStage**](AuthenticatorValidateStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_validate_destroy + +> stages_authenticator_validate_destroy(stage_uuid) + + +AuthenticatorValidateStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Authenticator Validation Stage. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_validate_list + +> models::PaginatedAuthenticatorValidateStageList stages_authenticator_validate_list(configuration_stages, name, not_configured_action, ordering, page, page_size, search) + + +AuthenticatorValidateStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**configuration_stages** | Option<[**Vec**](uuid::Uuid.md)> | | | +**name** | Option<**String**> | | | +**not_configured_action** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedAuthenticatorValidateStageList**](PaginatedAuthenticatorValidateStageList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_validate_partial_update + +> models::AuthenticatorValidateStage stages_authenticator_validate_partial_update(stage_uuid, patched_authenticator_validate_stage_request) + + +AuthenticatorValidateStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Authenticator Validation Stage. | [required] | +**patched_authenticator_validate_stage_request** | Option<[**PatchedAuthenticatorValidateStageRequest**](PatchedAuthenticatorValidateStageRequest.md)> | | | + +### Return type + +[**models::AuthenticatorValidateStage**](AuthenticatorValidateStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_validate_retrieve + +> models::AuthenticatorValidateStage stages_authenticator_validate_retrieve(stage_uuid) + + +AuthenticatorValidateStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Authenticator Validation Stage. | [required] | + +### Return type + +[**models::AuthenticatorValidateStage**](AuthenticatorValidateStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_validate_update + +> models::AuthenticatorValidateStage stages_authenticator_validate_update(stage_uuid, authenticator_validate_stage_request) + + +AuthenticatorValidateStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Authenticator Validation Stage. | [required] | +**authenticator_validate_stage_request** | [**AuthenticatorValidateStageRequest**](AuthenticatorValidateStageRequest.md) | | [required] | + +### Return type + +[**models::AuthenticatorValidateStage**](AuthenticatorValidateStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_validate_used_by_list + +> Vec stages_authenticator_validate_used_by_list(stage_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Authenticator Validation Stage. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_webauthn_create + +> models::AuthenticatorWebAuthnStage stages_authenticator_webauthn_create(authenticator_web_authn_stage_request) + + +AuthenticatorWebAuthnStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**authenticator_web_authn_stage_request** | [**AuthenticatorWebAuthnStageRequest**](AuthenticatorWebAuthnStageRequest.md) | | [required] | + +### Return type + +[**models::AuthenticatorWebAuthnStage**](AuthenticatorWebAuthnStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_webauthn_destroy + +> stages_authenticator_webauthn_destroy(stage_uuid) + + +AuthenticatorWebAuthnStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this WebAuthn Authenticator Setup Stage. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_webauthn_device_types_list + +> models::PaginatedWebAuthnDeviceTypeList stages_authenticator_webauthn_device_types_list(aaguid, description, icon, ordering, page, page_size, search) + + +WebAuthnDeviceType Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**aaguid** | Option<**uuid::Uuid**> | | | +**description** | Option<**String**> | | | +**icon** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedWebAuthnDeviceTypeList**](PaginatedWebAuthnDeviceTypeList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_webauthn_device_types_retrieve + +> models::WebAuthnDeviceType stages_authenticator_webauthn_device_types_retrieve(aaguid) + + +WebAuthnDeviceType Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**aaguid** | **uuid::Uuid** | A UUID string identifying this WebAuthn Device type. | [required] | + +### Return type + +[**models::WebAuthnDeviceType**](WebAuthnDeviceType.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_webauthn_list + +> models::PaginatedAuthenticatorWebAuthnStageList stages_authenticator_webauthn_list(authenticator_attachment, configure_flow, device_type_restrictions, friendly_name, name, ordering, page, page_size, resident_key_requirement, search, stage_uuid, user_verification) + + +AuthenticatorWebAuthnStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**authenticator_attachment** | Option<**String**> | | | +**configure_flow** | Option<**uuid::Uuid**> | | | +**device_type_restrictions** | Option<[**Vec**](uuid::Uuid.md)> | | | +**friendly_name** | Option<**String**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**resident_key_requirement** | Option<**String**> | | | +**search** | Option<**String**> | A search term. | | +**stage_uuid** | Option<**uuid::Uuid**> | | | +**user_verification** | Option<**String**> | | | + +### Return type + +[**models::PaginatedAuthenticatorWebAuthnStageList**](PaginatedAuthenticatorWebAuthnStageList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_webauthn_partial_update + +> models::AuthenticatorWebAuthnStage stages_authenticator_webauthn_partial_update(stage_uuid, patched_authenticator_web_authn_stage_request) + + +AuthenticatorWebAuthnStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this WebAuthn Authenticator Setup Stage. | [required] | +**patched_authenticator_web_authn_stage_request** | Option<[**PatchedAuthenticatorWebAuthnStageRequest**](PatchedAuthenticatorWebAuthnStageRequest.md)> | | | + +### Return type + +[**models::AuthenticatorWebAuthnStage**](AuthenticatorWebAuthnStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_webauthn_retrieve + +> models::AuthenticatorWebAuthnStage stages_authenticator_webauthn_retrieve(stage_uuid) + + +AuthenticatorWebAuthnStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this WebAuthn Authenticator Setup Stage. | [required] | + +### Return type + +[**models::AuthenticatorWebAuthnStage**](AuthenticatorWebAuthnStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_webauthn_update + +> models::AuthenticatorWebAuthnStage stages_authenticator_webauthn_update(stage_uuid, authenticator_web_authn_stage_request) + + +AuthenticatorWebAuthnStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this WebAuthn Authenticator Setup Stage. | [required] | +**authenticator_web_authn_stage_request** | [**AuthenticatorWebAuthnStageRequest**](AuthenticatorWebAuthnStageRequest.md) | | [required] | + +### Return type + +[**models::AuthenticatorWebAuthnStage**](AuthenticatorWebAuthnStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_authenticator_webauthn_used_by_list + +> Vec stages_authenticator_webauthn_used_by_list(stage_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this WebAuthn Authenticator Setup Stage. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_captcha_create + +> models::CaptchaStage stages_captcha_create(captcha_stage_request) + + +CaptchaStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**captcha_stage_request** | [**CaptchaStageRequest**](CaptchaStageRequest.md) | | [required] | + +### Return type + +[**models::CaptchaStage**](CaptchaStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_captcha_destroy + +> stages_captcha_destroy(stage_uuid) + + +CaptchaStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Captcha Stage. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_captcha_list + +> models::PaginatedCaptchaStageList stages_captcha_list(name, ordering, page, page_size, public_key, search) + + +CaptchaStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**public_key** | Option<**String**> | | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedCaptchaStageList**](PaginatedCaptchaStageList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_captcha_partial_update + +> models::CaptchaStage stages_captcha_partial_update(stage_uuid, patched_captcha_stage_request) + + +CaptchaStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Captcha Stage. | [required] | +**patched_captcha_stage_request** | Option<[**PatchedCaptchaStageRequest**](PatchedCaptchaStageRequest.md)> | | | + +### Return type + +[**models::CaptchaStage**](CaptchaStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_captcha_retrieve + +> models::CaptchaStage stages_captcha_retrieve(stage_uuid) + + +CaptchaStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Captcha Stage. | [required] | + +### Return type + +[**models::CaptchaStage**](CaptchaStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_captcha_update + +> models::CaptchaStage stages_captcha_update(stage_uuid, captcha_stage_request) + + +CaptchaStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Captcha Stage. | [required] | +**captcha_stage_request** | [**CaptchaStageRequest**](CaptchaStageRequest.md) | | [required] | + +### Return type + +[**models::CaptchaStage**](CaptchaStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_captcha_used_by_list + +> Vec stages_captcha_used_by_list(stage_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Captcha Stage. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_consent_create + +> models::ConsentStage stages_consent_create(consent_stage_request) + + +ConsentStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**consent_stage_request** | [**ConsentStageRequest**](ConsentStageRequest.md) | | [required] | + +### Return type + +[**models::ConsentStage**](ConsentStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_consent_destroy + +> stages_consent_destroy(stage_uuid) + + +ConsentStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Consent Stage. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_consent_list + +> models::PaginatedConsentStageList stages_consent_list(consent_expire_in, mode, name, ordering, page, page_size, search, stage_uuid) + + +ConsentStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**consent_expire_in** | Option<**String**> | | | +**mode** | Option<**String**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**stage_uuid** | Option<**uuid::Uuid**> | | | + +### Return type + +[**models::PaginatedConsentStageList**](PaginatedConsentStageList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_consent_partial_update + +> models::ConsentStage stages_consent_partial_update(stage_uuid, patched_consent_stage_request) + + +ConsentStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Consent Stage. | [required] | +**patched_consent_stage_request** | Option<[**PatchedConsentStageRequest**](PatchedConsentStageRequest.md)> | | | + +### Return type + +[**models::ConsentStage**](ConsentStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_consent_retrieve + +> models::ConsentStage stages_consent_retrieve(stage_uuid) + + +ConsentStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Consent Stage. | [required] | + +### Return type + +[**models::ConsentStage**](ConsentStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_consent_update + +> models::ConsentStage stages_consent_update(stage_uuid, consent_stage_request) + + +ConsentStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Consent Stage. | [required] | +**consent_stage_request** | [**ConsentStageRequest**](ConsentStageRequest.md) | | [required] | + +### Return type + +[**models::ConsentStage**](ConsentStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_consent_used_by_list + +> Vec stages_consent_used_by_list(stage_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Consent Stage. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_deny_create + +> models::DenyStage stages_deny_create(deny_stage_request) + + +DenyStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**deny_stage_request** | [**DenyStageRequest**](DenyStageRequest.md) | | [required] | + +### Return type + +[**models::DenyStage**](DenyStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_deny_destroy + +> stages_deny_destroy(stage_uuid) + + +DenyStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Deny Stage. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_deny_list + +> models::PaginatedDenyStageList stages_deny_list(deny_message, name, ordering, page, page_size, search, stage_uuid) + + +DenyStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**deny_message** | Option<**String**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**stage_uuid** | Option<**uuid::Uuid**> | | | + +### Return type + +[**models::PaginatedDenyStageList**](PaginatedDenyStageList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_deny_partial_update + +> models::DenyStage stages_deny_partial_update(stage_uuid, patched_deny_stage_request) + + +DenyStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Deny Stage. | [required] | +**patched_deny_stage_request** | Option<[**PatchedDenyStageRequest**](PatchedDenyStageRequest.md)> | | | + +### Return type + +[**models::DenyStage**](DenyStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_deny_retrieve + +> models::DenyStage stages_deny_retrieve(stage_uuid) + + +DenyStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Deny Stage. | [required] | + +### Return type + +[**models::DenyStage**](DenyStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_deny_update + +> models::DenyStage stages_deny_update(stage_uuid, deny_stage_request) + + +DenyStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Deny Stage. | [required] | +**deny_stage_request** | [**DenyStageRequest**](DenyStageRequest.md) | | [required] | + +### Return type + +[**models::DenyStage**](DenyStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_deny_used_by_list + +> Vec stages_deny_used_by_list(stage_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Deny Stage. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_dummy_create + +> models::DummyStage stages_dummy_create(dummy_stage_request) + + +DummyStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**dummy_stage_request** | [**DummyStageRequest**](DummyStageRequest.md) | | [required] | + +### Return type + +[**models::DummyStage**](DummyStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_dummy_destroy + +> stages_dummy_destroy(stage_uuid) + + +DummyStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Dummy Stage. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_dummy_list + +> models::PaginatedDummyStageList stages_dummy_list(name, ordering, page, page_size, search, stage_uuid, throw_error) + + +DummyStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**stage_uuid** | Option<**uuid::Uuid**> | | | +**throw_error** | Option<**bool**> | | | + +### Return type + +[**models::PaginatedDummyStageList**](PaginatedDummyStageList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_dummy_partial_update + +> models::DummyStage stages_dummy_partial_update(stage_uuid, patched_dummy_stage_request) + + +DummyStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Dummy Stage. | [required] | +**patched_dummy_stage_request** | Option<[**PatchedDummyStageRequest**](PatchedDummyStageRequest.md)> | | | + +### Return type + +[**models::DummyStage**](DummyStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_dummy_retrieve + +> models::DummyStage stages_dummy_retrieve(stage_uuid) + + +DummyStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Dummy Stage. | [required] | + +### Return type + +[**models::DummyStage**](DummyStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_dummy_update + +> models::DummyStage stages_dummy_update(stage_uuid, dummy_stage_request) + + +DummyStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Dummy Stage. | [required] | +**dummy_stage_request** | [**DummyStageRequest**](DummyStageRequest.md) | | [required] | + +### Return type + +[**models::DummyStage**](DummyStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_dummy_used_by_list + +> Vec stages_dummy_used_by_list(stage_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Dummy Stage. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_email_create + +> models::EmailStage stages_email_create(email_stage_request) + + +EmailStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**email_stage_request** | [**EmailStageRequest**](EmailStageRequest.md) | | [required] | + +### Return type + +[**models::EmailStage**](EmailStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_email_destroy + +> stages_email_destroy(stage_uuid) + + +EmailStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Email Stage. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_email_list + +> models::PaginatedEmailStageList stages_email_list(activate_user_on_success, from_address, host, name, ordering, page, page_size, port, search, subject, template, timeout, token_expiry, use_global_settings, use_ssl, use_tls, username) + + +EmailStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**activate_user_on_success** | Option<**bool**> | | | +**from_address** | Option<**String**> | | | +**host** | Option<**String**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**port** | Option<**i32**> | | | +**search** | Option<**String**> | A search term. | | +**subject** | Option<**String**> | | | +**template** | Option<**String**> | | | +**timeout** | Option<**i32**> | | | +**token_expiry** | Option<**i32**> | | | +**use_global_settings** | Option<**bool**> | | | +**use_ssl** | Option<**bool**> | | | +**use_tls** | Option<**bool**> | | | +**username** | Option<**String**> | | | + +### Return type + +[**models::PaginatedEmailStageList**](PaginatedEmailStageList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_email_partial_update + +> models::EmailStage stages_email_partial_update(stage_uuid, patched_email_stage_request) + + +EmailStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Email Stage. | [required] | +**patched_email_stage_request** | Option<[**PatchedEmailStageRequest**](PatchedEmailStageRequest.md)> | | | + +### Return type + +[**models::EmailStage**](EmailStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_email_retrieve + +> models::EmailStage stages_email_retrieve(stage_uuid) + + +EmailStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Email Stage. | [required] | + +### Return type + +[**models::EmailStage**](EmailStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_email_templates_list + +> Vec stages_email_templates_list() + + +Get all available templates, including custom templates + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**Vec**](TypeCreate.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_email_update + +> models::EmailStage stages_email_update(stage_uuid, email_stage_request) + + +EmailStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Email Stage. | [required] | +**email_stage_request** | [**EmailStageRequest**](EmailStageRequest.md) | | [required] | + +### Return type + +[**models::EmailStage**](EmailStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_email_used_by_list + +> Vec stages_email_used_by_list(stage_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Email Stage. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_identification_create + +> models::IdentificationStage stages_identification_create(identification_stage_request) + + +IdentificationStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**identification_stage_request** | [**IdentificationStageRequest**](IdentificationStageRequest.md) | | [required] | + +### Return type + +[**models::IdentificationStage**](IdentificationStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_identification_destroy + +> stages_identification_destroy(stage_uuid) + + +IdentificationStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Identification Stage. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_identification_list + +> models::PaginatedIdentificationStageList stages_identification_list(case_insensitive_matching, enrollment_flow, name, ordering, page, page_size, password_stage, passwordless_flow, recovery_flow, search, show_matched_user, show_source_labels) + + +IdentificationStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**case_insensitive_matching** | Option<**bool**> | | | +**enrollment_flow** | Option<**uuid::Uuid**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**password_stage** | Option<**uuid::Uuid**> | | | +**passwordless_flow** | Option<**uuid::Uuid**> | | | +**recovery_flow** | Option<**uuid::Uuid**> | | | +**search** | Option<**String**> | A search term. | | +**show_matched_user** | Option<**bool**> | | | +**show_source_labels** | Option<**bool**> | | | + +### Return type + +[**models::PaginatedIdentificationStageList**](PaginatedIdentificationStageList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_identification_partial_update + +> models::IdentificationStage stages_identification_partial_update(stage_uuid, patched_identification_stage_request) + + +IdentificationStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Identification Stage. | [required] | +**patched_identification_stage_request** | Option<[**PatchedIdentificationStageRequest**](PatchedIdentificationStageRequest.md)> | | | + +### Return type + +[**models::IdentificationStage**](IdentificationStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_identification_retrieve + +> models::IdentificationStage stages_identification_retrieve(stage_uuid) + + +IdentificationStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Identification Stage. | [required] | + +### Return type + +[**models::IdentificationStage**](IdentificationStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_identification_update + +> models::IdentificationStage stages_identification_update(stage_uuid, identification_stage_request) + + +IdentificationStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Identification Stage. | [required] | +**identification_stage_request** | [**IdentificationStageRequest**](IdentificationStageRequest.md) | | [required] | + +### Return type + +[**models::IdentificationStage**](IdentificationStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_identification_used_by_list + +> Vec stages_identification_used_by_list(stage_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Identification Stage. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_invitation_invitations_create + +> models::Invitation stages_invitation_invitations_create(invitation_request) + + +Invitation Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**invitation_request** | [**InvitationRequest**](InvitationRequest.md) | | [required] | + +### Return type + +[**models::Invitation**](Invitation.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_invitation_invitations_destroy + +> stages_invitation_invitations_destroy(invite_uuid) + + +Invitation Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**invite_uuid** | **uuid::Uuid** | A UUID string identifying this Invitation. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_invitation_invitations_list + +> models::PaginatedInvitationList stages_invitation_invitations_list(created_by__username, expires, flow__slug, name, ordering, page, page_size, search) + + +Invitation Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**created_by__username** | Option<**String**> | | | +**expires** | Option<**String**> | | | +**flow__slug** | Option<**String**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedInvitationList**](PaginatedInvitationList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_invitation_invitations_partial_update + +> models::Invitation stages_invitation_invitations_partial_update(invite_uuid, patched_invitation_request) + + +Invitation Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**invite_uuid** | **uuid::Uuid** | A UUID string identifying this Invitation. | [required] | +**patched_invitation_request** | Option<[**PatchedInvitationRequest**](PatchedInvitationRequest.md)> | | | + +### Return type + +[**models::Invitation**](Invitation.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_invitation_invitations_retrieve + +> models::Invitation stages_invitation_invitations_retrieve(invite_uuid) + + +Invitation Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**invite_uuid** | **uuid::Uuid** | A UUID string identifying this Invitation. | [required] | + +### Return type + +[**models::Invitation**](Invitation.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_invitation_invitations_update + +> models::Invitation stages_invitation_invitations_update(invite_uuid, invitation_request) + + +Invitation Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**invite_uuid** | **uuid::Uuid** | A UUID string identifying this Invitation. | [required] | +**invitation_request** | [**InvitationRequest**](InvitationRequest.md) | | [required] | + +### Return type + +[**models::Invitation**](Invitation.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_invitation_invitations_used_by_list + +> Vec stages_invitation_invitations_used_by_list(invite_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**invite_uuid** | **uuid::Uuid** | A UUID string identifying this Invitation. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_invitation_stages_create + +> models::InvitationStage stages_invitation_stages_create(invitation_stage_request) + + +InvitationStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**invitation_stage_request** | [**InvitationStageRequest**](InvitationStageRequest.md) | | [required] | + +### Return type + +[**models::InvitationStage**](InvitationStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_invitation_stages_destroy + +> stages_invitation_stages_destroy(stage_uuid) + + +InvitationStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Invitation Stage. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_invitation_stages_list + +> models::PaginatedInvitationStageList stages_invitation_stages_list(continue_flow_without_invitation, name, no_flows, ordering, page, page_size, search, stage_uuid) + + +InvitationStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**continue_flow_without_invitation** | Option<**bool**> | | | +**name** | Option<**String**> | | | +**no_flows** | Option<**bool**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**stage_uuid** | Option<**uuid::Uuid**> | | | + +### Return type + +[**models::PaginatedInvitationStageList**](PaginatedInvitationStageList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_invitation_stages_partial_update + +> models::InvitationStage stages_invitation_stages_partial_update(stage_uuid, patched_invitation_stage_request) + + +InvitationStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Invitation Stage. | [required] | +**patched_invitation_stage_request** | Option<[**PatchedInvitationStageRequest**](PatchedInvitationStageRequest.md)> | | | + +### Return type + +[**models::InvitationStage**](InvitationStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_invitation_stages_retrieve + +> models::InvitationStage stages_invitation_stages_retrieve(stage_uuid) + + +InvitationStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Invitation Stage. | [required] | + +### Return type + +[**models::InvitationStage**](InvitationStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_invitation_stages_update + +> models::InvitationStage stages_invitation_stages_update(stage_uuid, invitation_stage_request) + + +InvitationStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Invitation Stage. | [required] | +**invitation_stage_request** | [**InvitationStageRequest**](InvitationStageRequest.md) | | [required] | + +### Return type + +[**models::InvitationStage**](InvitationStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_invitation_stages_used_by_list + +> Vec stages_invitation_stages_used_by_list(stage_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Invitation Stage. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_password_create + +> models::PasswordStage stages_password_create(password_stage_request) + + +PasswordStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**password_stage_request** | [**PasswordStageRequest**](PasswordStageRequest.md) | | [required] | + +### Return type + +[**models::PasswordStage**](PasswordStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_password_destroy + +> stages_password_destroy(stage_uuid) + + +PasswordStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Password Stage. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_password_list + +> models::PaginatedPasswordStageList stages_password_list(allow_show_password, configure_flow, failed_attempts_before_cancel, name, ordering, page, page_size, search) + + +PasswordStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**allow_show_password** | Option<**bool**> | | | +**configure_flow** | Option<**uuid::Uuid**> | | | +**failed_attempts_before_cancel** | Option<**i32**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedPasswordStageList**](PaginatedPasswordStageList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_password_partial_update + +> models::PasswordStage stages_password_partial_update(stage_uuid, patched_password_stage_request) + + +PasswordStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Password Stage. | [required] | +**patched_password_stage_request** | Option<[**PatchedPasswordStageRequest**](PatchedPasswordStageRequest.md)> | | | + +### Return type + +[**models::PasswordStage**](PasswordStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_password_retrieve + +> models::PasswordStage stages_password_retrieve(stage_uuid) + + +PasswordStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Password Stage. | [required] | + +### Return type + +[**models::PasswordStage**](PasswordStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_password_update + +> models::PasswordStage stages_password_update(stage_uuid, password_stage_request) + + +PasswordStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Password Stage. | [required] | +**password_stage_request** | [**PasswordStageRequest**](PasswordStageRequest.md) | | [required] | + +### Return type + +[**models::PasswordStage**](PasswordStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_password_used_by_list + +> Vec stages_password_used_by_list(stage_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Password Stage. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_prompt_prompts_create + +> models::Prompt stages_prompt_prompts_create(prompt_request) + + +Prompt Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**prompt_request** | [**PromptRequest**](PromptRequest.md) | | [required] | + +### Return type + +[**models::Prompt**](Prompt.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_prompt_prompts_destroy + +> stages_prompt_prompts_destroy(prompt_uuid) + + +Prompt Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**prompt_uuid** | **uuid::Uuid** | A UUID string identifying this Prompt. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_prompt_prompts_list + +> models::PaginatedPromptList stages_prompt_prompts_list(field_key, label, name, ordering, page, page_size, placeholder, search, r#type) + + +Prompt Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**field_key** | Option<**String**> | | | +**label** | Option<**String**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**placeholder** | Option<**String**> | | | +**search** | Option<**String**> | A search term. | | +**r#type** | Option<**String**> | | | + +### Return type + +[**models::PaginatedPromptList**](PaginatedPromptList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_prompt_prompts_partial_update + +> models::Prompt stages_prompt_prompts_partial_update(prompt_uuid, patched_prompt_request) + + +Prompt Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**prompt_uuid** | **uuid::Uuid** | A UUID string identifying this Prompt. | [required] | +**patched_prompt_request** | Option<[**PatchedPromptRequest**](PatchedPromptRequest.md)> | | | + +### Return type + +[**models::Prompt**](Prompt.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_prompt_prompts_preview_create + +> models::PromptChallenge stages_prompt_prompts_preview_create(prompt_request) + + +Preview a prompt as a challenge, just like a flow would receive + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**prompt_request** | [**PromptRequest**](PromptRequest.md) | | [required] | + +### Return type + +[**models::PromptChallenge**](PromptChallenge.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_prompt_prompts_retrieve + +> models::Prompt stages_prompt_prompts_retrieve(prompt_uuid) + + +Prompt Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**prompt_uuid** | **uuid::Uuid** | A UUID string identifying this Prompt. | [required] | + +### Return type + +[**models::Prompt**](Prompt.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_prompt_prompts_update + +> models::Prompt stages_prompt_prompts_update(prompt_uuid, prompt_request) + + +Prompt Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**prompt_uuid** | **uuid::Uuid** | A UUID string identifying this Prompt. | [required] | +**prompt_request** | [**PromptRequest**](PromptRequest.md) | | [required] | + +### Return type + +[**models::Prompt**](Prompt.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_prompt_prompts_used_by_list + +> Vec stages_prompt_prompts_used_by_list(prompt_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**prompt_uuid** | **uuid::Uuid** | A UUID string identifying this Prompt. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_prompt_stages_create + +> models::PromptStage stages_prompt_stages_create(prompt_stage_request) + + +PromptStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**prompt_stage_request** | [**PromptStageRequest**](PromptStageRequest.md) | | [required] | + +### Return type + +[**models::PromptStage**](PromptStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_prompt_stages_destroy + +> stages_prompt_stages_destroy(stage_uuid) + + +PromptStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Prompt Stage. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_prompt_stages_list + +> models::PaginatedPromptStageList stages_prompt_stages_list(fields, name, ordering, page, page_size, search, stage_uuid, validation_policies) + + +PromptStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**fields** | Option<[**Vec**](uuid::Uuid.md)> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**stage_uuid** | Option<**uuid::Uuid**> | | | +**validation_policies** | Option<[**Vec**](uuid::Uuid.md)> | | | + +### Return type + +[**models::PaginatedPromptStageList**](PaginatedPromptStageList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_prompt_stages_partial_update + +> models::PromptStage stages_prompt_stages_partial_update(stage_uuid, patched_prompt_stage_request) + + +PromptStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Prompt Stage. | [required] | +**patched_prompt_stage_request** | Option<[**PatchedPromptStageRequest**](PatchedPromptStageRequest.md)> | | | + +### Return type + +[**models::PromptStage**](PromptStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_prompt_stages_retrieve + +> models::PromptStage stages_prompt_stages_retrieve(stage_uuid) + + +PromptStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Prompt Stage. | [required] | + +### Return type + +[**models::PromptStage**](PromptStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_prompt_stages_update + +> models::PromptStage stages_prompt_stages_update(stage_uuid, prompt_stage_request) + + +PromptStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Prompt Stage. | [required] | +**prompt_stage_request** | [**PromptStageRequest**](PromptStageRequest.md) | | [required] | + +### Return type + +[**models::PromptStage**](PromptStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_prompt_stages_used_by_list + +> Vec stages_prompt_stages_used_by_list(stage_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Prompt Stage. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_source_create + +> models::SourceStage stages_source_create(source_stage_request) + + +SourceStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**source_stage_request** | [**SourceStageRequest**](SourceStageRequest.md) | | [required] | + +### Return type + +[**models::SourceStage**](SourceStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_source_destroy + +> stages_source_destroy(stage_uuid) + + +SourceStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Source Stage. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_source_list + +> models::PaginatedSourceStageList stages_source_list(name, ordering, page, page_size, resume_timeout, search, source, stage_uuid) + + +SourceStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**resume_timeout** | Option<**String**> | | | +**search** | Option<**String**> | A search term. | | +**source** | Option<**uuid::Uuid**> | | | +**stage_uuid** | Option<**uuid::Uuid**> | | | + +### Return type + +[**models::PaginatedSourceStageList**](PaginatedSourceStageList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_source_partial_update + +> models::SourceStage stages_source_partial_update(stage_uuid, patched_source_stage_request) + + +SourceStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Source Stage. | [required] | +**patched_source_stage_request** | Option<[**PatchedSourceStageRequest**](PatchedSourceStageRequest.md)> | | | + +### Return type + +[**models::SourceStage**](SourceStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_source_retrieve + +> models::SourceStage stages_source_retrieve(stage_uuid) + + +SourceStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Source Stage. | [required] | + +### Return type + +[**models::SourceStage**](SourceStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_source_update + +> models::SourceStage stages_source_update(stage_uuid, source_stage_request) + + +SourceStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Source Stage. | [required] | +**source_stage_request** | [**SourceStageRequest**](SourceStageRequest.md) | | [required] | + +### Return type + +[**models::SourceStage**](SourceStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_source_used_by_list + +> Vec stages_source_used_by_list(stage_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this Source Stage. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_delete_create + +> models::UserDeleteStage stages_user_delete_create(user_delete_stage_request) + + +UserDeleteStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**user_delete_stage_request** | [**UserDeleteStageRequest**](UserDeleteStageRequest.md) | | [required] | + +### Return type + +[**models::UserDeleteStage**](UserDeleteStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_delete_destroy + +> stages_user_delete_destroy(stage_uuid) + + +UserDeleteStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this User Delete Stage. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_delete_list + +> models::PaginatedUserDeleteStageList stages_user_delete_list(name, ordering, page, page_size, search, stage_uuid) + + +UserDeleteStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**stage_uuid** | Option<**uuid::Uuid**> | | | + +### Return type + +[**models::PaginatedUserDeleteStageList**](PaginatedUserDeleteStageList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_delete_partial_update + +> models::UserDeleteStage stages_user_delete_partial_update(stage_uuid, patched_user_delete_stage_request) + + +UserDeleteStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this User Delete Stage. | [required] | +**patched_user_delete_stage_request** | Option<[**PatchedUserDeleteStageRequest**](PatchedUserDeleteStageRequest.md)> | | | + +### Return type + +[**models::UserDeleteStage**](UserDeleteStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_delete_retrieve + +> models::UserDeleteStage stages_user_delete_retrieve(stage_uuid) + + +UserDeleteStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this User Delete Stage. | [required] | + +### Return type + +[**models::UserDeleteStage**](UserDeleteStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_delete_update + +> models::UserDeleteStage stages_user_delete_update(stage_uuid, user_delete_stage_request) + + +UserDeleteStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this User Delete Stage. | [required] | +**user_delete_stage_request** | [**UserDeleteStageRequest**](UserDeleteStageRequest.md) | | [required] | + +### Return type + +[**models::UserDeleteStage**](UserDeleteStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_delete_used_by_list + +> Vec stages_user_delete_used_by_list(stage_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this User Delete Stage. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_login_create + +> models::UserLoginStage stages_user_login_create(user_login_stage_request) + + +UserLoginStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**user_login_stage_request** | [**UserLoginStageRequest**](UserLoginStageRequest.md) | | [required] | + +### Return type + +[**models::UserLoginStage**](UserLoginStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_login_destroy + +> stages_user_login_destroy(stage_uuid) + + +UserLoginStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this User Login Stage. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_login_list + +> models::PaginatedUserLoginStageList stages_user_login_list(geoip_binding, name, network_binding, ordering, page, page_size, remember_me_offset, search, session_duration, stage_uuid, terminate_other_sessions) + + +UserLoginStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**geoip_binding** | Option<**String**> | Bind sessions created by this stage to the configured GeoIP location | | +**name** | Option<**String**> | | | +**network_binding** | Option<**String**> | Bind sessions created by this stage to the configured network | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**remember_me_offset** | Option<**String**> | | | +**search** | Option<**String**> | A search term. | | +**session_duration** | Option<**String**> | | | +**stage_uuid** | Option<**uuid::Uuid**> | | | +**terminate_other_sessions** | Option<**bool**> | | | + +### Return type + +[**models::PaginatedUserLoginStageList**](PaginatedUserLoginStageList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_login_partial_update + +> models::UserLoginStage stages_user_login_partial_update(stage_uuid, patched_user_login_stage_request) + + +UserLoginStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this User Login Stage. | [required] | +**patched_user_login_stage_request** | Option<[**PatchedUserLoginStageRequest**](PatchedUserLoginStageRequest.md)> | | | + +### Return type + +[**models::UserLoginStage**](UserLoginStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_login_retrieve + +> models::UserLoginStage stages_user_login_retrieve(stage_uuid) + + +UserLoginStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this User Login Stage. | [required] | + +### Return type + +[**models::UserLoginStage**](UserLoginStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_login_update + +> models::UserLoginStage stages_user_login_update(stage_uuid, user_login_stage_request) + + +UserLoginStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this User Login Stage. | [required] | +**user_login_stage_request** | [**UserLoginStageRequest**](UserLoginStageRequest.md) | | [required] | + +### Return type + +[**models::UserLoginStage**](UserLoginStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_login_used_by_list + +> Vec stages_user_login_used_by_list(stage_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this User Login Stage. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_logout_create + +> models::UserLogoutStage stages_user_logout_create(user_logout_stage_request) + + +UserLogoutStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**user_logout_stage_request** | [**UserLogoutStageRequest**](UserLogoutStageRequest.md) | | [required] | + +### Return type + +[**models::UserLogoutStage**](UserLogoutStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_logout_destroy + +> stages_user_logout_destroy(stage_uuid) + + +UserLogoutStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this User Logout Stage. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_logout_list + +> models::PaginatedUserLogoutStageList stages_user_logout_list(name, ordering, page, page_size, search, stage_uuid) + + +UserLogoutStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**stage_uuid** | Option<**uuid::Uuid**> | | | + +### Return type + +[**models::PaginatedUserLogoutStageList**](PaginatedUserLogoutStageList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_logout_partial_update + +> models::UserLogoutStage stages_user_logout_partial_update(stage_uuid, patched_user_logout_stage_request) + + +UserLogoutStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this User Logout Stage. | [required] | +**patched_user_logout_stage_request** | Option<[**PatchedUserLogoutStageRequest**](PatchedUserLogoutStageRequest.md)> | | | + +### Return type + +[**models::UserLogoutStage**](UserLogoutStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_logout_retrieve + +> models::UserLogoutStage stages_user_logout_retrieve(stage_uuid) + + +UserLogoutStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this User Logout Stage. | [required] | + +### Return type + +[**models::UserLogoutStage**](UserLogoutStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_logout_update + +> models::UserLogoutStage stages_user_logout_update(stage_uuid, user_logout_stage_request) + + +UserLogoutStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this User Logout Stage. | [required] | +**user_logout_stage_request** | [**UserLogoutStageRequest**](UserLogoutStageRequest.md) | | [required] | + +### Return type + +[**models::UserLogoutStage**](UserLogoutStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_logout_used_by_list + +> Vec stages_user_logout_used_by_list(stage_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this User Logout Stage. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_write_create + +> models::UserWriteStage stages_user_write_create(user_write_stage_request) + + +UserWriteStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**user_write_stage_request** | [**UserWriteStageRequest**](UserWriteStageRequest.md) | | [required] | + +### Return type + +[**models::UserWriteStage**](UserWriteStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_write_destroy + +> stages_user_write_destroy(stage_uuid) + + +UserWriteStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this User Write Stage. | [required] | + +### Return type + + (empty response body) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_write_list + +> models::PaginatedUserWriteStageList stages_user_write_list(create_users_as_inactive, create_users_group, name, ordering, page, page_size, search, stage_uuid, user_creation_mode, user_path_template, user_type) + + +UserWriteStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**create_users_as_inactive** | Option<**bool**> | | | +**create_users_group** | Option<**uuid::Uuid**> | | | +**name** | Option<**String**> | | | +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | +**stage_uuid** | Option<**uuid::Uuid**> | | | +**user_creation_mode** | Option<**String**> | | | +**user_path_template** | Option<**String**> | | | +**user_type** | Option<**String**> | | | + +### Return type + +[**models::PaginatedUserWriteStageList**](PaginatedUserWriteStageList.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_write_partial_update + +> models::UserWriteStage stages_user_write_partial_update(stage_uuid, patched_user_write_stage_request) + + +UserWriteStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this User Write Stage. | [required] | +**patched_user_write_stage_request** | Option<[**PatchedUserWriteStageRequest**](PatchedUserWriteStageRequest.md)> | | | + +### Return type + +[**models::UserWriteStage**](UserWriteStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_write_retrieve + +> models::UserWriteStage stages_user_write_retrieve(stage_uuid) + + +UserWriteStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this User Write Stage. | [required] | + +### Return type + +[**models::UserWriteStage**](UserWriteStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_write_update + +> models::UserWriteStage stages_user_write_update(stage_uuid, user_write_stage_request) + + +UserWriteStage Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this User Write Stage. | [required] | +**user_write_stage_request** | [**UserWriteStageRequest**](UserWriteStageRequest.md) | | [required] | + +### Return type + +[**models::UserWriteStage**](UserWriteStage.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## stages_user_write_used_by_list + +> Vec stages_user_write_used_by_list(stage_uuid) + + +Get a list of all objects that use this object + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**stage_uuid** | **uuid::Uuid** | A UUID string identifying this User Write Stage. | [required] | + +### Return type + +[**Vec**](UsedBy.md) + +### Authorization + +[authentik](../README.md#authentik) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/StaticDevice.md b/docs/StaticDevice.md new file mode 100644 index 0000000..427d2de --- /dev/null +++ b/docs/StaticDevice.md @@ -0,0 +1,13 @@ +# StaticDevice + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | The human-readable name of this device. | +**token_set** | [**Vec**](StaticDeviceToken.md) | | [readonly] +**pk** | **i32** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/StaticDeviceRequest.md b/docs/StaticDeviceRequest.md new file mode 100644 index 0000000..2078248 --- /dev/null +++ b/docs/StaticDeviceRequest.md @@ -0,0 +1,11 @@ +# StaticDeviceRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | The human-readable name of this device. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/StaticDeviceToken.md b/docs/StaticDeviceToken.md new file mode 100644 index 0000000..4eb0ecd --- /dev/null +++ b/docs/StaticDeviceToken.md @@ -0,0 +1,11 @@ +# StaticDeviceToken + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**token** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/StaticDeviceTokenRequest.md b/docs/StaticDeviceTokenRequest.md new file mode 100644 index 0000000..7d77017 --- /dev/null +++ b/docs/StaticDeviceTokenRequest.md @@ -0,0 +1,11 @@ +# StaticDeviceTokenRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**token** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SubModeEnum.md b/docs/SubModeEnum.md new file mode 100644 index 0000000..ed22367 --- /dev/null +++ b/docs/SubModeEnum.md @@ -0,0 +1,17 @@ +# SubModeEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| HashedUserId | hashed_user_id | +| UserId | user_id | +| UserUuid | user_uuid | +| UserUsername | user_username | +| UserEmail | user_email | +| UserUpn | user_upn | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SyncObjectModelEnum.md b/docs/SyncObjectModelEnum.md new file mode 100644 index 0000000..3db2015 --- /dev/null +++ b/docs/SyncObjectModelEnum.md @@ -0,0 +1,13 @@ +# SyncObjectModelEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| User | authentik.core.models.User | +| Group | authentik.core.models.Group | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SyncObjectRequest.md b/docs/SyncObjectRequest.md new file mode 100644 index 0000000..ef3fd9d --- /dev/null +++ b/docs/SyncObjectRequest.md @@ -0,0 +1,12 @@ +# SyncObjectRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**sync_object_model** | [**models::SyncObjectModelEnum**](SyncObjectModelEnum.md) | | +**sync_object_id** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SyncObjectResult.md b/docs/SyncObjectResult.md new file mode 100644 index 0000000..69114da --- /dev/null +++ b/docs/SyncObjectResult.md @@ -0,0 +1,11 @@ +# SyncObjectResult + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**messages** | [**Vec**](LogEvent.md) | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SyncStatus.md b/docs/SyncStatus.md new file mode 100644 index 0000000..97c13f2 --- /dev/null +++ b/docs/SyncStatus.md @@ -0,0 +1,12 @@ +# SyncStatus + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**is_running** | **bool** | | [readonly] +**tasks** | [**Vec**](SystemTask.md) | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SystemInfo.md b/docs/SystemInfo.md new file mode 100644 index 0000000..9fedf08 --- /dev/null +++ b/docs/SystemInfo.md @@ -0,0 +1,18 @@ +# SystemInfo + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**http_headers** | **std::collections::HashMap** | Get HTTP Request headers | [readonly] +**http_host** | **String** | Get HTTP host | [readonly] +**http_is_secure** | **bool** | Get HTTP Secure flag | [readonly] +**runtime** | [**models::SystemInfoRuntime**](SystemInfo_runtime.md) | | +**brand** | **String** | Currently active brand | [readonly] +**server_time** | **String** | Current server time | [readonly] +**embedded_outpost_disabled** | **bool** | Whether the embedded outpost is disabled | [readonly] +**embedded_outpost_host** | **String** | Get the FQDN configured on the embedded outpost | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SystemInfoRuntime.md b/docs/SystemInfoRuntime.md new file mode 100644 index 0000000..b2bd20e --- /dev/null +++ b/docs/SystemInfoRuntime.md @@ -0,0 +1,18 @@ +# SystemInfoRuntime + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**python_version** | **String** | | +**environment** | **String** | | +**architecture** | **String** | | +**platform** | **String** | | +**uname** | **String** | | +**openssl_version** | **String** | | +**openssl_fips_enabled** | Option<**bool**> | | +**authentik_version** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SystemTask.md b/docs/SystemTask.md new file mode 100644 index 0000000..aef4619 --- /dev/null +++ b/docs/SystemTask.md @@ -0,0 +1,22 @@ +# SystemTask + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**full_name** | **String** | Get full name with UID | [readonly] +**uid** | Option<**String**> | | [optional] +**description** | **String** | | +**start_timestamp** | **String** | | [readonly] +**finish_timestamp** | **String** | | [readonly] +**duration** | **f64** | | [readonly] +**status** | [**models::SystemTaskStatusEnum**](SystemTaskStatusEnum.md) | | +**messages** | [**Vec**](LogEvent.md) | | +**expires** | Option<**String**> | | [optional] +**expiring** | Option<**bool**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SystemTaskStatusEnum.md b/docs/SystemTaskStatusEnum.md new file mode 100644 index 0000000..e81507e --- /dev/null +++ b/docs/SystemTaskStatusEnum.md @@ -0,0 +1,15 @@ +# SystemTaskStatusEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Unknown | unknown | +| Successful | successful | +| Warning | warning | +| Error | error | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Tenant.md b/docs/Tenant.md new file mode 100644 index 0000000..bbc8823 --- /dev/null +++ b/docs/Tenant.md @@ -0,0 +1,14 @@ +# Tenant + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tenant_uuid** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**schema_name** | **String** | | +**name** | **String** | | +**ready** | Option<**bool**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TenantAdminGroupRequestRequest.md b/docs/TenantAdminGroupRequestRequest.md new file mode 100644 index 0000000..065a7b3 --- /dev/null +++ b/docs/TenantAdminGroupRequestRequest.md @@ -0,0 +1,11 @@ +# TenantAdminGroupRequestRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TenantRecoveryKeyRequestRequest.md b/docs/TenantRecoveryKeyRequestRequest.md new file mode 100644 index 0000000..6be8a8f --- /dev/null +++ b/docs/TenantRecoveryKeyRequestRequest.md @@ -0,0 +1,12 @@ +# TenantRecoveryKeyRequestRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user** | **String** | | +**duration_days** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TenantRecoveryKeyResponse.md b/docs/TenantRecoveryKeyResponse.md new file mode 100644 index 0000000..e6e175f --- /dev/null +++ b/docs/TenantRecoveryKeyResponse.md @@ -0,0 +1,12 @@ +# TenantRecoveryKeyResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**expiry** | **String** | | +**url** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TenantRequest.md b/docs/TenantRequest.md new file mode 100644 index 0000000..73114a5 --- /dev/null +++ b/docs/TenantRequest.md @@ -0,0 +1,13 @@ +# TenantRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**schema_name** | **String** | | +**name** | **String** | | +**ready** | Option<**bool**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TenantsApi.md b/docs/TenantsApi.md new file mode 100644 index 0000000..a3e8a72 --- /dev/null +++ b/docs/TenantsApi.md @@ -0,0 +1,454 @@ +# \TenantsApi + +All URIs are relative to *http://localhost/api/v3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**tenants_domains_create**](TenantsApi.md#tenants_domains_create) | **POST** /tenants/domains/ | +[**tenants_domains_destroy**](TenantsApi.md#tenants_domains_destroy) | **DELETE** /tenants/domains/{id}/ | +[**tenants_domains_list**](TenantsApi.md#tenants_domains_list) | **GET** /tenants/domains/ | +[**tenants_domains_partial_update**](TenantsApi.md#tenants_domains_partial_update) | **PATCH** /tenants/domains/{id}/ | +[**tenants_domains_retrieve**](TenantsApi.md#tenants_domains_retrieve) | **GET** /tenants/domains/{id}/ | +[**tenants_domains_update**](TenantsApi.md#tenants_domains_update) | **PUT** /tenants/domains/{id}/ | +[**tenants_tenants_create**](TenantsApi.md#tenants_tenants_create) | **POST** /tenants/tenants/ | +[**tenants_tenants_create_admin_group_create**](TenantsApi.md#tenants_tenants_create_admin_group_create) | **POST** /tenants/tenants/{tenant_uuid}/create_admin_group/ | +[**tenants_tenants_create_recovery_key_create**](TenantsApi.md#tenants_tenants_create_recovery_key_create) | **POST** /tenants/tenants/{tenant_uuid}/create_recovery_key/ | +[**tenants_tenants_destroy**](TenantsApi.md#tenants_tenants_destroy) | **DELETE** /tenants/tenants/{tenant_uuid}/ | +[**tenants_tenants_list**](TenantsApi.md#tenants_tenants_list) | **GET** /tenants/tenants/ | +[**tenants_tenants_partial_update**](TenantsApi.md#tenants_tenants_partial_update) | **PATCH** /tenants/tenants/{tenant_uuid}/ | +[**tenants_tenants_retrieve**](TenantsApi.md#tenants_tenants_retrieve) | **GET** /tenants/tenants/{tenant_uuid}/ | +[**tenants_tenants_update**](TenantsApi.md#tenants_tenants_update) | **PUT** /tenants/tenants/{tenant_uuid}/ | + + + +## tenants_domains_create + +> models::Domain tenants_domains_create(domain_request) + + +Domain ViewSet + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**domain_request** | [**DomainRequest**](DomainRequest.md) | | [required] | + +### Return type + +[**models::Domain**](Domain.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## tenants_domains_destroy + +> tenants_domains_destroy(id) + + +Domain ViewSet + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Domain. | [required] | + +### Return type + + (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## tenants_domains_list + +> models::PaginatedDomainList tenants_domains_list(ordering, page, page_size, search) + + +Domain ViewSet + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedDomainList**](PaginatedDomainList.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## tenants_domains_partial_update + +> models::Domain tenants_domains_partial_update(id, patched_domain_request) + + +Domain ViewSet + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Domain. | [required] | +**patched_domain_request** | Option<[**PatchedDomainRequest**](PatchedDomainRequest.md)> | | | + +### Return type + +[**models::Domain**](Domain.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## tenants_domains_retrieve + +> models::Domain tenants_domains_retrieve(id) + + +Domain ViewSet + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Domain. | [required] | + +### Return type + +[**models::Domain**](Domain.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## tenants_domains_update + +> models::Domain tenants_domains_update(id, domain_request) + + +Domain ViewSet + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **i32** | A unique integer value identifying this Domain. | [required] | +**domain_request** | [**DomainRequest**](DomainRequest.md) | | [required] | + +### Return type + +[**models::Domain**](Domain.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## tenants_tenants_create + +> models::Tenant tenants_tenants_create(tenant_request) + + +Tenant Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**tenant_request** | [**TenantRequest**](TenantRequest.md) | | [required] | + +### Return type + +[**models::Tenant**](Tenant.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## tenants_tenants_create_admin_group_create + +> tenants_tenants_create_admin_group_create(tenant_uuid, tenant_admin_group_request_request) + + +Create admin group and add user to it. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**tenant_uuid** | **uuid::Uuid** | A UUID string identifying this Tenant. | [required] | +**tenant_admin_group_request_request** | [**TenantAdminGroupRequestRequest**](TenantAdminGroupRequestRequest.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## tenants_tenants_create_recovery_key_create + +> models::TenantRecoveryKeyResponse tenants_tenants_create_recovery_key_create(tenant_uuid, tenant_recovery_key_request_request) + + +Create recovery key for user. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**tenant_uuid** | **uuid::Uuid** | A UUID string identifying this Tenant. | [required] | +**tenant_recovery_key_request_request** | [**TenantRecoveryKeyRequestRequest**](TenantRecoveryKeyRequestRequest.md) | | [required] | + +### Return type + +[**models::TenantRecoveryKeyResponse**](TenantRecoveryKeyResponse.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## tenants_tenants_destroy + +> tenants_tenants_destroy(tenant_uuid) + + +Tenant Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**tenant_uuid** | **uuid::Uuid** | A UUID string identifying this Tenant. | [required] | + +### Return type + + (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## tenants_tenants_list + +> models::PaginatedTenantList tenants_tenants_list(ordering, page, page_size, search) + + +Tenant Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**ordering** | Option<**String**> | Which field to use when ordering the results. | | +**page** | Option<**i32**> | A page number within the paginated result set. | | +**page_size** | Option<**i32**> | Number of results to return per page. | | +**search** | Option<**String**> | A search term. | | + +### Return type + +[**models::PaginatedTenantList**](PaginatedTenantList.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## tenants_tenants_partial_update + +> models::Tenant tenants_tenants_partial_update(tenant_uuid, patched_tenant_request) + + +Tenant Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**tenant_uuid** | **uuid::Uuid** | A UUID string identifying this Tenant. | [required] | +**patched_tenant_request** | Option<[**PatchedTenantRequest**](PatchedTenantRequest.md)> | | | + +### Return type + +[**models::Tenant**](Tenant.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## tenants_tenants_retrieve + +> models::Tenant tenants_tenants_retrieve(tenant_uuid) + + +Tenant Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**tenant_uuid** | **uuid::Uuid** | A UUID string identifying this Tenant. | [required] | + +### Return type + +[**models::Tenant**](Tenant.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## tenants_tenants_update + +> models::Tenant tenants_tenants_update(tenant_uuid, tenant_request) + + +Tenant Viewset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**tenant_uuid** | **uuid::Uuid** | A UUID string identifying this Tenant. | [required] | +**tenant_request** | [**TenantRequest**](TenantRequest.md) | | [required] | + +### Return type + +[**models::Tenant**](Tenant.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/Token.md b/docs/Token.md new file mode 100644 index 0000000..4bb3a15 --- /dev/null +++ b/docs/Token.md @@ -0,0 +1,19 @@ +# Token + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**identifier** | **String** | | +**intent** | Option<[**models::IntentEnum**](IntentEnum.md)> | | [optional] +**user** | Option<**i32**> | | [optional] +**user_obj** | [**models::User**](User.md) | | [readonly] +**description** | Option<**String**> | | [optional] +**expires** | Option<**String**> | | [optional] +**expiring** | Option<**bool**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TokenModel.md b/docs/TokenModel.md new file mode 100644 index 0000000..6d88e65 --- /dev/null +++ b/docs/TokenModel.md @@ -0,0 +1,18 @@ +# TokenModel + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**provider** | [**models::OAuth2Provider**](OAuth2Provider.md) | | +**user** | [**models::User**](User.md) | | +**is_expired** | **bool** | Check if token is expired yet. | [readonly] +**expires** | Option<**String**> | | [optional] +**scope** | **Vec** | | +**id_token** | **String** | Get the token's id_token as JSON String | [readonly] +**revoked** | Option<**bool**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TokenRequest.md b/docs/TokenRequest.md new file mode 100644 index 0000000..7b99f80 --- /dev/null +++ b/docs/TokenRequest.md @@ -0,0 +1,17 @@ +# TokenRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**managed** | Option<**String**> | Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. | [optional] +**identifier** | **String** | | +**intent** | Option<[**models::IntentEnum**](IntentEnum.md)> | | [optional] +**user** | Option<**i32**> | | [optional] +**description** | Option<**String**> | | [optional] +**expires** | Option<**String**> | | [optional] +**expiring** | Option<**bool**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TokenSetKeyRequest.md b/docs/TokenSetKeyRequest.md new file mode 100644 index 0000000..206f679 --- /dev/null +++ b/docs/TokenSetKeyRequest.md @@ -0,0 +1,11 @@ +# TokenSetKeyRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**key** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TokenView.md b/docs/TokenView.md new file mode 100644 index 0000000..78a680e --- /dev/null +++ b/docs/TokenView.md @@ -0,0 +1,11 @@ +# TokenView + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**key** | **String** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TotpDevice.md b/docs/TotpDevice.md new file mode 100644 index 0000000..4876434 --- /dev/null +++ b/docs/TotpDevice.md @@ -0,0 +1,12 @@ +# TotpDevice + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | The human-readable name of this device. | +**pk** | **i32** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TotpDeviceRequest.md b/docs/TotpDeviceRequest.md new file mode 100644 index 0000000..7c2f73b --- /dev/null +++ b/docs/TotpDeviceRequest.md @@ -0,0 +1,11 @@ +# TotpDeviceRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | The human-readable name of this device. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TransactionApplicationRequest.md b/docs/TransactionApplicationRequest.md new file mode 100644 index 0000000..2a7dc47 --- /dev/null +++ b/docs/TransactionApplicationRequest.md @@ -0,0 +1,13 @@ +# TransactionApplicationRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**app** | [**models::ApplicationRequest**](ApplicationRequest.md) | | +**provider_model** | [**models::ProviderModelEnum**](ProviderModelEnum.md) | | +**provider** | [**models::ModelRequest**](modelRequest.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TransactionApplicationResponse.md b/docs/TransactionApplicationResponse.md new file mode 100644 index 0000000..5694125 --- /dev/null +++ b/docs/TransactionApplicationResponse.md @@ -0,0 +1,12 @@ +# TransactionApplicationResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**applied** | **bool** | | +**logs** | **Vec** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TypeCreate.md b/docs/TypeCreate.md new file mode 100644 index 0000000..86da1e7 --- /dev/null +++ b/docs/TypeCreate.md @@ -0,0 +1,16 @@ +# TypeCreate + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**description** | **String** | | +**component** | **String** | | +**model_name** | **String** | | +**icon_url** | Option<**String**> | | [optional] +**requires_enterprise** | Option<**bool**> | | [optional][default to false] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UiThemeEnum.md b/docs/UiThemeEnum.md new file mode 100644 index 0000000..8be268d --- /dev/null +++ b/docs/UiThemeEnum.md @@ -0,0 +1,14 @@ +# UiThemeEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Automatic | automatic | +| Light | light | +| Dark | dark | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UsedBy.md b/docs/UsedBy.md new file mode 100644 index 0000000..deccdba --- /dev/null +++ b/docs/UsedBy.md @@ -0,0 +1,15 @@ +# UsedBy + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**app** | **String** | | +**model_name** | **String** | | +**pk** | **String** | | +**name** | **String** | | +**action** | [**models::UsedByActionEnum**](UsedByActionEnum.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UsedByActionEnum.md b/docs/UsedByActionEnum.md new file mode 100644 index 0000000..1fb5e71 --- /dev/null +++ b/docs/UsedByActionEnum.md @@ -0,0 +1,15 @@ +# UsedByActionEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Cascade | cascade | +| CascadeMany | cascade_many | +| SetNull | set_null | +| SetDefault | set_default | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/User.md b/docs/User.md new file mode 100644 index 0000000..2f17c34 --- /dev/null +++ b/docs/User.md @@ -0,0 +1,25 @@ +# User + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**username** | **String** | | +**name** | **String** | User's display name. | +**is_active** | Option<**bool**> | Designates whether this user should be treated as active. Unselect this instead of deleting accounts. | [optional] +**last_login** | Option<**String**> | | [optional] +**is_superuser** | **bool** | | [readonly] +**groups** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**groups_obj** | Option<[**Vec**](UserGroup.md)> | | [readonly] +**email** | Option<**String**> | | [optional] +**avatar** | **String** | User's avatar, either a http/https URL or a data URI | [readonly] +**attributes** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | | [optional] +**uid** | **String** | | [readonly] +**path** | Option<**String**> | | [optional] +**r#type** | Option<[**models::UserTypeEnum**](UserTypeEnum.md)> | | [optional] +**uuid** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserAccountRequest.md b/docs/UserAccountRequest.md new file mode 100644 index 0000000..d4476eb --- /dev/null +++ b/docs/UserAccountRequest.md @@ -0,0 +1,11 @@ +# UserAccountRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserAssignedObjectPermission.md b/docs/UserAssignedObjectPermission.md new file mode 100644 index 0000000..72f2fe6 --- /dev/null +++ b/docs/UserAssignedObjectPermission.md @@ -0,0 +1,20 @@ +# UserAssignedObjectPermission + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**username** | **String** | Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. | +**name** | **String** | User's display name. | +**is_active** | Option<**bool**> | Designates whether this user should be treated as active. Unselect this instead of deleting accounts. | [optional] +**last_login** | Option<**String**> | | [optional] +**email** | Option<**String**> | | [optional] +**attributes** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | | [optional] +**uid** | **String** | | [readonly] +**permissions** | [**Vec**](UserObjectPermission.md) | | +**is_superuser** | **bool** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserConsent.md b/docs/UserConsent.md new file mode 100644 index 0000000..36cce77 --- /dev/null +++ b/docs/UserConsent.md @@ -0,0 +1,16 @@ +# UserConsent + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**expires** | Option<**String**> | | [optional] +**expiring** | Option<**bool**> | | [optional] +**user** | [**models::User**](User.md) | | +**application** | [**models::Application**](Application.md) | | +**permissions** | Option<**String**> | | [optional][default to ] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserCreationModeEnum.md b/docs/UserCreationModeEnum.md new file mode 100644 index 0000000..3166b6e --- /dev/null +++ b/docs/UserCreationModeEnum.md @@ -0,0 +1,14 @@ +# UserCreationModeEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| NeverCreate | never_create | +| CreateWhenRequired | create_when_required | +| AlwaysCreate | always_create | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserDeleteStage.md b/docs/UserDeleteStage.md new file mode 100644 index 0000000..6d9c727 --- /dev/null +++ b/docs/UserDeleteStage.md @@ -0,0 +1,17 @@ +# UserDeleteStage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**component** | **String** | Get object type so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**flow_set** | Option<[**Vec**](FlowSet.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserDeleteStageRequest.md b/docs/UserDeleteStageRequest.md new file mode 100644 index 0000000..16d45a4 --- /dev/null +++ b/docs/UserDeleteStageRequest.md @@ -0,0 +1,12 @@ +# UserDeleteStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserFieldsEnum.md b/docs/UserFieldsEnum.md new file mode 100644 index 0000000..4fa1fd8 --- /dev/null +++ b/docs/UserFieldsEnum.md @@ -0,0 +1,14 @@ +# UserFieldsEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Email | email | +| Username | username | +| Upn | upn | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserGroup.md b/docs/UserGroup.md new file mode 100644 index 0000000..999eedc --- /dev/null +++ b/docs/UserGroup.md @@ -0,0 +1,17 @@ +# UserGroup + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**num_pk** | **i32** | Get a numerical, int32 ID for the group | [readonly] +**name** | **String** | | +**is_superuser** | Option<**bool**> | Users added to this group will be superusers. | [optional] +**parent** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**parent_name** | Option<**String**> | | [readonly] +**attributes** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserGroupRequest.md b/docs/UserGroupRequest.md new file mode 100644 index 0000000..55be82a --- /dev/null +++ b/docs/UserGroupRequest.md @@ -0,0 +1,14 @@ +# UserGroupRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**is_superuser** | Option<**bool**> | Users added to this group will be superusers. | [optional] +**parent** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**attributes** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserLoginChallenge.md b/docs/UserLoginChallenge.md new file mode 100644 index 0000000..be560ce --- /dev/null +++ b/docs/UserLoginChallenge.md @@ -0,0 +1,15 @@ +# UserLoginChallenge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**flow_info** | Option<[**models::ContextualFlowInfo**](ContextualFlowInfo.md)> | | [optional] +**component** | Option<**String**> | | [optional][default to ak-stage-user-login] +**response_errors** | Option<[**std::collections::HashMap>**](Vec.md)> | | [optional] +**pending_user** | **String** | | +**pending_user_avatar** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserLoginChallengeResponseRequest.md b/docs/UserLoginChallengeResponseRequest.md new file mode 100644 index 0000000..7db8261 --- /dev/null +++ b/docs/UserLoginChallengeResponseRequest.md @@ -0,0 +1,12 @@ +# UserLoginChallengeResponseRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | Option<**String**> | | [optional][default to ak-stage-user-login] +**remember_me** | **bool** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserLoginStage.md b/docs/UserLoginStage.md new file mode 100644 index 0000000..fe53f59 --- /dev/null +++ b/docs/UserLoginStage.md @@ -0,0 +1,22 @@ +# UserLoginStage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**component** | **String** | Get object type so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**flow_set** | Option<[**Vec**](FlowSet.md)> | | [optional] +**session_duration** | Option<**String**> | Determines how long a session lasts. Default of 0 means that the sessions lasts until the browser is closed. (Format: hours=-1;minutes=-2;seconds=-3) | [optional] +**terminate_other_sessions** | Option<**bool**> | Terminate all other sessions of the user logging in. | [optional] +**remember_me_offset** | Option<**String**> | Offset the session will be extended by when the user picks the remember me option. Default of 0 means that the remember me option will not be shown. (Format: hours=-1;minutes=-2;seconds=-3) | [optional] +**network_binding** | Option<[**models::NetworkBindingEnum**](NetworkBindingEnum.md)> | Bind sessions created by this stage to the configured network | [optional] +**geoip_binding** | Option<[**models::GeoipBindingEnum**](GeoipBindingEnum.md)> | Bind sessions created by this stage to the configured GeoIP location | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserLoginStageRequest.md b/docs/UserLoginStageRequest.md new file mode 100644 index 0000000..2b7a6f5 --- /dev/null +++ b/docs/UserLoginStageRequest.md @@ -0,0 +1,17 @@ +# UserLoginStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**session_duration** | Option<**String**> | Determines how long a session lasts. Default of 0 means that the sessions lasts until the browser is closed. (Format: hours=-1;minutes=-2;seconds=-3) | [optional] +**terminate_other_sessions** | Option<**bool**> | Terminate all other sessions of the user logging in. | [optional] +**remember_me_offset** | Option<**String**> | Offset the session will be extended by when the user picks the remember me option. Default of 0 means that the remember me option will not be shown. (Format: hours=-1;minutes=-2;seconds=-3) | [optional] +**network_binding** | Option<[**models::NetworkBindingEnum**](NetworkBindingEnum.md)> | Bind sessions created by this stage to the configured network | [optional] +**geoip_binding** | Option<[**models::GeoipBindingEnum**](GeoipBindingEnum.md)> | Bind sessions created by this stage to the configured GeoIP location | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserLogoutStage.md b/docs/UserLogoutStage.md new file mode 100644 index 0000000..835dcc0 --- /dev/null +++ b/docs/UserLogoutStage.md @@ -0,0 +1,17 @@ +# UserLogoutStage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**component** | **String** | Get object type so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**flow_set** | Option<[**Vec**](FlowSet.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserLogoutStageRequest.md b/docs/UserLogoutStageRequest.md new file mode 100644 index 0000000..9a47497 --- /dev/null +++ b/docs/UserLogoutStageRequest.md @@ -0,0 +1,12 @@ +# UserLogoutStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserMatchingModeEnum.md b/docs/UserMatchingModeEnum.md new file mode 100644 index 0000000..b2ea89b --- /dev/null +++ b/docs/UserMatchingModeEnum.md @@ -0,0 +1,16 @@ +# UserMatchingModeEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Identifier | identifier | +| EmailLink | email_link | +| EmailDeny | email_deny | +| UsernameLink | username_link | +| UsernameDeny | username_deny | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserMetrics.md b/docs/UserMetrics.md new file mode 100644 index 0000000..ad565ab --- /dev/null +++ b/docs/UserMetrics.md @@ -0,0 +1,13 @@ +# UserMetrics + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**logins** | [**Vec**](Coordinate.md) | | [readonly] +**logins_failed** | [**Vec**](Coordinate.md) | | [readonly] +**authorizations** | [**Vec**](Coordinate.md) | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserOAuthSourceConnection.md b/docs/UserOAuthSourceConnection.md new file mode 100644 index 0000000..3fd3b7c --- /dev/null +++ b/docs/UserOAuthSourceConnection.md @@ -0,0 +1,15 @@ +# UserOAuthSourceConnection + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**user** | **i32** | | [readonly] +**source** | [**models::Source**](Source.md) | | [readonly] +**created** | **String** | | [readonly] +**identifier** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserOAuthSourceConnectionRequest.md b/docs/UserOAuthSourceConnectionRequest.md new file mode 100644 index 0000000..0fcb16d --- /dev/null +++ b/docs/UserOAuthSourceConnectionRequest.md @@ -0,0 +1,12 @@ +# UserOAuthSourceConnectionRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**identifier** | **String** | | +**access_token** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserObjectPermission.md b/docs/UserObjectPermission.md new file mode 100644 index 0000000..b34dd9f --- /dev/null +++ b/docs/UserObjectPermission.md @@ -0,0 +1,16 @@ +# UserObjectPermission + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **i32** | | [readonly] +**codename** | **String** | | [readonly] +**model** | **String** | | [readonly] +**app_label** | **String** | | [readonly] +**object_pk** | **String** | | +**name** | **String** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserPasswordSetRequest.md b/docs/UserPasswordSetRequest.md new file mode 100644 index 0000000..4786bbd --- /dev/null +++ b/docs/UserPasswordSetRequest.md @@ -0,0 +1,11 @@ +# UserPasswordSetRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**password** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserPath.md b/docs/UserPath.md new file mode 100644 index 0000000..fbdc34d --- /dev/null +++ b/docs/UserPath.md @@ -0,0 +1,11 @@ +# UserPath + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**paths** | **Vec** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserPlexSourceConnection.md b/docs/UserPlexSourceConnection.md new file mode 100644 index 0000000..4fb3842 --- /dev/null +++ b/docs/UserPlexSourceConnection.md @@ -0,0 +1,15 @@ +# UserPlexSourceConnection + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**user** | **i32** | | [readonly] +**source** | [**models::Source**](Source.md) | | [readonly] +**created** | **String** | | [readonly] +**identifier** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserPlexSourceConnectionRequest.md b/docs/UserPlexSourceConnectionRequest.md new file mode 100644 index 0000000..ea35a1e --- /dev/null +++ b/docs/UserPlexSourceConnectionRequest.md @@ -0,0 +1,12 @@ +# UserPlexSourceConnectionRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**identifier** | **String** | | +**plex_token** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserRequest.md b/docs/UserRequest.md new file mode 100644 index 0000000..d438197 --- /dev/null +++ b/docs/UserRequest.md @@ -0,0 +1,19 @@ +# UserRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**username** | **String** | | +**name** | **String** | User's display name. | +**is_active** | Option<**bool**> | Designates whether this user should be treated as active. Unselect this instead of deleting accounts. | [optional] +**last_login** | Option<**String**> | | [optional] +**groups** | Option<[**Vec**](uuid::Uuid.md)> | | [optional] +**email** | Option<**String**> | | [optional] +**attributes** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | | [optional] +**path** | Option<**String**> | | [optional] +**r#type** | Option<[**models::UserTypeEnum**](UserTypeEnum.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserSamlSourceConnection.md b/docs/UserSamlSourceConnection.md new file mode 100644 index 0000000..f7c445c --- /dev/null +++ b/docs/UserSamlSourceConnection.md @@ -0,0 +1,15 @@ +# UserSamlSourceConnection + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**user** | **i32** | | [readonly] +**source** | [**models::Source**](Source.md) | | [readonly] +**created** | **String** | | [readonly] +**identifier** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserSamlSourceConnectionRequest.md b/docs/UserSamlSourceConnectionRequest.md new file mode 100644 index 0000000..cc771f2 --- /dev/null +++ b/docs/UserSamlSourceConnectionRequest.md @@ -0,0 +1,11 @@ +# UserSamlSourceConnectionRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**identifier** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserSelf.md b/docs/UserSelf.md new file mode 100644 index 0000000..c0bbab9 --- /dev/null +++ b/docs/UserSelf.md @@ -0,0 +1,22 @@ +# UserSelf + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**username** | **String** | Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. | +**name** | **String** | User's display name. | +**is_active** | **bool** | Designates whether this user should be treated as active. Unselect this instead of deleting accounts. | [readonly] +**is_superuser** | **bool** | | [readonly] +**groups** | [**Vec**](UserSelfGroups.md) | | [readonly] +**email** | Option<**String**> | | [optional] +**avatar** | **String** | User's avatar, either a http/https URL or a data URI | [readonly] +**uid** | **String** | | [readonly] +**settings** | [**std::collections::HashMap**](serde_json::Value.md) | Get user settings with brand and group settings applied | [readonly] +**r#type** | Option<[**models::UserTypeEnum**](UserTypeEnum.md)> | | [optional] +**system_permissions** | **Vec** | Get all system permissions assigned to the user | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserSelfGroups.md b/docs/UserSelfGroups.md new file mode 100644 index 0000000..65ead35 --- /dev/null +++ b/docs/UserSelfGroups.md @@ -0,0 +1,12 @@ +# UserSelfGroups + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | [readonly] +**pk** | **String** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserServiceAccountRequest.md b/docs/UserServiceAccountRequest.md new file mode 100644 index 0000000..26f29c6 --- /dev/null +++ b/docs/UserServiceAccountRequest.md @@ -0,0 +1,14 @@ +# UserServiceAccountRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**create_group** | Option<**bool**> | | [optional][default to false] +**expiring** | Option<**bool**> | | [optional][default to true] +**expires** | Option<**String**> | If not provided, valid for 360 days | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserServiceAccountResponse.md b/docs/UserServiceAccountResponse.md new file mode 100644 index 0000000..10bd9bb --- /dev/null +++ b/docs/UserServiceAccountResponse.md @@ -0,0 +1,15 @@ +# UserServiceAccountResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**username** | **String** | | +**token** | **String** | | +**user_uid** | **String** | | +**user_pk** | **i32** | | +**group_pk** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserSetting.md b/docs/UserSetting.md new file mode 100644 index 0000000..59826b9 --- /dev/null +++ b/docs/UserSetting.md @@ -0,0 +1,15 @@ +# UserSetting + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**object_uid** | **String** | | +**component** | **String** | | +**title** | **String** | | +**configure_url** | Option<**String**> | | [optional] +**icon_url** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserSourceConnection.md b/docs/UserSourceConnection.md new file mode 100644 index 0000000..605aad5 --- /dev/null +++ b/docs/UserSourceConnection.md @@ -0,0 +1,14 @@ +# UserSourceConnection + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**user** | **i32** | | [readonly] +**source** | [**models::Source**](Source.md) | | [readonly] +**created** | **String** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserTypeEnum.md b/docs/UserTypeEnum.md new file mode 100644 index 0000000..454f064 --- /dev/null +++ b/docs/UserTypeEnum.md @@ -0,0 +1,15 @@ +# UserTypeEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Internal | internal | +| External | external | +| ServiceAccount | service_account | +| InternalServiceAccount | internal_service_account | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserVerificationEnum.md b/docs/UserVerificationEnum.md new file mode 100644 index 0000000..4c7c884 --- /dev/null +++ b/docs/UserVerificationEnum.md @@ -0,0 +1,14 @@ +# UserVerificationEnum + +## Enum Variants + +| Name | Value | +|---- | -----| +| Required | required | +| Preferred | preferred | +| Discouraged | discouraged | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserWriteStage.md b/docs/UserWriteStage.md new file mode 100644 index 0000000..f4d6bc5 --- /dev/null +++ b/docs/UserWriteStage.md @@ -0,0 +1,22 @@ +# UserWriteStage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | [**uuid::Uuid**](uuid::Uuid.md) | | [readonly] +**name** | **String** | | +**component** | **String** | Get object type so that we know how to edit the object | [readonly] +**verbose_name** | **String** | Return object's verbose_name | [readonly] +**verbose_name_plural** | **String** | Return object's plural verbose_name | [readonly] +**meta_model_name** | **String** | Return internal model name | [readonly] +**flow_set** | Option<[**Vec**](FlowSet.md)> | | [optional] +**user_creation_mode** | Option<[**models::UserCreationModeEnum**](UserCreationModeEnum.md)> | | [optional] +**create_users_as_inactive** | Option<**bool**> | When set, newly created users are inactive and cannot login. | [optional] +**create_users_group** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Optionally add newly created users to this group. | [optional] +**user_type** | Option<[**models::UserTypeEnum**](UserTypeEnum.md)> | | [optional] +**user_path_template** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserWriteStageRequest.md b/docs/UserWriteStageRequest.md new file mode 100644 index 0000000..29dcc98 --- /dev/null +++ b/docs/UserWriteStageRequest.md @@ -0,0 +1,17 @@ +# UserWriteStageRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**flow_set** | Option<[**Vec**](FlowSetRequest.md)> | | [optional] +**user_creation_mode** | Option<[**models::UserCreationModeEnum**](UserCreationModeEnum.md)> | | [optional] +**create_users_as_inactive** | Option<**bool**> | When set, newly created users are inactive and cannot login. | [optional] +**create_users_group** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | Optionally add newly created users to this group. | [optional] +**user_type** | Option<[**models::UserTypeEnum**](UserTypeEnum.md)> | | [optional] +**user_path_template** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ValidationError.md b/docs/ValidationError.md new file mode 100644 index 0000000..9b819f7 --- /dev/null +++ b/docs/ValidationError.md @@ -0,0 +1,12 @@ +# ValidationError + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**non_field_errors** | Option<**Vec**> | | [optional] +**code** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Version.md b/docs/Version.md new file mode 100644 index 0000000..0fb1fcc --- /dev/null +++ b/docs/Version.md @@ -0,0 +1,16 @@ +# Version + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**version_current** | **String** | Get current version | [readonly] +**version_latest** | **String** | Get latest version from cache | [readonly] +**version_latest_valid** | **bool** | Check if latest version is valid | [readonly] +**build_hash** | **String** | Get build hash, if version is not latest or released | [readonly] +**outdated** | **bool** | Check if we're running the latest version | [readonly] +**outpost_outdated** | **bool** | Check if any outpost is outdated/has a version mismatch | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/WebAuthnDevice.md b/docs/WebAuthnDevice.md new file mode 100644 index 0000000..44944cc --- /dev/null +++ b/docs/WebAuthnDevice.md @@ -0,0 +1,15 @@ +# WebAuthnDevice + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pk** | **i32** | | [readonly] +**name** | **String** | | +**created_on** | **String** | | [readonly] +**device_type** | Option<[**models::WebAuthnDeviceType**](WebAuthnDeviceType.md)> | | [readonly] +**aaguid** | **String** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/WebAuthnDeviceRequest.md b/docs/WebAuthnDeviceRequest.md new file mode 100644 index 0000000..1d5700c --- /dev/null +++ b/docs/WebAuthnDeviceRequest.md @@ -0,0 +1,11 @@ +# WebAuthnDeviceRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/WebAuthnDeviceType.md b/docs/WebAuthnDeviceType.md new file mode 100644 index 0000000..64d4d0b --- /dev/null +++ b/docs/WebAuthnDeviceType.md @@ -0,0 +1,12 @@ +# WebAuthnDeviceType + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**aaguid** | [**uuid::Uuid**](uuid::Uuid.md) | | +**description** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/WebAuthnDeviceTypeRequest.md b/docs/WebAuthnDeviceTypeRequest.md new file mode 100644 index 0000000..46c0c36 --- /dev/null +++ b/docs/WebAuthnDeviceTypeRequest.md @@ -0,0 +1,12 @@ +# WebAuthnDeviceTypeRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**aaguid** | [**uuid::Uuid**](uuid::Uuid.md) | | +**description** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Workers.md b/docs/Workers.md new file mode 100644 index 0000000..df7a8a9 --- /dev/null +++ b/docs/Workers.md @@ -0,0 +1,11 @@ +# Workers + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..c7a2e55 --- /dev/null +++ b/flake.lock @@ -0,0 +1,96 @@ +{ + "nodes": { + "futils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1726560853, + "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1727617520, + "narHash": "sha256-uNfh3aMyCekMpjtL/PZtl2Hz/YqNuUpCBEzVxt1QYck=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "7eee17a8a5868ecf596bbb8c8beb527253ea8f4d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1718428119, + "narHash": "sha256-WdWDpNaq6u1IPtxtYHHWpl5BmabtpmLnMAx0RdJ/vo8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e6cea36f83499eb4e9cd184c8a8e823296b50ad5", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "futils": "futils", + "nixpkgs": "nixpkgs", + "rust-overlay": "rust-overlay" + } + }, + "rust-overlay": { + "inputs": { + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1727663505, + "narHash": "sha256-83j/GrHsx8GFUcQofKh+PRPz6pz8sxAsZyT/HCNdey8=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "c2099c6c7599ea1980151b8b6247a8f93e1806ee", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..f3cc424 --- /dev/null +++ b/flake.nix @@ -0,0 +1,38 @@ +{ + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + rust-overlay.url = "github:oxalica/rust-overlay"; + futils.url = "github:numtide/flake-utils"; + }; + + outputs = { + self, + nixpkgs, + rust-overlay, + futils, + } @ inputs: let + inherit (nixpkgs) lib; + inherit (futils.lib) eachDefaultSystem defaultSystems; + + nixpkgsFor = lib.genAttrs defaultSystems (system: + import nixpkgs { + inherit system; + overlays = [ + rust-overlay.overlays.default + ]; + }); + in + eachDefaultSystem (system: let + pkgs = nixpkgsFor.${system}; + in { + devShell = pkgs.mkShell { + buildInputs = with pkgs; [ + (rust-bin.fromRustupToolchainFile ./rust-toolchain.toml) + git + pre-commit + ]; + + RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}"; + }; + }); +} diff --git a/rust-toolchain.toml b/rust-toolchain.toml new file mode 100644 index 0000000..0b56bed --- /dev/null +++ b/rust-toolchain.toml @@ -0,0 +1,3 @@ +[toolchain] +channel = "stable" +components = ["rustfmt", "rust-analyzer"] diff --git a/schema.yml b/schema.yml new file mode 100644 index 0000000..646f723 --- /dev/null +++ b/schema.yml @@ -0,0 +1,53043 @@ +openapi: 3.0.3 +info: + title: authentik + version: 2024.8.3 + description: Making authentication simple. + contact: + email: hello@goauthentik.io + license: + name: MIT + url: https://github.com/goauthentik/authentik/blob/main/LICENSE +paths: + /admin/apps/: + get: + operationId: admin_apps_list + description: Read-only view list all installed apps + tags: + - admin + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/App' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /admin/metrics/: + get: + operationId: admin_metrics_retrieve + description: Login Metrics per 1h + tags: + - admin + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/LoginMetrics' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /admin/models/: + get: + operationId: admin_models_list + description: Read-only view list all installed models + tags: + - admin + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/App' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /admin/settings/: + get: + operationId: admin_settings_retrieve + description: Settings view + tags: + - admin + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Settings' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: admin_settings_update + description: Settings view + tags: + - admin + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SettingsRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Settings' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: admin_settings_partial_update + description: Settings view + tags: + - admin + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedSettingsRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Settings' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /admin/system/: + get: + operationId: admin_system_retrieve + description: Get system information. + tags: + - admin + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SystemInfo' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: admin_system_create + description: Get system information. + tags: + - admin + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SystemInfo' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /admin/version/: + get: + operationId: admin_version_retrieve + description: Get running and latest version. + tags: + - admin + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Version' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /admin/workers/: + get: + operationId: admin_workers_retrieve + description: Get currently connected worker count. + tags: + - admin + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Workers' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/admin/all/: + get: + operationId: authenticators_admin_all_list + description: Get all devices for current user + parameters: + - in: query + name: user + schema: + type: integer + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Device' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/admin/duo/: + get: + operationId: authenticators_admin_duo_list + description: Viewset for Duo authenticator devices (for admins) + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedDuoDeviceList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: authenticators_admin_duo_create + description: Viewset for Duo authenticator devices (for admins) + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DuoDeviceRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/DuoDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/admin/duo/{id}/: + get: + operationId: authenticators_admin_duo_retrieve + description: Viewset for Duo authenticator devices (for admins) + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Duo Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DuoDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: authenticators_admin_duo_update + description: Viewset for Duo authenticator devices (for admins) + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Duo Device. + required: true + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DuoDeviceRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DuoDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: authenticators_admin_duo_partial_update + description: Viewset for Duo authenticator devices (for admins) + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Duo Device. + required: true + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedDuoDeviceRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DuoDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: authenticators_admin_duo_destroy + description: Viewset for Duo authenticator devices (for admins) + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Duo Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/admin/sms/: + get: + operationId: authenticators_admin_sms_list + description: Viewset for sms authenticator devices (for admins) + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSMSDeviceList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: authenticators_admin_sms_create + description: Viewset for sms authenticator devices (for admins) + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SMSDeviceRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/SMSDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/admin/sms/{id}/: + get: + operationId: authenticators_admin_sms_retrieve + description: Viewset for sms authenticator devices (for admins) + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this SMS Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SMSDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: authenticators_admin_sms_update + description: Viewset for sms authenticator devices (for admins) + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this SMS Device. + required: true + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SMSDeviceRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SMSDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: authenticators_admin_sms_partial_update + description: Viewset for sms authenticator devices (for admins) + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this SMS Device. + required: true + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedSMSDeviceRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SMSDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: authenticators_admin_sms_destroy + description: Viewset for sms authenticator devices (for admins) + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this SMS Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/admin/static/: + get: + operationId: authenticators_admin_static_list + description: Viewset for static authenticator devices (for admins) + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedStaticDeviceList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: authenticators_admin_static_create + description: Viewset for static authenticator devices (for admins) + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StaticDeviceRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/StaticDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/admin/static/{id}/: + get: + operationId: authenticators_admin_static_retrieve + description: Viewset for static authenticator devices (for admins) + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Static Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/StaticDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: authenticators_admin_static_update + description: Viewset for static authenticator devices (for admins) + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Static Device. + required: true + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StaticDeviceRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/StaticDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: authenticators_admin_static_partial_update + description: Viewset for static authenticator devices (for admins) + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Static Device. + required: true + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedStaticDeviceRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/StaticDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: authenticators_admin_static_destroy + description: Viewset for static authenticator devices (for admins) + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Static Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/admin/totp/: + get: + operationId: authenticators_admin_totp_list + description: Viewset for totp authenticator devices (for admins) + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedTOTPDeviceList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: authenticators_admin_totp_create + description: Viewset for totp authenticator devices (for admins) + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TOTPDeviceRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/TOTPDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/admin/totp/{id}/: + get: + operationId: authenticators_admin_totp_retrieve + description: Viewset for totp authenticator devices (for admins) + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this TOTP Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/TOTPDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: authenticators_admin_totp_update + description: Viewset for totp authenticator devices (for admins) + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this TOTP Device. + required: true + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TOTPDeviceRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/TOTPDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: authenticators_admin_totp_partial_update + description: Viewset for totp authenticator devices (for admins) + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this TOTP Device. + required: true + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedTOTPDeviceRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/TOTPDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: authenticators_admin_totp_destroy + description: Viewset for totp authenticator devices (for admins) + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this TOTP Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/admin/webauthn/: + get: + operationId: authenticators_admin_webauthn_list + description: Viewset for WebAuthn authenticator devices (for admins) + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedWebAuthnDeviceList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: authenticators_admin_webauthn_create + description: Viewset for WebAuthn authenticator devices (for admins) + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WebAuthnDeviceRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/WebAuthnDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/admin/webauthn/{id}/: + get: + operationId: authenticators_admin_webauthn_retrieve + description: Viewset for WebAuthn authenticator devices (for admins) + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this WebAuthn Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/WebAuthnDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: authenticators_admin_webauthn_update + description: Viewset for WebAuthn authenticator devices (for admins) + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this WebAuthn Device. + required: true + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WebAuthnDeviceRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/WebAuthnDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: authenticators_admin_webauthn_partial_update + description: Viewset for WebAuthn authenticator devices (for admins) + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this WebAuthn Device. + required: true + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedWebAuthnDeviceRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/WebAuthnDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: authenticators_admin_webauthn_destroy + description: Viewset for WebAuthn authenticator devices (for admins) + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this WebAuthn Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/all/: + get: + operationId: authenticators_all_list + description: Get all devices for current user + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Device' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/duo/: + get: + operationId: authenticators_duo_list + description: Viewset for Duo authenticator devices + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedDuoDeviceList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/duo/{id}/: + get: + operationId: authenticators_duo_retrieve + description: Viewset for Duo authenticator devices + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Duo Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DuoDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: authenticators_duo_update + description: Viewset for Duo authenticator devices + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Duo Device. + required: true + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DuoDeviceRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DuoDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: authenticators_duo_partial_update + description: Viewset for Duo authenticator devices + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Duo Device. + required: true + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedDuoDeviceRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DuoDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: authenticators_duo_destroy + description: Viewset for Duo authenticator devices + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Duo Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/duo/{id}/used_by/: + get: + operationId: authenticators_duo_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Duo Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/sms/: + get: + operationId: authenticators_sms_list + description: Viewset for sms authenticator devices + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSMSDeviceList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/sms/{id}/: + get: + operationId: authenticators_sms_retrieve + description: Viewset for sms authenticator devices + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this SMS Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SMSDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: authenticators_sms_update + description: Viewset for sms authenticator devices + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this SMS Device. + required: true + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SMSDeviceRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SMSDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: authenticators_sms_partial_update + description: Viewset for sms authenticator devices + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this SMS Device. + required: true + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedSMSDeviceRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SMSDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: authenticators_sms_destroy + description: Viewset for sms authenticator devices + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this SMS Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/sms/{id}/used_by/: + get: + operationId: authenticators_sms_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this SMS Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/static/: + get: + operationId: authenticators_static_list + description: Viewset for static authenticator devices + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedStaticDeviceList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/static/{id}/: + get: + operationId: authenticators_static_retrieve + description: Viewset for static authenticator devices + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Static Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/StaticDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: authenticators_static_update + description: Viewset for static authenticator devices + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Static Device. + required: true + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StaticDeviceRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/StaticDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: authenticators_static_partial_update + description: Viewset for static authenticator devices + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Static Device. + required: true + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedStaticDeviceRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/StaticDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: authenticators_static_destroy + description: Viewset for static authenticator devices + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Static Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/static/{id}/used_by/: + get: + operationId: authenticators_static_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Static Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/totp/: + get: + operationId: authenticators_totp_list + description: Viewset for totp authenticator devices + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedTOTPDeviceList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/totp/{id}/: + get: + operationId: authenticators_totp_retrieve + description: Viewset for totp authenticator devices + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this TOTP Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/TOTPDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: authenticators_totp_update + description: Viewset for totp authenticator devices + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this TOTP Device. + required: true + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TOTPDeviceRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/TOTPDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: authenticators_totp_partial_update + description: Viewset for totp authenticator devices + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this TOTP Device. + required: true + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedTOTPDeviceRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/TOTPDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: authenticators_totp_destroy + description: Viewset for totp authenticator devices + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this TOTP Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/totp/{id}/used_by/: + get: + operationId: authenticators_totp_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this TOTP Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/webauthn/: + get: + operationId: authenticators_webauthn_list + description: Viewset for WebAuthn authenticator devices + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedWebAuthnDeviceList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/webauthn/{id}/: + get: + operationId: authenticators_webauthn_retrieve + description: Viewset for WebAuthn authenticator devices + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this WebAuthn Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/WebAuthnDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: authenticators_webauthn_update + description: Viewset for WebAuthn authenticator devices + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this WebAuthn Device. + required: true + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WebAuthnDeviceRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/WebAuthnDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: authenticators_webauthn_partial_update + description: Viewset for WebAuthn authenticator devices + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this WebAuthn Device. + required: true + tags: + - authenticators + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedWebAuthnDeviceRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/WebAuthnDevice' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: authenticators_webauthn_destroy + description: Viewset for WebAuthn authenticator devices + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this WebAuthn Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /authenticators/webauthn/{id}/used_by/: + get: + operationId: authenticators_webauthn_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this WebAuthn Device. + required: true + tags: + - authenticators + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/applications/: + get: + operationId: core_applications_list + description: Custom list method that checks Policy based access instead of guardian + parameters: + - in: query + name: for_user + schema: + type: integer + - in: query + name: group + schema: + type: string + - in: query + name: meta_description + schema: + type: string + - in: query + name: meta_launch_url + schema: + type: string + - in: query + name: meta_publisher + schema: + type: string + - in: query + name: name + schema: + type: string + - in: query + name: only_with_launch_url + schema: + type: boolean + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: slug + schema: + type: string + - in: query + name: superuser_full_list + schema: + type: boolean + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedApplicationList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: core_applications_create + description: Application Viewset + tags: + - core + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/Application' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/applications/{slug}/: + get: + operationId: core_applications_retrieve + description: Application Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal application name, used in URLs. + required: true + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Application' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: core_applications_update + description: Application Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal application name, used in URLs. + required: true + tags: + - core + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Application' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: core_applications_partial_update + description: Application Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal application name, used in URLs. + required: true + tags: + - core + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedApplicationRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Application' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: core_applications_destroy + description: Application Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal application name, used in URLs. + required: true + tags: + - core + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/applications/{slug}/check_access/: + get: + operationId: core_applications_check_access_retrieve + description: Check access to a single application by slug + parameters: + - in: query + name: for_user + schema: + type: integer + - in: path + name: slug + schema: + type: string + description: Internal application name, used in URLs. + required: true + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyTestResult' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/applications/{slug}/metrics/: + get: + operationId: core_applications_metrics_list + description: Metrics for application logins + parameters: + - in: path + name: slug + schema: + type: string + description: Internal application name, used in URLs. + required: true + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Coordinate' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/applications/{slug}/set_icon/: + post: + operationId: core_applications_set_icon_create + description: Set application icon + parameters: + - in: path + name: slug + schema: + type: string + description: Internal application name, used in URLs. + required: true + tags: + - core + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/FileUploadRequest' + security: + - authentik: [] + responses: + '200': + description: Success + '400': + description: Bad request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/applications/{slug}/set_icon_url/: + post: + operationId: core_applications_set_icon_url_create + description: Set application icon (as URL) + parameters: + - in: path + name: slug + schema: + type: string + description: Internal application name, used in URLs. + required: true + tags: + - core + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FilePathRequest' + required: true + security: + - authentik: [] + responses: + '200': + description: Success + '400': + description: Bad request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/applications/{slug}/used_by/: + get: + operationId: core_applications_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: slug + schema: + type: string + description: Internal application name, used in URLs. + required: true + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/authenticated_sessions/: + get: + operationId: core_authenticated_sessions_list + description: AuthenticatedSession Viewset + parameters: + - in: query + name: last_ip + schema: + type: string + - in: query + name: last_user_agent + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: user__username + schema: + type: string + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedAuthenticatedSessionList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/authenticated_sessions/{uuid}/: + get: + operationId: core_authenticated_sessions_retrieve + description: AuthenticatedSession Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Authenticated Session. + required: true + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatedSession' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: core_authenticated_sessions_destroy + description: AuthenticatedSession Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Authenticated Session. + required: true + tags: + - core + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/authenticated_sessions/{uuid}/used_by/: + get: + operationId: core_authenticated_sessions_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Authenticated Session. + required: true + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/brands/: + get: + operationId: core_brands_list + description: Brand Viewset + parameters: + - in: query + name: brand_uuid + schema: + type: string + format: uuid + - in: query + name: branding_favicon + schema: + type: string + - in: query + name: branding_logo + schema: + type: string + - in: query + name: branding_title + schema: + type: string + - in: query + name: default + schema: + type: boolean + - in: query + name: domain + schema: + type: string + - in: query + name: flow_authentication + schema: + type: string + format: uuid + - in: query + name: flow_device_code + schema: + type: string + format: uuid + - in: query + name: flow_invalidation + schema: + type: string + format: uuid + - in: query + name: flow_recovery + schema: + type: string + format: uuid + - in: query + name: flow_unenrollment + schema: + type: string + format: uuid + - in: query + name: flow_user_settings + schema: + type: string + format: uuid + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: web_certificate + schema: + type: string + format: uuid + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedBrandList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: core_brands_create + description: Brand Viewset + tags: + - core + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BrandRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/Brand' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/brands/{brand_uuid}/: + get: + operationId: core_brands_retrieve + description: Brand Viewset + parameters: + - in: path + name: brand_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Brand. + required: true + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Brand' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: core_brands_update + description: Brand Viewset + parameters: + - in: path + name: brand_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Brand. + required: true + tags: + - core + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BrandRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Brand' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: core_brands_partial_update + description: Brand Viewset + parameters: + - in: path + name: brand_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Brand. + required: true + tags: + - core + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedBrandRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Brand' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: core_brands_destroy + description: Brand Viewset + parameters: + - in: path + name: brand_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Brand. + required: true + tags: + - core + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/brands/{brand_uuid}/used_by/: + get: + operationId: core_brands_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: brand_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Brand. + required: true + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/brands/current/: + get: + operationId: core_brands_current_retrieve + description: Get current brand + tags: + - core + security: + - authentik: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CurrentBrand' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/groups/: + get: + operationId: core_groups_list + description: Group Viewset + parameters: + - in: query + name: attributes + schema: + type: string + description: Attributes + - in: query + name: include_users + schema: + type: boolean + default: true + - in: query + name: is_superuser + schema: + type: boolean + - in: query + name: members_by_pk + schema: + type: array + items: + type: integer + explode: true + style: form + - in: query + name: members_by_username + schema: + type: array + items: + type: string + description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ + only. + explode: true + style: form + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedGroupList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: core_groups_create + description: Group Viewset + tags: + - core + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GroupRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/Group' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/groups/{group_uuid}/: + get: + operationId: core_groups_retrieve + description: Group Viewset + parameters: + - in: path + name: group_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Group. + required: true + - in: query + name: include_users + schema: + type: boolean + default: true + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Group' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: core_groups_update + description: Group Viewset + parameters: + - in: path + name: group_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Group. + required: true + tags: + - core + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GroupRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Group' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: core_groups_partial_update + description: Group Viewset + parameters: + - in: path + name: group_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Group. + required: true + tags: + - core + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedGroupRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Group' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: core_groups_destroy + description: Group Viewset + parameters: + - in: path + name: group_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Group. + required: true + tags: + - core + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/groups/{group_uuid}/add_user/: + post: + operationId: core_groups_add_user_create + description: Add user to group + parameters: + - in: path + name: group_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Group. + required: true + tags: + - core + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserAccountRequest' + required: true + security: + - authentik: [] + responses: + '204': + description: User added + '404': + description: User not found + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/groups/{group_uuid}/remove_user/: + post: + operationId: core_groups_remove_user_create + description: Add user to group + parameters: + - in: path + name: group_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Group. + required: true + tags: + - core + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserAccountRequest' + required: true + security: + - authentik: [] + responses: + '204': + description: User added + '404': + description: User not found + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/groups/{group_uuid}/used_by/: + get: + operationId: core_groups_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: group_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Group. + required: true + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/tokens/: + get: + operationId: core_tokens_list + description: Token Viewset + parameters: + - in: query + name: description + schema: + type: string + - in: query + name: expires + schema: + type: string + format: date-time + - in: query + name: expiring + schema: + type: boolean + - in: query + name: identifier + schema: + type: string + - in: query + name: intent + schema: + type: string + enum: + - api + - app_password + - recovery + - verification + - in: query + name: managed + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: user__username + schema: + type: string + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedTokenList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: core_tokens_create + description: Token Viewset + tags: + - core + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TokenRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/Token' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/tokens/{identifier}/: + get: + operationId: core_tokens_retrieve + description: Token Viewset + parameters: + - in: path + name: identifier + schema: + type: string + required: true + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Token' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: core_tokens_update + description: Token Viewset + parameters: + - in: path + name: identifier + schema: + type: string + required: true + tags: + - core + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TokenRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Token' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: core_tokens_partial_update + description: Token Viewset + parameters: + - in: path + name: identifier + schema: + type: string + required: true + tags: + - core + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedTokenRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Token' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: core_tokens_destroy + description: Token Viewset + parameters: + - in: path + name: identifier + schema: + type: string + required: true + tags: + - core + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/tokens/{identifier}/set_key/: + post: + operationId: core_tokens_set_key_create + description: |- + Set token key. Action is logged as event. `authentik_core.set_token_key` permission + is required. + parameters: + - in: path + name: identifier + schema: + type: string + required: true + tags: + - core + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TokenSetKeyRequest' + required: true + security: + - authentik: [] + responses: + '204': + description: Successfully changed key + '400': + description: Missing key + '404': + description: Token not found or expired + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/tokens/{identifier}/used_by/: + get: + operationId: core_tokens_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: identifier + schema: + type: string + required: true + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/tokens/{identifier}/view_key/: + get: + operationId: core_tokens_view_key_retrieve + description: Return token key and log access + parameters: + - in: path + name: identifier + schema: + type: string + required: true + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/TokenView' + description: '' + '404': + description: Token not found or expired + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/transactional/applications/: + put: + operationId: core_transactional_applications_update + description: Convert data into a blueprint, validate it and apply it + tags: + - core + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionApplicationRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionApplicationResponse' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/user_consent/: + get: + operationId: core_user_consent_list + description: UserConsent Viewset + parameters: + - in: query + name: application + schema: + type: string + format: uuid + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: user + schema: + type: integer + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedUserConsentList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/user_consent/{id}/: + get: + operationId: core_user_consent_retrieve + description: UserConsent Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User Consent. + required: true + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserConsent' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: core_user_consent_destroy + description: UserConsent Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User Consent. + required: true + tags: + - core + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/user_consent/{id}/used_by/: + get: + operationId: core_user_consent_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User Consent. + required: true + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/users/: + get: + operationId: core_users_list + description: User Viewset + parameters: + - in: query + name: attributes + schema: + type: string + description: Attributes + - in: query + name: email + schema: + type: string + - in: query + name: groups_by_name + schema: + type: array + items: + type: string + explode: true + style: form + - in: query + name: groups_by_pk + schema: + type: array + items: + type: string + format: uuid + explode: true + style: form + - in: query + name: include_groups + schema: + type: boolean + default: true + - in: query + name: is_active + schema: + type: boolean + - in: query + name: is_superuser + schema: + type: boolean + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: path + schema: + type: string + - in: query + name: path_startswith + schema: + type: string + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: type + schema: + type: array + items: + type: string + enum: + - external + - internal + - internal_service_account + - service_account + explode: true + style: form + - in: query + name: username + schema: + type: string + - in: query + name: uuid + schema: + type: string + format: uuid + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedUserList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: core_users_create + description: User Viewset + tags: + - core + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/users/{id}/: + get: + operationId: core_users_retrieve + description: User Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User. + required: true + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: core_users_update + description: User Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User. + required: true + tags: + - core + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: core_users_partial_update + description: User Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User. + required: true + tags: + - core + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedUserRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: core_users_destroy + description: User Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User. + required: true + tags: + - core + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/users/{id}/impersonate/: + post: + operationId: core_users_impersonate_create + description: Impersonate a user + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User. + required: true + tags: + - core + security: + - authentik: [] + responses: + '204': + description: Successfully started impersonation + '401': + description: Access denied + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/users/{id}/metrics/: + get: + operationId: core_users_metrics_retrieve + description: User metrics per 1h + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User. + required: true + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserMetrics' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/users/{id}/recovery/: + post: + operationId: core_users_recovery_create + description: Create a temporary link that a user can use to recover their accounts + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User. + required: true + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Link' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/users/{id}/recovery_email/: + post: + operationId: core_users_recovery_email_create + description: Create a temporary link that a user can use to recover their accounts + parameters: + - in: query + name: email_stage + schema: + type: string + required: true + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User. + required: true + tags: + - core + security: + - authentik: [] + responses: + '204': + description: Successfully sent recover email + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/users/{id}/set_password/: + post: + operationId: core_users_set_password_create + description: Set password for user + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User. + required: true + tags: + - core + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserPasswordSetRequest' + required: true + security: + - authentik: [] + responses: + '204': + description: Successfully changed password + '400': + description: Bad request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/users/{id}/used_by/: + get: + operationId: core_users_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User. + required: true + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/users/impersonate_end/: + get: + operationId: core_users_impersonate_end_retrieve + description: End Impersonation a user + tags: + - core + security: + - authentik: [] + responses: + '204': + description: Successfully started impersonation + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/users/me/: + get: + operationId: core_users_me_retrieve + description: Get information about current user + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SessionUser' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/users/paths/: + get: + operationId: core_users_paths_retrieve + description: Get all user paths + parameters: + - in: query + name: search + schema: + type: string + tags: + - core + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserPath' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /core/users/service_account/: + post: + operationId: core_users_service_account_create + description: Create a new user account that is marked as a service account + tags: + - core + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserServiceAccountRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserServiceAccountResponse' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /crypto/certificatekeypairs/: + get: + operationId: crypto_certificatekeypairs_list + description: CertificateKeyPair Viewset + parameters: + - in: query + name: has_key + schema: + type: boolean + description: Only return certificate-key pairs with keys + - in: query + name: include_details + schema: + type: boolean + default: true + - in: query + name: managed + schema: + type: string + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - crypto + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedCertificateKeyPairList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: crypto_certificatekeypairs_create + description: CertificateKeyPair Viewset + tags: + - crypto + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateKeyPairRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateKeyPair' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /crypto/certificatekeypairs/{kp_uuid}/: + get: + operationId: crypto_certificatekeypairs_retrieve + description: CertificateKeyPair Viewset + parameters: + - in: path + name: kp_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Certificate-Key Pair. + required: true + tags: + - crypto + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateKeyPair' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: crypto_certificatekeypairs_update + description: CertificateKeyPair Viewset + parameters: + - in: path + name: kp_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Certificate-Key Pair. + required: true + tags: + - crypto + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateKeyPairRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateKeyPair' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: crypto_certificatekeypairs_partial_update + description: CertificateKeyPair Viewset + parameters: + - in: path + name: kp_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Certificate-Key Pair. + required: true + tags: + - crypto + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedCertificateKeyPairRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateKeyPair' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: crypto_certificatekeypairs_destroy + description: CertificateKeyPair Viewset + parameters: + - in: path + name: kp_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Certificate-Key Pair. + required: true + tags: + - crypto + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /crypto/certificatekeypairs/{kp_uuid}/used_by/: + get: + operationId: crypto_certificatekeypairs_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: kp_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Certificate-Key Pair. + required: true + tags: + - crypto + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /crypto/certificatekeypairs/{kp_uuid}/view_certificate/: + get: + operationId: crypto_certificatekeypairs_view_certificate_retrieve + description: Return certificate-key pairs certificate and log access + parameters: + - in: query + name: download + schema: + type: boolean + - in: path + name: kp_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Certificate-Key Pair. + required: true + tags: + - crypto + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateData' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /crypto/certificatekeypairs/{kp_uuid}/view_private_key/: + get: + operationId: crypto_certificatekeypairs_view_private_key_retrieve + description: Return certificate-key pairs private key and log access + parameters: + - in: query + name: download + schema: + type: boolean + - in: path + name: kp_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Certificate-Key Pair. + required: true + tags: + - crypto + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateData' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /crypto/certificatekeypairs/generate/: + post: + operationId: crypto_certificatekeypairs_generate_create + description: Generate a new, self-signed certificate-key pair + tags: + - crypto + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateGenerationRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateKeyPair' + description: '' + '400': + description: Bad request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /enterprise/license/: + get: + operationId: enterprise_license_list + description: License Viewset + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - enterprise + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedLicenseList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: enterprise_license_create + description: License Viewset + tags: + - enterprise + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LicenseRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/License' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /enterprise/license/{license_uuid}/: + get: + operationId: enterprise_license_retrieve + description: License Viewset + parameters: + - in: path + name: license_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this License. + required: true + tags: + - enterprise + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/License' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: enterprise_license_update + description: License Viewset + parameters: + - in: path + name: license_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this License. + required: true + tags: + - enterprise + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LicenseRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/License' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: enterprise_license_partial_update + description: License Viewset + parameters: + - in: path + name: license_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this License. + required: true + tags: + - enterprise + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedLicenseRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/License' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: enterprise_license_destroy + description: License Viewset + parameters: + - in: path + name: license_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this License. + required: true + tags: + - enterprise + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /enterprise/license/{license_uuid}/used_by/: + get: + operationId: enterprise_license_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: license_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this License. + required: true + tags: + - enterprise + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /enterprise/license/forecast/: + get: + operationId: enterprise_license_forecast_retrieve + description: Forecast how many users will be required in a year + tags: + - enterprise + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/LicenseForecast' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /enterprise/license/install_id/: + get: + operationId: enterprise_license_install_id_retrieve + description: Get install_id + tags: + - enterprise + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/InstallID' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /enterprise/license/summary/: + get: + operationId: enterprise_license_summary_retrieve + description: Get the total license status + parameters: + - in: query + name: cached + schema: + type: boolean + default: true + tags: + - enterprise + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/LicenseSummary' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /events/events/: + get: + operationId: events_events_list + description: Event Read-Only Viewset + parameters: + - in: query + name: action + schema: + type: string + - in: query + name: brand_name + schema: + type: string + description: Brand name + - in: query + name: client_ip + schema: + type: string + - in: query + name: context_authorized_app + schema: + type: string + description: Context Authorized application + - in: query + name: context_model_app + schema: + type: string + description: Context Model App + - in: query + name: context_model_name + schema: + type: string + description: Context Model Name + - in: query + name: context_model_pk + schema: + type: string + description: Context Model Primary Key + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: username + schema: + type: string + description: Username + tags: + - events + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedEventList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: events_events_create + description: Event Read-Only Viewset + tags: + - events + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EventRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/Event' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /events/events/{event_uuid}/: + get: + operationId: events_events_retrieve + description: Event Read-Only Viewset + parameters: + - in: path + name: event_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Event. + required: true + tags: + - events + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Event' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: events_events_update + description: Event Read-Only Viewset + parameters: + - in: path + name: event_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Event. + required: true + tags: + - events + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EventRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Event' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: events_events_partial_update + description: Event Read-Only Viewset + parameters: + - in: path + name: event_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Event. + required: true + tags: + - events + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedEventRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Event' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: events_events_destroy + description: Event Read-Only Viewset + parameters: + - in: path + name: event_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Event. + required: true + tags: + - events + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /events/events/actions/: + get: + operationId: events_events_actions_list + description: Get all actions + tags: + - events + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TypeCreate' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /events/events/per_month/: + get: + operationId: events_events_per_month_list + description: Get the count of events per month + parameters: + - in: query + name: action + schema: + type: string + - in: query + name: query + schema: + type: string + tags: + - events + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Coordinate' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /events/events/top_per_user/: + get: + operationId: events_events_top_per_user_list + description: Get the top_n events grouped by user count + parameters: + - in: query + name: action + schema: + type: string + - in: query + name: top_n + schema: + type: integer + tags: + - events + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EventTopPerUser' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /events/events/volume/: + get: + operationId: events_events_volume_list + description: Get event volume for specified filters and timeframe + parameters: + - in: query + name: action + schema: + type: string + - in: query + name: brand_name + schema: + type: string + description: Brand name + - in: query + name: client_ip + schema: + type: string + - in: query + name: context_authorized_app + schema: + type: string + description: Context Authorized application + - in: query + name: context_model_app + schema: + type: string + description: Context Model App + - in: query + name: context_model_name + schema: + type: string + description: Context Model Name + - in: query + name: context_model_pk + schema: + type: string + description: Context Model Primary Key + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: username + schema: + type: string + description: Username + tags: + - events + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Coordinate' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /events/notifications/: + get: + operationId: events_notifications_list + description: Notification Viewset + parameters: + - in: query + name: body + schema: + type: string + - in: query + name: created + schema: + type: string + format: date-time + - in: query + name: event + schema: + type: string + format: uuid + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: seen + schema: + type: boolean + - in: query + name: severity + schema: + type: string + enum: + - alert + - notice + - warning + - in: query + name: user + schema: + type: integer + tags: + - events + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedNotificationList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /events/notifications/{uuid}/: + get: + operationId: events_notifications_retrieve + description: Notification Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Notification. + required: true + tags: + - events + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Notification' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: events_notifications_update + description: Notification Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Notification. + required: true + tags: + - events + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Notification' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: events_notifications_partial_update + description: Notification Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Notification. + required: true + tags: + - events + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedNotificationRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Notification' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: events_notifications_destroy + description: Notification Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Notification. + required: true + tags: + - events + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /events/notifications/{uuid}/used_by/: + get: + operationId: events_notifications_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Notification. + required: true + tags: + - events + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /events/notifications/mark_all_seen/: + post: + operationId: events_notifications_mark_all_seen_create + description: Mark all the user's notifications as seen + tags: + - events + security: + - authentik: [] + responses: + '204': + description: Marked tasks as read successfully. + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /events/rules/: + get: + operationId: events_rules_list + description: NotificationRule Viewset + parameters: + - in: query + name: group__name + schema: + type: string + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: severity + schema: + type: string + enum: + - alert + - notice + - warning + description: |+ + Controls which severity level the created notifications will have. + + tags: + - events + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedNotificationRuleList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: events_rules_create + description: NotificationRule Viewset + tags: + - events + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationRuleRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationRule' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /events/rules/{pbm_uuid}/: + get: + operationId: events_rules_retrieve + description: NotificationRule Viewset + parameters: + - in: path + name: pbm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Notification Rule. + required: true + tags: + - events + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationRule' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: events_rules_update + description: NotificationRule Viewset + parameters: + - in: path + name: pbm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Notification Rule. + required: true + tags: + - events + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationRuleRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationRule' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: events_rules_partial_update + description: NotificationRule Viewset + parameters: + - in: path + name: pbm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Notification Rule. + required: true + tags: + - events + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedNotificationRuleRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationRule' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: events_rules_destroy + description: NotificationRule Viewset + parameters: + - in: path + name: pbm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Notification Rule. + required: true + tags: + - events + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /events/rules/{pbm_uuid}/used_by/: + get: + operationId: events_rules_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: pbm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Notification Rule. + required: true + tags: + - events + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /events/system_tasks/: + get: + operationId: events_system_tasks_list + description: Read-only view set that returns all background tasks + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: status + schema: + type: string + enum: + - error + - successful + - unknown + - warning + - in: query + name: uid + schema: + type: string + tags: + - events + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSystemTaskList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /events/system_tasks/{uuid}/: + get: + operationId: events_system_tasks_retrieve + description: Read-only view set that returns all background tasks + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this System Task. + required: true + tags: + - events + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SystemTask' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /events/system_tasks/{uuid}/run/: + post: + operationId: events_system_tasks_run_create + description: Run task + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this System Task. + required: true + tags: + - events + security: + - authentik: [] + responses: + '204': + description: Task retried successfully + '404': + description: Task not found + '500': + description: Failed to retry task + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /events/transports/: + get: + operationId: events_transports_list + description: NotificationTransport Viewset + parameters: + - in: query + name: mode + schema: + type: string + enum: + - email + - local + - webhook + - webhook_slack + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: send_once + schema: + type: boolean + - in: query + name: webhook_url + schema: + type: string + tags: + - events + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedNotificationTransportList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: events_transports_create + description: NotificationTransport Viewset + tags: + - events + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationTransportRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationTransport' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /events/transports/{uuid}/: + get: + operationId: events_transports_retrieve + description: NotificationTransport Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Notification Transport. + required: true + tags: + - events + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationTransport' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: events_transports_update + description: NotificationTransport Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Notification Transport. + required: true + tags: + - events + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationTransportRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationTransport' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: events_transports_partial_update + description: NotificationTransport Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Notification Transport. + required: true + tags: + - events + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedNotificationTransportRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationTransport' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: events_transports_destroy + description: NotificationTransport Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Notification Transport. + required: true + tags: + - events + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /events/transports/{uuid}/test/: + post: + operationId: events_transports_test_create + description: |- + Send example notification using selected transport. Requires + Modify permissions. + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Notification Transport. + required: true + tags: + - events + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationTransportTest' + description: '' + '500': + description: Failed to test transport + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /events/transports/{uuid}/used_by/: + get: + operationId: events_transports_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Notification Transport. + required: true + tags: + - events + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /flows/bindings/: + get: + operationId: flows_bindings_list + description: FlowStageBinding Viewset + parameters: + - in: query + name: evaluate_on_plan + schema: + type: boolean + - in: query + name: fsb_uuid + schema: + type: string + format: uuid + - in: query + name: invalid_response_action + schema: + type: string + enum: + - restart + - restart_with_context + - retry + description: |+ + Configure how the flow executor should handle an invalid response to a challenge. RETRY returns the error message and a similar challenge to the executor. RESTART restarts the flow from the beginning, and RESTART_WITH_CONTEXT restarts the flow while keeping the current context. + + - in: query + name: order + schema: + type: integer + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: pbm_uuid + schema: + type: string + format: uuid + - in: query + name: policies + schema: + type: array + items: + type: string + format: uuid + explode: true + style: form + - in: query + name: policy_engine_mode + schema: + type: string + enum: + - all + - any + - in: query + name: re_evaluate_policies + schema: + type: boolean + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: stage + schema: + type: string + format: uuid + - in: query + name: target + schema: + type: string + format: uuid + tags: + - flows + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedFlowStageBindingList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: flows_bindings_create + description: FlowStageBinding Viewset + tags: + - flows + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FlowStageBindingRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/FlowStageBinding' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /flows/bindings/{fsb_uuid}/: + get: + operationId: flows_bindings_retrieve + description: FlowStageBinding Viewset + parameters: + - in: path + name: fsb_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Flow Stage Binding. + required: true + tags: + - flows + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FlowStageBinding' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: flows_bindings_update + description: FlowStageBinding Viewset + parameters: + - in: path + name: fsb_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Flow Stage Binding. + required: true + tags: + - flows + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FlowStageBindingRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FlowStageBinding' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: flows_bindings_partial_update + description: FlowStageBinding Viewset + parameters: + - in: path + name: fsb_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Flow Stage Binding. + required: true + tags: + - flows + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedFlowStageBindingRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FlowStageBinding' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: flows_bindings_destroy + description: FlowStageBinding Viewset + parameters: + - in: path + name: fsb_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Flow Stage Binding. + required: true + tags: + - flows + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /flows/bindings/{fsb_uuid}/used_by/: + get: + operationId: flows_bindings_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: fsb_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Flow Stage Binding. + required: true + tags: + - flows + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /flows/executor/{flow_slug}/: + get: + operationId: flows_executor_get + description: Get the next pending challenge from the currently active flow. + parameters: + - in: path + name: flow_slug + schema: + type: string + required: true + - in: query + name: query + schema: + type: string + description: Querystring as received + required: true + tags: + - flows + security: + - authentik: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ChallengeTypes' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: flows_executor_solve + description: Solve the previously retrieved challenge and advanced to the next + stage. + parameters: + - in: path + name: flow_slug + schema: + type: string + required: true + - in: query + name: query + schema: + type: string + description: Querystring as received + required: true + tags: + - flows + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FlowChallengeResponseRequest' + security: + - authentik: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ChallengeTypes' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /flows/inspector/{flow_slug}/: + get: + operationId: flows_inspector_get + description: Get current flow state and record it + parameters: + - in: path + name: flow_slug + schema: + type: string + required: true + tags: + - flows + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FlowInspection' + description: '' + '400': + description: No flow plan in session. + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /flows/instances/: + get: + operationId: flows_instances_list + description: Flow Viewset + parameters: + - in: query + name: denied_action + schema: + type: string + enum: + - continue + - message + - message_continue + description: |+ + Configure what should happen when a flow denies access to a user. + + - in: query + name: designation + schema: + type: string + enum: + - authentication + - authorization + - enrollment + - invalidation + - recovery + - stage_configuration + - unenrollment + description: |+ + Decides what this Flow is used for. For example, the Authentication flow is redirect to when an un-authenticated user visits authentik. + + - in: query + name: flow_uuid + schema: + type: string + format: uuid + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: slug + schema: + type: string + tags: + - flows + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedFlowList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: flows_instances_create + description: Flow Viewset + tags: + - flows + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FlowRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/Flow' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /flows/instances/{slug}/: + get: + operationId: flows_instances_retrieve + description: Flow Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Visible in the URL. + required: true + tags: + - flows + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Flow' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: flows_instances_update + description: Flow Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Visible in the URL. + required: true + tags: + - flows + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FlowRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Flow' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: flows_instances_partial_update + description: Flow Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Visible in the URL. + required: true + tags: + - flows + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedFlowRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Flow' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: flows_instances_destroy + description: Flow Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Visible in the URL. + required: true + tags: + - flows + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /flows/instances/{slug}/diagram/: + get: + operationId: flows_instances_diagram_retrieve + description: Return diagram for flow with slug `slug`, in the format used by + flowchart.js + parameters: + - in: path + name: slug + schema: + type: string + description: Visible in the URL. + required: true + tags: + - flows + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FlowDiagram' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /flows/instances/{slug}/execute/: + get: + operationId: flows_instances_execute_retrieve + description: Execute flow for current user + parameters: + - in: path + name: slug + schema: + type: string + description: Visible in the URL. + required: true + tags: + - flows + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Link' + description: '' + '400': + description: Flow not applicable + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /flows/instances/{slug}/export/: + get: + operationId: flows_instances_export_retrieve + description: Export flow to .yaml file + parameters: + - in: path + name: slug + schema: + type: string + description: Visible in the URL. + required: true + tags: + - flows + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: string + format: binary + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /flows/instances/{slug}/set_background/: + post: + operationId: flows_instances_set_background_create + description: Set Flow background + parameters: + - in: path + name: slug + schema: + type: string + description: Visible in the URL. + required: true + tags: + - flows + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/FileUploadRequest' + security: + - authentik: [] + responses: + '200': + description: Success + '400': + description: Bad request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /flows/instances/{slug}/set_background_url/: + post: + operationId: flows_instances_set_background_url_create + description: Set Flow background (as URL) + parameters: + - in: path + name: slug + schema: + type: string + description: Visible in the URL. + required: true + tags: + - flows + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FilePathRequest' + required: true + security: + - authentik: [] + responses: + '200': + description: Success + '400': + description: Bad request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /flows/instances/{slug}/used_by/: + get: + operationId: flows_instances_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: slug + schema: + type: string + description: Visible in the URL. + required: true + tags: + - flows + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /flows/instances/cache_clear/: + post: + operationId: flows_instances_cache_clear_create + description: Clear flow cache + tags: + - flows + security: + - authentik: [] + responses: + '204': + description: Successfully cleared cache + '400': + description: Bad request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /flows/instances/cache_info/: + get: + operationId: flows_instances_cache_info_retrieve + description: Info about cached flows + tags: + - flows + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Cache' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /flows/instances/import/: + post: + operationId: flows_instances_import_create + description: Import flow from .yaml file + tags: + - flows + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/FileUploadRequest' + security: + - authentik: [] + responses: + '204': + content: + application/json: + schema: + $ref: '#/components/schemas/FlowImportResult' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/FlowImportResult' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /managed/blueprints/: + get: + operationId: managed_blueprints_list + description: Blueprint instances + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: path + schema: + type: string + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - managed + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedBlueprintInstanceList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: managed_blueprints_create + description: Blueprint instances + tags: + - managed + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BlueprintInstanceRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/BlueprintInstance' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /managed/blueprints/{instance_uuid}/: + get: + operationId: managed_blueprints_retrieve + description: Blueprint instances + parameters: + - in: path + name: instance_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Blueprint Instance. + required: true + tags: + - managed + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/BlueprintInstance' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: managed_blueprints_update + description: Blueprint instances + parameters: + - in: path + name: instance_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Blueprint Instance. + required: true + tags: + - managed + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BlueprintInstanceRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/BlueprintInstance' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: managed_blueprints_partial_update + description: Blueprint instances + parameters: + - in: path + name: instance_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Blueprint Instance. + required: true + tags: + - managed + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedBlueprintInstanceRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/BlueprintInstance' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: managed_blueprints_destroy + description: Blueprint instances + parameters: + - in: path + name: instance_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Blueprint Instance. + required: true + tags: + - managed + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /managed/blueprints/{instance_uuid}/apply/: + post: + operationId: managed_blueprints_apply_create + description: Apply a blueprint + parameters: + - in: path + name: instance_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Blueprint Instance. + required: true + tags: + - managed + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/BlueprintInstance' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /managed/blueprints/{instance_uuid}/used_by/: + get: + operationId: managed_blueprints_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: instance_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Blueprint Instance. + required: true + tags: + - managed + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /managed/blueprints/available/: + get: + operationId: managed_blueprints_available_list + description: Get blueprints + tags: + - managed + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/BlueprintFile' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /oauth2/access_tokens/: + get: + operationId: oauth2_access_tokens_list + description: AccessToken Viewset + parameters: + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: provider + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: user + schema: + type: integer + tags: + - oauth2 + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedTokenModelList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /oauth2/access_tokens/{id}/: + get: + operationId: oauth2_access_tokens_retrieve + description: AccessToken Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this OAuth2 Access Token. + required: true + tags: + - oauth2 + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/TokenModel' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: oauth2_access_tokens_destroy + description: AccessToken Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this OAuth2 Access Token. + required: true + tags: + - oauth2 + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /oauth2/access_tokens/{id}/used_by/: + get: + operationId: oauth2_access_tokens_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this OAuth2 Access Token. + required: true + tags: + - oauth2 + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /oauth2/authorization_codes/: + get: + operationId: oauth2_authorization_codes_list + description: AuthorizationCode Viewset + parameters: + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: provider + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: user + schema: + type: integer + tags: + - oauth2 + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedExpiringBaseGrantModelList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /oauth2/authorization_codes/{id}/: + get: + operationId: oauth2_authorization_codes_retrieve + description: AuthorizationCode Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Authorization Code. + required: true + tags: + - oauth2 + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ExpiringBaseGrantModel' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: oauth2_authorization_codes_destroy + description: AuthorizationCode Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Authorization Code. + required: true + tags: + - oauth2 + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /oauth2/authorization_codes/{id}/used_by/: + get: + operationId: oauth2_authorization_codes_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Authorization Code. + required: true + tags: + - oauth2 + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /oauth2/refresh_tokens/: + get: + operationId: oauth2_refresh_tokens_list + description: RefreshToken Viewset + parameters: + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: provider + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: user + schema: + type: integer + tags: + - oauth2 + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedTokenModelList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /oauth2/refresh_tokens/{id}/: + get: + operationId: oauth2_refresh_tokens_retrieve + description: RefreshToken Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this OAuth2 Refresh Token. + required: true + tags: + - oauth2 + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/TokenModel' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: oauth2_refresh_tokens_destroy + description: RefreshToken Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this OAuth2 Refresh Token. + required: true + tags: + - oauth2 + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /oauth2/refresh_tokens/{id}/used_by/: + get: + operationId: oauth2_refresh_tokens_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this OAuth2 Refresh Token. + required: true + tags: + - oauth2 + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /outposts/instances/: + get: + operationId: outposts_instances_list + description: Outpost Viewset + parameters: + - in: query + name: managed__icontains + schema: + type: string + - in: query + name: managed__iexact + schema: + type: string + - in: query + name: name__icontains + schema: + type: string + - in: query + name: name__iexact + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: providers__isnull + schema: + type: boolean + - in: query + name: providers_by_pk + schema: + type: array + items: + type: integer + explode: true + style: form + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: service_connection__name__icontains + schema: + type: string + - in: query + name: service_connection__name__iexact + schema: + type: string + tags: + - outposts + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedOutpostList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: outposts_instances_create + description: Outpost Viewset + tags: + - outposts + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OutpostRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/Outpost' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /outposts/instances/{uuid}/: + get: + operationId: outposts_instances_retrieve + description: Outpost Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Outpost. + required: true + tags: + - outposts + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Outpost' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: outposts_instances_update + description: Outpost Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Outpost. + required: true + tags: + - outposts + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OutpostRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Outpost' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: outposts_instances_partial_update + description: Outpost Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Outpost. + required: true + tags: + - outposts + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedOutpostRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Outpost' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: outposts_instances_destroy + description: Outpost Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Outpost. + required: true + tags: + - outposts + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /outposts/instances/{uuid}/health/: + get: + operationId: outposts_instances_health_list + description: Get outposts current health + parameters: + - in: query + name: managed__icontains + schema: + type: string + - in: query + name: managed__iexact + schema: + type: string + - in: query + name: name__icontains + schema: + type: string + - in: query + name: name__iexact + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - in: query + name: providers__isnull + schema: + type: boolean + - in: query + name: providers_by_pk + schema: + type: array + items: + type: integer + explode: true + style: form + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: service_connection__name__icontains + schema: + type: string + - in: query + name: service_connection__name__iexact + schema: + type: string + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Outpost. + required: true + tags: + - outposts + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OutpostHealth' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /outposts/instances/{uuid}/used_by/: + get: + operationId: outposts_instances_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Outpost. + required: true + tags: + - outposts + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /outposts/instances/default_settings/: + get: + operationId: outposts_instances_default_settings_retrieve + description: Global default outpost config + tags: + - outposts + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OutpostDefaultConfig' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /outposts/ldap/: + get: + operationId: outposts_ldap_list + description: LDAPProvider Viewset + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - outposts + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedLDAPOutpostConfigList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /outposts/ldap/{id}/check_access/: + get: + operationId: outposts_ldap_access_check + description: Check access to a single application by slug + parameters: + - in: query + name: app_slug + schema: + type: string + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this LDAP Provider. + required: true + tags: + - outposts + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/LDAPCheckAccess' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /outposts/proxy/: + get: + operationId: outposts_proxy_list + description: ProxyProvider Viewset + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - outposts + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedProxyOutpostConfigList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /outposts/radius/: + get: + operationId: outposts_radius_list + description: RadiusProvider Viewset + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - outposts + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedRadiusOutpostConfigList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /outposts/radius/{id}/check_access/: + get: + operationId: outposts_radius_access_check + description: Check access to a single application by slug + parameters: + - in: query + name: app_slug + schema: + type: string + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Radius Provider. + required: true + tags: + - outposts + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RadiusCheckAccess' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /outposts/service_connections/all/: + get: + operationId: outposts_service_connections_all_list + description: ServiceConnection Viewset + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - outposts + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedServiceConnectionList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /outposts/service_connections/all/{uuid}/: + get: + operationId: outposts_service_connections_all_retrieve + description: ServiceConnection Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Outpost Service-Connection. + required: true + tags: + - outposts + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: outposts_service_connections_all_destroy + description: ServiceConnection Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Outpost Service-Connection. + required: true + tags: + - outposts + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /outposts/service_connections/all/{uuid}/state/: + get: + operationId: outposts_service_connections_all_state_retrieve + description: Get the service connection's state + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Outpost Service-Connection. + required: true + tags: + - outposts + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceConnectionState' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /outposts/service_connections/all/{uuid}/used_by/: + get: + operationId: outposts_service_connections_all_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Outpost Service-Connection. + required: true + tags: + - outposts + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /outposts/service_connections/all/types/: + get: + operationId: outposts_service_connections_all_types_list + description: Get all creatable types + tags: + - outposts + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TypeCreate' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /outposts/service_connections/docker/: + get: + operationId: outposts_service_connections_docker_list + description: DockerServiceConnection Viewset + parameters: + - in: query + name: local + schema: + type: boolean + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: tls_authentication + schema: + type: string + format: uuid + - in: query + name: tls_verification + schema: + type: string + format: uuid + - in: query + name: url + schema: + type: string + tags: + - outposts + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedDockerServiceConnectionList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: outposts_service_connections_docker_create + description: DockerServiceConnection Viewset + tags: + - outposts + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DockerServiceConnectionRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/DockerServiceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /outposts/service_connections/docker/{uuid}/: + get: + operationId: outposts_service_connections_docker_retrieve + description: DockerServiceConnection Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Docker Service-Connection. + required: true + tags: + - outposts + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DockerServiceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: outposts_service_connections_docker_update + description: DockerServiceConnection Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Docker Service-Connection. + required: true + tags: + - outposts + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DockerServiceConnectionRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DockerServiceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: outposts_service_connections_docker_partial_update + description: DockerServiceConnection Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Docker Service-Connection. + required: true + tags: + - outposts + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedDockerServiceConnectionRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DockerServiceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: outposts_service_connections_docker_destroy + description: DockerServiceConnection Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Docker Service-Connection. + required: true + tags: + - outposts + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /outposts/service_connections/docker/{uuid}/used_by/: + get: + operationId: outposts_service_connections_docker_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Docker Service-Connection. + required: true + tags: + - outposts + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /outposts/service_connections/kubernetes/: + get: + operationId: outposts_service_connections_kubernetes_list + description: KubernetesServiceConnection Viewset + parameters: + - in: query + name: local + schema: + type: boolean + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - outposts + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedKubernetesServiceConnectionList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: outposts_service_connections_kubernetes_create + description: KubernetesServiceConnection Viewset + tags: + - outposts + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/KubernetesServiceConnectionRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/KubernetesServiceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /outposts/service_connections/kubernetes/{uuid}/: + get: + operationId: outposts_service_connections_kubernetes_retrieve + description: KubernetesServiceConnection Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Kubernetes Service-Connection. + required: true + tags: + - outposts + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/KubernetesServiceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: outposts_service_connections_kubernetes_update + description: KubernetesServiceConnection Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Kubernetes Service-Connection. + required: true + tags: + - outposts + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/KubernetesServiceConnectionRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/KubernetesServiceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: outposts_service_connections_kubernetes_partial_update + description: KubernetesServiceConnection Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Kubernetes Service-Connection. + required: true + tags: + - outposts + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedKubernetesServiceConnectionRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/KubernetesServiceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: outposts_service_connections_kubernetes_destroy + description: KubernetesServiceConnection Viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Kubernetes Service-Connection. + required: true + tags: + - outposts + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /outposts/service_connections/kubernetes/{uuid}/used_by/: + get: + operationId: outposts_service_connections_kubernetes_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Kubernetes Service-Connection. + required: true + tags: + - outposts + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/all/: + get: + operationId: policies_all_list + description: Policy Viewset + parameters: + - in: query + name: bindings__isnull + schema: + type: boolean + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: promptstage__isnull + schema: + type: boolean + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedPolicyList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/all/{policy_uuid}/: + get: + operationId: policies_all_retrieve + description: Policy Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Policy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: policies_all_destroy + description: Policy Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/all/{policy_uuid}/test/: + post: + operationId: policies_all_test_create + description: Test policy + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Policy. + required: true + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyTestRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyTestResult' + description: '' + '400': + description: Invalid parameters + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/all/{policy_uuid}/used_by/: + get: + operationId: policies_all_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/all/cache_clear/: + post: + operationId: policies_all_cache_clear_create + description: Clear policy cache + tags: + - policies + security: + - authentik: [] + responses: + '204': + description: Successfully cleared cache + '400': + description: Bad request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/all/cache_info/: + get: + operationId: policies_all_cache_info_retrieve + description: Info about cached policies + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Cache' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/all/types/: + get: + operationId: policies_all_types_list + description: Get all creatable types + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TypeCreate' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/bindings/: + get: + operationId: policies_bindings_list + description: PolicyBinding Viewset + parameters: + - in: query + name: enabled + schema: + type: boolean + - in: query + name: order + schema: + type: integer + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: policy + schema: + type: string + format: uuid + - in: query + name: policy__isnull + schema: + type: boolean + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: target + schema: + type: string + format: uuid + - in: query + name: target_in + schema: + type: array + items: + type: string + format: uuid + explode: true + style: form + - in: query + name: timeout + schema: + type: integer + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedPolicyBindingList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: policies_bindings_create + description: PolicyBinding Viewset + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyBindingRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyBinding' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/bindings/{policy_binding_uuid}/: + get: + operationId: policies_bindings_retrieve + description: PolicyBinding Viewset + parameters: + - in: path + name: policy_binding_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Policy Binding. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyBinding' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: policies_bindings_update + description: PolicyBinding Viewset + parameters: + - in: path + name: policy_binding_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Policy Binding. + required: true + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyBindingRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyBinding' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: policies_bindings_partial_update + description: PolicyBinding Viewset + parameters: + - in: path + name: policy_binding_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Policy Binding. + required: true + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedPolicyBindingRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyBinding' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: policies_bindings_destroy + description: PolicyBinding Viewset + parameters: + - in: path + name: policy_binding_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Policy Binding. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/bindings/{policy_binding_uuid}/used_by/: + get: + operationId: policies_bindings_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: policy_binding_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Policy Binding. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/dummy/: + get: + operationId: policies_dummy_list + description: Dummy Viewset + parameters: + - in: query + name: created + schema: + type: string + format: date-time + - in: query + name: execution_logging + schema: + type: boolean + - in: query + name: last_updated + schema: + type: string + format: date-time + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: policy_uuid + schema: + type: string + format: uuid + - in: query + name: result + schema: + type: boolean + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: wait_max + schema: + type: integer + - in: query + name: wait_min + schema: + type: integer + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedDummyPolicyList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: policies_dummy_create + description: Dummy Viewset + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DummyPolicyRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/DummyPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/dummy/{policy_uuid}/: + get: + operationId: policies_dummy_retrieve + description: Dummy Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Dummy Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DummyPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: policies_dummy_update + description: Dummy Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Dummy Policy. + required: true + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DummyPolicyRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DummyPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: policies_dummy_partial_update + description: Dummy Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Dummy Policy. + required: true + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedDummyPolicyRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DummyPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: policies_dummy_destroy + description: Dummy Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Dummy Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/dummy/{policy_uuid}/used_by/: + get: + operationId: policies_dummy_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Dummy Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/event_matcher/: + get: + operationId: policies_event_matcher_list + description: Event Matcher Policy Viewset + parameters: + - in: query + name: action + schema: + type: string + nullable: true + enum: + - authorize_application + - configuration_error + - custom_ + - email_sent + - flow_execution + - impersonation_ended + - impersonation_started + - invitation_used + - login + - login_failed + - logout + - model_created + - model_deleted + - model_updated + - password_set + - policy_exception + - policy_execution + - property_mapping_exception + - secret_rotate + - secret_view + - source_linked + - suspicious_request + - system_exception + - system_task_exception + - system_task_execution + - update_available + - user_write + description: |+ + Match created events with this action type. When left empty, all action types will be matched. + + - in: query + name: app + schema: + type: string + - in: query + name: client_ip + schema: + type: string + - in: query + name: created + schema: + type: string + format: date-time + - in: query + name: execution_logging + schema: + type: boolean + - in: query + name: last_updated + schema: + type: string + format: date-time + - in: query + name: model + schema: + type: string + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: policy_uuid + schema: + type: string + format: uuid + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedEventMatcherPolicyList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: policies_event_matcher_create + description: Event Matcher Policy Viewset + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EventMatcherPolicyRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/EventMatcherPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/event_matcher/{policy_uuid}/: + get: + operationId: policies_event_matcher_retrieve + description: Event Matcher Policy Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Event Matcher Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/EventMatcherPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: policies_event_matcher_update + description: Event Matcher Policy Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Event Matcher Policy. + required: true + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EventMatcherPolicyRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/EventMatcherPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: policies_event_matcher_partial_update + description: Event Matcher Policy Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Event Matcher Policy. + required: true + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedEventMatcherPolicyRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/EventMatcherPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: policies_event_matcher_destroy + description: Event Matcher Policy Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Event Matcher Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/event_matcher/{policy_uuid}/used_by/: + get: + operationId: policies_event_matcher_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Event Matcher Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/expression/: + get: + operationId: policies_expression_list + description: Source Viewset + parameters: + - in: query + name: created + schema: + type: string + format: date-time + - in: query + name: execution_logging + schema: + type: boolean + - in: query + name: expression + schema: + type: string + - in: query + name: last_updated + schema: + type: string + format: date-time + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: policy_uuid + schema: + type: string + format: uuid + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedExpressionPolicyList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: policies_expression_create + description: Source Viewset + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ExpressionPolicyRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/ExpressionPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/expression/{policy_uuid}/: + get: + operationId: policies_expression_retrieve + description: Source Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Expression Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ExpressionPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: policies_expression_update + description: Source Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Expression Policy. + required: true + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ExpressionPolicyRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ExpressionPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: policies_expression_partial_update + description: Source Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Expression Policy. + required: true + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedExpressionPolicyRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ExpressionPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: policies_expression_destroy + description: Source Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Expression Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/expression/{policy_uuid}/used_by/: + get: + operationId: policies_expression_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Expression Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/geoip/: + get: + operationId: policies_geoip_list + description: GeoIP Viewset + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedGeoIPPolicyList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: policies_geoip_create + description: GeoIP Viewset + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GeoIPPolicyRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/GeoIPPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/geoip/{policy_uuid}/: + get: + operationId: policies_geoip_retrieve + description: GeoIP Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this GeoIP Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GeoIPPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: policies_geoip_update + description: GeoIP Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this GeoIP Policy. + required: true + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GeoIPPolicyRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GeoIPPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: policies_geoip_partial_update + description: GeoIP Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this GeoIP Policy. + required: true + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedGeoIPPolicyRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GeoIPPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: policies_geoip_destroy + description: GeoIP Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this GeoIP Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/geoip/{policy_uuid}/used_by/: + get: + operationId: policies_geoip_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this GeoIP Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/geoip_iso3166/: + get: + operationId: policies_geoip_iso3166_list + description: Get all countries in ISO-3166-1 + tags: + - policies + security: + - authentik: [] + - {} + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/DetailedCountry' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/password/: + get: + operationId: policies_password_list + description: Password Policy Viewset + parameters: + - in: query + name: amount_digits + schema: + type: integer + - in: query + name: amount_lowercase + schema: + type: integer + - in: query + name: amount_symbols + schema: + type: integer + - in: query + name: amount_uppercase + schema: + type: integer + - in: query + name: check_have_i_been_pwned + schema: + type: boolean + - in: query + name: check_static_rules + schema: + type: boolean + - in: query + name: check_zxcvbn + schema: + type: boolean + - in: query + name: created + schema: + type: string + format: date-time + - in: query + name: error_message + schema: + type: string + - in: query + name: execution_logging + schema: + type: boolean + - in: query + name: hibp_allowed_count + schema: + type: integer + - in: query + name: last_updated + schema: + type: string + format: date-time + - in: query + name: length_min + schema: + type: integer + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: password_field + schema: + type: string + - in: query + name: policy_uuid + schema: + type: string + format: uuid + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: symbol_charset + schema: + type: string + - in: query + name: zxcvbn_score_threshold + schema: + type: integer + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedPasswordPolicyList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: policies_password_create + description: Password Policy Viewset + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordPolicyRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/password/{policy_uuid}/: + get: + operationId: policies_password_retrieve + description: Password Policy Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Password Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: policies_password_update + description: Password Policy Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Password Policy. + required: true + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordPolicyRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: policies_password_partial_update + description: Password Policy Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Password Policy. + required: true + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedPasswordPolicyRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: policies_password_destroy + description: Password Policy Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Password Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/password/{policy_uuid}/used_by/: + get: + operationId: policies_password_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Password Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/password_expiry/: + get: + operationId: policies_password_expiry_list + description: Password Expiry Viewset + parameters: + - in: query + name: created + schema: + type: string + format: date-time + - in: query + name: days + schema: + type: integer + - in: query + name: deny_only + schema: + type: boolean + - in: query + name: execution_logging + schema: + type: boolean + - in: query + name: last_updated + schema: + type: string + format: date-time + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: policy_uuid + schema: + type: string + format: uuid + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedPasswordExpiryPolicyList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: policies_password_expiry_create + description: Password Expiry Viewset + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordExpiryPolicyRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordExpiryPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/password_expiry/{policy_uuid}/: + get: + operationId: policies_password_expiry_retrieve + description: Password Expiry Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Password Expiry Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordExpiryPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: policies_password_expiry_update + description: Password Expiry Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Password Expiry Policy. + required: true + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordExpiryPolicyRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordExpiryPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: policies_password_expiry_partial_update + description: Password Expiry Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Password Expiry Policy. + required: true + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedPasswordExpiryPolicyRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordExpiryPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: policies_password_expiry_destroy + description: Password Expiry Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Password Expiry Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/password_expiry/{policy_uuid}/used_by/: + get: + operationId: policies_password_expiry_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Password Expiry Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/reputation/: + get: + operationId: policies_reputation_list + description: Reputation Policy Viewset + parameters: + - in: query + name: check_ip + schema: + type: boolean + - in: query + name: check_username + schema: + type: boolean + - in: query + name: created + schema: + type: string + format: date-time + - in: query + name: execution_logging + schema: + type: boolean + - in: query + name: last_updated + schema: + type: string + format: date-time + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: policy_uuid + schema: + type: string + format: uuid + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: threshold + schema: + type: integer + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedReputationPolicyList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: policies_reputation_create + description: Reputation Policy Viewset + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ReputationPolicyRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/ReputationPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/reputation/{policy_uuid}/: + get: + operationId: policies_reputation_retrieve + description: Reputation Policy Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Reputation Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ReputationPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: policies_reputation_update + description: Reputation Policy Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Reputation Policy. + required: true + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ReputationPolicyRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ReputationPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: policies_reputation_partial_update + description: Reputation Policy Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Reputation Policy. + required: true + tags: + - policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedReputationPolicyRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ReputationPolicy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: policies_reputation_destroy + description: Reputation Policy Viewset + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Reputation Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/reputation/{policy_uuid}/used_by/: + get: + operationId: policies_reputation_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: policy_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Reputation Policy. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/reputation/scores/: + get: + operationId: policies_reputation_scores_list + description: Reputation Viewset + parameters: + - in: query + name: identifier + schema: + type: string + - in: query + name: identifier_in + schema: + type: array + items: + type: string + description: Multiple values may be separated by commas. + explode: false + style: form + - in: query + name: ip + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: score + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedReputationList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/reputation/scores/{reputation_uuid}/: + get: + operationId: policies_reputation_scores_retrieve + description: Reputation Viewset + parameters: + - in: path + name: reputation_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Reputation Score. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Reputation' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: policies_reputation_scores_destroy + description: Reputation Viewset + parameters: + - in: path + name: reputation_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Reputation Score. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /policies/reputation/scores/{reputation_uuid}/used_by/: + get: + operationId: policies_reputation_scores_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: reputation_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Reputation Score. + required: true + tags: + - policies + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/all/: + get: + operationId: propertymappings_all_list + description: PropertyMapping Viewset + parameters: + - in: query + name: managed + schema: + type: array + items: + type: string + explode: true + style: form + - in: query + name: managed__isnull + schema: + type: boolean + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedPropertyMappingList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/all/{pm_uuid}/: + get: + operationId: propertymappings_all_retrieve + description: PropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: propertymappings_all_destroy + description: PropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/all/{pm_uuid}/test/: + post: + operationId: propertymappings_all_test_create + description: Test Property Mapping + parameters: + - in: query + name: format_result + schema: + type: boolean + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Property Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyMappingTestRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyMappingTestResult' + description: '' + '400': + description: Invalid parameters + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/all/{pm_uuid}/used_by/: + get: + operationId: propertymappings_all_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/all/types/: + get: + operationId: propertymappings_all_types_list + description: Get all creatable types + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TypeCreate' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/notification/: + get: + operationId: propertymappings_notification_list + description: NotificationWebhookMapping Viewset + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedNotificationWebhookMappingList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: propertymappings_notification_create + description: NotificationWebhookMapping Viewset + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationWebhookMappingRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationWebhookMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/notification/{pm_uuid}/: + get: + operationId: propertymappings_notification_retrieve + description: NotificationWebhookMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Webhook Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationWebhookMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: propertymappings_notification_update + description: NotificationWebhookMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Webhook Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationWebhookMappingRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationWebhookMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: propertymappings_notification_partial_update + description: NotificationWebhookMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Webhook Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedNotificationWebhookMappingRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationWebhookMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: propertymappings_notification_destroy + description: NotificationWebhookMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Webhook Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/notification/{pm_uuid}/used_by/: + get: + operationId: propertymappings_notification_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Webhook Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/provider/google_workspace/: + get: + operationId: propertymappings_provider_google_workspace_list + description: GoogleWorkspaceProviderMapping Viewset + parameters: + - in: query + name: expression + schema: + type: string + - in: query + name: managed + schema: + type: array + items: + type: string + explode: true + style: form + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: pm_uuid + schema: + type: string + format: uuid + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedGoogleWorkspaceProviderMappingList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: propertymappings_provider_google_workspace_create + description: GoogleWorkspaceProviderMapping Viewset + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleWorkspaceProviderMappingRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleWorkspaceProviderMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/provider/google_workspace/{pm_uuid}/: + get: + operationId: propertymappings_provider_google_workspace_retrieve + description: GoogleWorkspaceProviderMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Google Workspace Provider Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleWorkspaceProviderMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: propertymappings_provider_google_workspace_update + description: GoogleWorkspaceProviderMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Google Workspace Provider Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleWorkspaceProviderMappingRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleWorkspaceProviderMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: propertymappings_provider_google_workspace_partial_update + description: GoogleWorkspaceProviderMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Google Workspace Provider Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedGoogleWorkspaceProviderMappingRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleWorkspaceProviderMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: propertymappings_provider_google_workspace_destroy + description: GoogleWorkspaceProviderMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Google Workspace Provider Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/provider/google_workspace/{pm_uuid}/used_by/: + get: + operationId: propertymappings_provider_google_workspace_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Google Workspace Provider Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/provider/microsoft_entra/: + get: + operationId: propertymappings_provider_microsoft_entra_list + description: MicrosoftEntraProviderMapping Viewset + parameters: + - in: query + name: expression + schema: + type: string + - in: query + name: managed + schema: + type: array + items: + type: string + explode: true + style: form + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: pm_uuid + schema: + type: string + format: uuid + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedMicrosoftEntraProviderMappingList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: propertymappings_provider_microsoft_entra_create + description: MicrosoftEntraProviderMapping Viewset + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MicrosoftEntraProviderMappingRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/MicrosoftEntraProviderMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/provider/microsoft_entra/{pm_uuid}/: + get: + operationId: propertymappings_provider_microsoft_entra_retrieve + description: MicrosoftEntraProviderMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Microsoft Entra Provider Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/MicrosoftEntraProviderMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: propertymappings_provider_microsoft_entra_update + description: MicrosoftEntraProviderMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Microsoft Entra Provider Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MicrosoftEntraProviderMappingRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/MicrosoftEntraProviderMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: propertymappings_provider_microsoft_entra_partial_update + description: MicrosoftEntraProviderMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Microsoft Entra Provider Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedMicrosoftEntraProviderMappingRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/MicrosoftEntraProviderMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: propertymappings_provider_microsoft_entra_destroy + description: MicrosoftEntraProviderMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Microsoft Entra Provider Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/provider/microsoft_entra/{pm_uuid}/used_by/: + get: + operationId: propertymappings_provider_microsoft_entra_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Microsoft Entra Provider Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/provider/rac/: + get: + operationId: propertymappings_provider_rac_list + description: RACPropertyMapping Viewset + parameters: + - in: query + name: managed + schema: + type: array + items: + type: string + explode: true + style: form + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedRACPropertyMappingList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: propertymappings_provider_rac_create + description: RACPropertyMapping Viewset + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RACPropertyMappingRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/RACPropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/provider/rac/{pm_uuid}/: + get: + operationId: propertymappings_provider_rac_retrieve + description: RACPropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this RAC Provider Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RACPropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: propertymappings_provider_rac_update + description: RACPropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this RAC Provider Property Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RACPropertyMappingRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RACPropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: propertymappings_provider_rac_partial_update + description: RACPropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this RAC Provider Property Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedRACPropertyMappingRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RACPropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: propertymappings_provider_rac_destroy + description: RACPropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this RAC Provider Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/provider/rac/{pm_uuid}/used_by/: + get: + operationId: propertymappings_provider_rac_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this RAC Provider Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/provider/radius/: + get: + operationId: propertymappings_provider_radius_list + description: RadiusProviderPropertyMapping Viewset + parameters: + - in: query + name: managed + schema: + type: array + items: + type: string + explode: true + style: form + - in: query + name: managed__isnull + schema: + type: boolean + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedRadiusProviderPropertyMappingList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: propertymappings_provider_radius_create + description: RadiusProviderPropertyMapping Viewset + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RadiusProviderPropertyMappingRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/RadiusProviderPropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/provider/radius/{pm_uuid}/: + get: + operationId: propertymappings_provider_radius_retrieve + description: RadiusProviderPropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Radius Provider Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RadiusProviderPropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: propertymappings_provider_radius_update + description: RadiusProviderPropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Radius Provider Property Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RadiusProviderPropertyMappingRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RadiusProviderPropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: propertymappings_provider_radius_partial_update + description: RadiusProviderPropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Radius Provider Property Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedRadiusProviderPropertyMappingRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RadiusProviderPropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: propertymappings_provider_radius_destroy + description: RadiusProviderPropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Radius Provider Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/provider/radius/{pm_uuid}/used_by/: + get: + operationId: propertymappings_provider_radius_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Radius Provider Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/provider/saml/: + get: + operationId: propertymappings_provider_saml_list + description: SAMLPropertyMapping Viewset + parameters: + - in: query + name: friendly_name + schema: + type: string + - in: query + name: managed + schema: + type: array + items: + type: string + explode: true + style: form + - in: query + name: managed__isnull + schema: + type: boolean + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: saml_name + schema: + type: string + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSAMLPropertyMappingList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: propertymappings_provider_saml_create + description: SAMLPropertyMapping Viewset + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLPropertyMappingRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLPropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/provider/saml/{pm_uuid}/: + get: + operationId: propertymappings_provider_saml_retrieve + description: SAMLPropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SAML Provider Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLPropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: propertymappings_provider_saml_update + description: SAMLPropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SAML Provider Property Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLPropertyMappingRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLPropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: propertymappings_provider_saml_partial_update + description: SAMLPropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SAML Provider Property Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedSAMLPropertyMappingRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLPropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: propertymappings_provider_saml_destroy + description: SAMLPropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SAML Provider Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/provider/saml/{pm_uuid}/used_by/: + get: + operationId: propertymappings_provider_saml_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SAML Provider Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/provider/scim/: + get: + operationId: propertymappings_provider_scim_list + description: SCIMMapping Viewset + parameters: + - in: query + name: managed + schema: + type: array + items: + type: string + explode: true + style: form + - in: query + name: managed__isnull + schema: + type: boolean + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSCIMMappingList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: propertymappings_provider_scim_create + description: SCIMMapping Viewset + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMMappingRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/provider/scim/{pm_uuid}/: + get: + operationId: propertymappings_provider_scim_retrieve + description: SCIMMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SCIM Provider Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: propertymappings_provider_scim_update + description: SCIMMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SCIM Provider Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMMappingRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: propertymappings_provider_scim_partial_update + description: SCIMMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SCIM Provider Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedSCIMMappingRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: propertymappings_provider_scim_destroy + description: SCIMMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SCIM Provider Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/provider/scim/{pm_uuid}/used_by/: + get: + operationId: propertymappings_provider_scim_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SCIM Provider Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/provider/scope/: + get: + operationId: propertymappings_provider_scope_list + description: ScopeMapping Viewset + parameters: + - in: query + name: managed + schema: + type: array + items: + type: string + explode: true + style: form + - in: query + name: managed__isnull + schema: + type: boolean + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: scope_name + schema: + type: string + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedScopeMappingList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: propertymappings_provider_scope_create + description: ScopeMapping Viewset + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScopeMappingRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/ScopeMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/provider/scope/{pm_uuid}/: + get: + operationId: propertymappings_provider_scope_retrieve + description: ScopeMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Scope Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ScopeMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: propertymappings_provider_scope_update + description: ScopeMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Scope Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScopeMappingRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ScopeMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: propertymappings_provider_scope_partial_update + description: ScopeMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Scope Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedScopeMappingRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ScopeMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: propertymappings_provider_scope_destroy + description: ScopeMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Scope Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/provider/scope/{pm_uuid}/used_by/: + get: + operationId: propertymappings_provider_scope_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Scope Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/source/ldap/: + get: + operationId: propertymappings_source_ldap_list + description: LDAP PropertyMapping Viewset + parameters: + - in: query + name: managed + schema: + type: array + items: + type: string + explode: true + style: form + - in: query + name: managed__isnull + schema: + type: boolean + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedLDAPSourcePropertyMappingList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: propertymappings_source_ldap_create + description: LDAP PropertyMapping Viewset + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LDAPSourcePropertyMappingRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/LDAPSourcePropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/source/ldap/{pm_uuid}/: + get: + operationId: propertymappings_source_ldap_retrieve + description: LDAP PropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this LDAP Source Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/LDAPSourcePropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: propertymappings_source_ldap_update + description: LDAP PropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this LDAP Source Property Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LDAPSourcePropertyMappingRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/LDAPSourcePropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: propertymappings_source_ldap_partial_update + description: LDAP PropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this LDAP Source Property Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedLDAPSourcePropertyMappingRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/LDAPSourcePropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: propertymappings_source_ldap_destroy + description: LDAP PropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this LDAP Source Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/source/ldap/{pm_uuid}/used_by/: + get: + operationId: propertymappings_source_ldap_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this LDAP Source Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/source/oauth/: + get: + operationId: propertymappings_source_oauth_list + description: OAuthSourcePropertyMapping Viewset + parameters: + - in: query + name: managed + schema: + type: array + items: + type: string + explode: true + style: form + - in: query + name: managed__isnull + schema: + type: boolean + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedOAuthSourcePropertyMappingList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: propertymappings_source_oauth_create + description: OAuthSourcePropertyMapping Viewset + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthSourcePropertyMappingRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthSourcePropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/source/oauth/{pm_uuid}/: + get: + operationId: propertymappings_source_oauth_retrieve + description: OAuthSourcePropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this OAuth Source Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthSourcePropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: propertymappings_source_oauth_update + description: OAuthSourcePropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this OAuth Source Property Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthSourcePropertyMappingRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthSourcePropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: propertymappings_source_oauth_partial_update + description: OAuthSourcePropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this OAuth Source Property Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedOAuthSourcePropertyMappingRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthSourcePropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: propertymappings_source_oauth_destroy + description: OAuthSourcePropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this OAuth Source Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/source/oauth/{pm_uuid}/used_by/: + get: + operationId: propertymappings_source_oauth_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this OAuth Source Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/source/plex/: + get: + operationId: propertymappings_source_plex_list + description: PlexSourcePropertyMapping Viewset + parameters: + - in: query + name: managed + schema: + type: array + items: + type: string + explode: true + style: form + - in: query + name: managed__isnull + schema: + type: boolean + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedPlexSourcePropertyMappingList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: propertymappings_source_plex_create + description: PlexSourcePropertyMapping Viewset + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlexSourcePropertyMappingRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/PlexSourcePropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/source/plex/{pm_uuid}/: + get: + operationId: propertymappings_source_plex_retrieve + description: PlexSourcePropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Plex Source Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PlexSourcePropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: propertymappings_source_plex_update + description: PlexSourcePropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Plex Source Property Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlexSourcePropertyMappingRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PlexSourcePropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: propertymappings_source_plex_partial_update + description: PlexSourcePropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Plex Source Property Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedPlexSourcePropertyMappingRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PlexSourcePropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: propertymappings_source_plex_destroy + description: PlexSourcePropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Plex Source Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/source/plex/{pm_uuid}/used_by/: + get: + operationId: propertymappings_source_plex_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Plex Source Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/source/saml/: + get: + operationId: propertymappings_source_saml_list + description: SAMLSourcePropertyMapping Viewset + parameters: + - in: query + name: managed + schema: + type: array + items: + type: string + explode: true + style: form + - in: query + name: managed__isnull + schema: + type: boolean + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSAMLSourcePropertyMappingList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: propertymappings_source_saml_create + description: SAMLSourcePropertyMapping Viewset + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLSourcePropertyMappingRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLSourcePropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/source/saml/{pm_uuid}/: + get: + operationId: propertymappings_source_saml_retrieve + description: SAMLSourcePropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SAML Source Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLSourcePropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: propertymappings_source_saml_update + description: SAMLSourcePropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SAML Source Property Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLSourcePropertyMappingRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLSourcePropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: propertymappings_source_saml_partial_update + description: SAMLSourcePropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SAML Source Property Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedSAMLSourcePropertyMappingRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLSourcePropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: propertymappings_source_saml_destroy + description: SAMLSourcePropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SAML Source Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/source/saml/{pm_uuid}/used_by/: + get: + operationId: propertymappings_source_saml_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SAML Source Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/source/scim/: + get: + operationId: propertymappings_source_scim_list + description: SCIMSourcePropertyMapping Viewset + parameters: + - in: query + name: managed + schema: + type: array + items: + type: string + explode: true + style: form + - in: query + name: managed__isnull + schema: + type: boolean + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSCIMSourcePropertyMappingList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: propertymappings_source_scim_create + description: SCIMSourcePropertyMapping Viewset + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSourcePropertyMappingRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSourcePropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/source/scim/{pm_uuid}/: + get: + operationId: propertymappings_source_scim_retrieve + description: SCIMSourcePropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SCIM Source Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSourcePropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: propertymappings_source_scim_update + description: SCIMSourcePropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SCIM Source Property Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSourcePropertyMappingRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSourcePropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: propertymappings_source_scim_partial_update + description: SCIMSourcePropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SCIM Source Property Mapping. + required: true + tags: + - propertymappings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedSCIMSourcePropertyMappingRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSourcePropertyMapping' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: propertymappings_source_scim_destroy + description: SCIMSourcePropertyMapping Viewset + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SCIM Source Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /propertymappings/source/scim/{pm_uuid}/used_by/: + get: + operationId: propertymappings_source_scim_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: pm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SCIM Source Property Mapping. + required: true + tags: + - propertymappings + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/all/: + get: + operationId: providers_all_list + description: Provider Viewset + parameters: + - in: query + name: application__isnull + schema: + type: boolean + - in: query + name: backchannel + schema: + type: boolean + description: When not set all providers are returned. When set to true, only + backchannel providers are returned. When set to false, backchannel providers + are excluded + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedProviderList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/all/{id}/: + get: + operationId: providers_all_retrieve + description: Provider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Provider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: providers_all_destroy + description: Provider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/all/{id}/used_by/: + get: + operationId: providers_all_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/all/types/: + get: + operationId: providers_all_types_list + description: Get all creatable types + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TypeCreate' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/google_workspace/: + get: + operationId: providers_google_workspace_list + description: GoogleWorkspaceProvider Viewset + parameters: + - in: query + name: delegated_subject + schema: + type: string + - in: query + name: exclude_users_service_account + schema: + type: boolean + - in: query + name: filter_group + schema: + type: string + format: uuid + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedGoogleWorkspaceProviderList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: providers_google_workspace_create + description: GoogleWorkspaceProvider Viewset + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleWorkspaceProviderRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleWorkspaceProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/google_workspace/{id}/: + get: + operationId: providers_google_workspace_retrieve + description: GoogleWorkspaceProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Google Workspace Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleWorkspaceProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: providers_google_workspace_update + description: GoogleWorkspaceProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Google Workspace Provider. + required: true + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleWorkspaceProviderRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleWorkspaceProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: providers_google_workspace_partial_update + description: GoogleWorkspaceProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Google Workspace Provider. + required: true + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedGoogleWorkspaceProviderRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleWorkspaceProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: providers_google_workspace_destroy + description: GoogleWorkspaceProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Google Workspace Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/google_workspace/{id}/sync/object/: + post: + operationId: providers_google_workspace_sync_object_create + description: Sync/Re-sync a single user/group object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Google Workspace Provider. + required: true + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SyncObjectRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SyncObjectResult' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/google_workspace/{id}/sync/status/: + get: + operationId: providers_google_workspace_sync_status_retrieve + description: Get provider's sync status + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Google Workspace Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SyncStatus' + description: '' + '404': + description: Task not found + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/google_workspace/{id}/used_by/: + get: + operationId: providers_google_workspace_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Google Workspace Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/google_workspace_groups/: + get: + operationId: providers_google_workspace_groups_list + description: GoogleWorkspaceProviderGroup Viewset + parameters: + - in: query + name: group__group_uuid + schema: + type: string + format: uuid + - in: query + name: group__name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: provider__id + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedGoogleWorkspaceProviderGroupList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: providers_google_workspace_groups_create + description: GoogleWorkspaceProviderGroup Viewset + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleWorkspaceProviderGroupRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleWorkspaceProviderGroup' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/google_workspace_groups/{id}/: + get: + operationId: providers_google_workspace_groups_retrieve + description: GoogleWorkspaceProviderGroup Viewset + parameters: + - in: path + name: id + schema: + type: string + format: uuid + description: A UUID string identifying this Google Workspace Provider Group. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleWorkspaceProviderGroup' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: providers_google_workspace_groups_destroy + description: GoogleWorkspaceProviderGroup Viewset + parameters: + - in: path + name: id + schema: + type: string + format: uuid + description: A UUID string identifying this Google Workspace Provider Group. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/google_workspace_groups/{id}/used_by/: + get: + operationId: providers_google_workspace_groups_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: string + format: uuid + description: A UUID string identifying this Google Workspace Provider Group. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/google_workspace_users/: + get: + operationId: providers_google_workspace_users_list + description: GoogleWorkspaceProviderUser Viewset + parameters: + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: provider__id + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: user__id + schema: + type: integer + - in: query + name: user__username + schema: + type: string + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedGoogleWorkspaceProviderUserList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: providers_google_workspace_users_create + description: GoogleWorkspaceProviderUser Viewset + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleWorkspaceProviderUserRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleWorkspaceProviderUser' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/google_workspace_users/{id}/: + get: + operationId: providers_google_workspace_users_retrieve + description: GoogleWorkspaceProviderUser Viewset + parameters: + - in: path + name: id + schema: + type: string + format: uuid + description: A UUID string identifying this Google Workspace Provider User. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleWorkspaceProviderUser' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: providers_google_workspace_users_destroy + description: GoogleWorkspaceProviderUser Viewset + parameters: + - in: path + name: id + schema: + type: string + format: uuid + description: A UUID string identifying this Google Workspace Provider User. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/google_workspace_users/{id}/used_by/: + get: + operationId: providers_google_workspace_users_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: string + format: uuid + description: A UUID string identifying this Google Workspace Provider User. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/ldap/: + get: + operationId: providers_ldap_list + description: LDAPProvider Viewset + parameters: + - in: query + name: application__isnull + schema: + type: boolean + - in: query + name: authorization_flow__slug__iexact + schema: + type: string + - in: query + name: base_dn__iexact + schema: + type: string + - in: query + name: certificate__kp_uuid__iexact + schema: + type: string + format: uuid + - in: query + name: certificate__name__iexact + schema: + type: string + - in: query + name: gid_start_number__iexact + schema: + type: integer + - in: query + name: name__iexact + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: tls_server_name__iexact + schema: + type: string + - in: query + name: uid_start_number__iexact + schema: + type: integer + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedLDAPProviderList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: providers_ldap_create + description: LDAPProvider Viewset + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LDAPProviderRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/LDAPProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/ldap/{id}/: + get: + operationId: providers_ldap_retrieve + description: LDAPProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this LDAP Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/LDAPProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: providers_ldap_update + description: LDAPProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this LDAP Provider. + required: true + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LDAPProviderRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/LDAPProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: providers_ldap_partial_update + description: LDAPProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this LDAP Provider. + required: true + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedLDAPProviderRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/LDAPProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: providers_ldap_destroy + description: LDAPProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this LDAP Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/ldap/{id}/used_by/: + get: + operationId: providers_ldap_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this LDAP Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/microsoft_entra/: + get: + operationId: providers_microsoft_entra_list + description: MicrosoftEntraProvider Viewset + parameters: + - in: query + name: exclude_users_service_account + schema: + type: boolean + - in: query + name: filter_group + schema: + type: string + format: uuid + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedMicrosoftEntraProviderList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: providers_microsoft_entra_create + description: MicrosoftEntraProvider Viewset + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MicrosoftEntraProviderRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/MicrosoftEntraProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/microsoft_entra/{id}/: + get: + operationId: providers_microsoft_entra_retrieve + description: MicrosoftEntraProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Microsoft Entra Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/MicrosoftEntraProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: providers_microsoft_entra_update + description: MicrosoftEntraProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Microsoft Entra Provider. + required: true + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MicrosoftEntraProviderRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/MicrosoftEntraProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: providers_microsoft_entra_partial_update + description: MicrosoftEntraProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Microsoft Entra Provider. + required: true + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedMicrosoftEntraProviderRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/MicrosoftEntraProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: providers_microsoft_entra_destroy + description: MicrosoftEntraProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Microsoft Entra Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/microsoft_entra/{id}/sync/object/: + post: + operationId: providers_microsoft_entra_sync_object_create + description: Sync/Re-sync a single user/group object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Microsoft Entra Provider. + required: true + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SyncObjectRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SyncObjectResult' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/microsoft_entra/{id}/sync/status/: + get: + operationId: providers_microsoft_entra_sync_status_retrieve + description: Get provider's sync status + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Microsoft Entra Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SyncStatus' + description: '' + '404': + description: Task not found + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/microsoft_entra/{id}/used_by/: + get: + operationId: providers_microsoft_entra_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Microsoft Entra Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/microsoft_entra_groups/: + get: + operationId: providers_microsoft_entra_groups_list + description: MicrosoftEntraProviderGroup Viewset + parameters: + - in: query + name: group__group_uuid + schema: + type: string + format: uuid + - in: query + name: group__name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: provider__id + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedMicrosoftEntraProviderGroupList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: providers_microsoft_entra_groups_create + description: MicrosoftEntraProviderGroup Viewset + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MicrosoftEntraProviderGroupRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/MicrosoftEntraProviderGroup' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/microsoft_entra_groups/{id}/: + get: + operationId: providers_microsoft_entra_groups_retrieve + description: MicrosoftEntraProviderGroup Viewset + parameters: + - in: path + name: id + schema: + type: string + format: uuid + description: A UUID string identifying this Microsoft Entra Provider Group. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/MicrosoftEntraProviderGroup' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: providers_microsoft_entra_groups_destroy + description: MicrosoftEntraProviderGroup Viewset + parameters: + - in: path + name: id + schema: + type: string + format: uuid + description: A UUID string identifying this Microsoft Entra Provider Group. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/microsoft_entra_groups/{id}/used_by/: + get: + operationId: providers_microsoft_entra_groups_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: string + format: uuid + description: A UUID string identifying this Microsoft Entra Provider Group. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/microsoft_entra_users/: + get: + operationId: providers_microsoft_entra_users_list + description: MicrosoftEntraProviderUser Viewset + parameters: + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: provider__id + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: user__id + schema: + type: integer + - in: query + name: user__username + schema: + type: string + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedMicrosoftEntraProviderUserList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: providers_microsoft_entra_users_create + description: MicrosoftEntraProviderUser Viewset + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MicrosoftEntraProviderUserRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/MicrosoftEntraProviderUser' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/microsoft_entra_users/{id}/: + get: + operationId: providers_microsoft_entra_users_retrieve + description: MicrosoftEntraProviderUser Viewset + parameters: + - in: path + name: id + schema: + type: string + format: uuid + description: A UUID string identifying this Microsoft Entra Provider User. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/MicrosoftEntraProviderUser' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: providers_microsoft_entra_users_destroy + description: MicrosoftEntraProviderUser Viewset + parameters: + - in: path + name: id + schema: + type: string + format: uuid + description: A UUID string identifying this Microsoft Entra Provider User. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/microsoft_entra_users/{id}/used_by/: + get: + operationId: providers_microsoft_entra_users_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: string + format: uuid + description: A UUID string identifying this Microsoft Entra Provider User. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/oauth2/: + get: + operationId: providers_oauth2_list + description: OAuth2Provider Viewset + parameters: + - in: query + name: access_code_validity + schema: + type: string + - in: query + name: access_token_validity + schema: + type: string + - in: query + name: application + schema: + type: string + format: uuid + - in: query + name: authorization_flow + schema: + type: string + format: uuid + - in: query + name: client_id + schema: + type: string + - in: query + name: client_type + schema: + type: string + enum: + - confidential + - public + description: |+ + Confidential clients are capable of maintaining the confidentiality of their credentials. Public clients are incapable + + - in: query + name: include_claims_in_id_token + schema: + type: boolean + - in: query + name: issuer_mode + schema: + type: string + enum: + - global + - per_provider + description: |+ + Configure how the issuer field of the ID Token should be filled. + + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: property_mappings + schema: + type: array + items: + type: string + format: uuid + explode: true + style: form + - in: query + name: redirect_uris + schema: + type: string + - in: query + name: refresh_token_validity + schema: + type: string + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: signing_key + schema: + type: string + format: uuid + - in: query + name: sub_mode + schema: + type: string + enum: + - hashed_user_id + - user_email + - user_id + - user_upn + - user_username + - user_uuid + description: |+ + Configure what data should be used as unique User Identifier. For most cases, the default should be fine. + + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedOAuth2ProviderList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: providers_oauth2_create + description: OAuth2Provider Viewset + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OAuth2ProviderRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/OAuth2Provider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/oauth2/{id}/: + get: + operationId: providers_oauth2_retrieve + description: OAuth2Provider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this OAuth2/OpenID Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OAuth2Provider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: providers_oauth2_update + description: OAuth2Provider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this OAuth2/OpenID Provider. + required: true + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OAuth2ProviderRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OAuth2Provider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: providers_oauth2_partial_update + description: OAuth2Provider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this OAuth2/OpenID Provider. + required: true + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedOAuth2ProviderRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OAuth2Provider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: providers_oauth2_destroy + description: OAuth2Provider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this OAuth2/OpenID Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/oauth2/{id}/preview_user/: + get: + operationId: providers_oauth2_preview_user_retrieve + description: Preview user data for provider + parameters: + - in: query + name: for_user + schema: + type: integer + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this OAuth2/OpenID Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyMappingPreview' + description: '' + '400': + description: Bad request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/oauth2/{id}/setup_urls/: + get: + operationId: providers_oauth2_setup_urls_retrieve + description: Get Providers setup URLs + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this OAuth2/OpenID Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OAuth2ProviderSetupURLs' + description: '' + '404': + description: Provider has no application assigned + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/oauth2/{id}/used_by/: + get: + operationId: providers_oauth2_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this OAuth2/OpenID Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/proxy/: + get: + operationId: providers_proxy_list + description: ProxyProvider Viewset + parameters: + - in: query + name: application__isnull + schema: + type: boolean + - in: query + name: authorization_flow__slug__iexact + schema: + type: string + - in: query + name: basic_auth_enabled__iexact + schema: + type: boolean + - in: query + name: basic_auth_password_attribute__iexact + schema: + type: string + - in: query + name: basic_auth_user_attribute__iexact + schema: + type: string + - in: query + name: certificate__kp_uuid__iexact + schema: + type: string + format: uuid + - in: query + name: certificate__name__iexact + schema: + type: string + - in: query + name: cookie_domain__iexact + schema: + type: string + - in: query + name: external_host__iexact + schema: + type: string + - in: query + name: internal_host__iexact + schema: + type: string + - in: query + name: internal_host_ssl_validation__iexact + schema: + type: boolean + - in: query + name: mode__iexact + schema: + type: string + - in: query + name: name__iexact + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: property_mappings__iexact + schema: + type: array + items: + type: string + format: uuid + explode: true + style: form + - in: query + name: redirect_uris__iexact + schema: + type: string + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: skip_path_regex__iexact + schema: + type: string + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedProxyProviderList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: providers_proxy_create + description: ProxyProvider Viewset + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProxyProviderRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/ProxyProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/proxy/{id}/: + get: + operationId: providers_proxy_retrieve + description: ProxyProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Proxy Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ProxyProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: providers_proxy_update + description: ProxyProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Proxy Provider. + required: true + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProxyProviderRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ProxyProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: providers_proxy_partial_update + description: ProxyProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Proxy Provider. + required: true + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedProxyProviderRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ProxyProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: providers_proxy_destroy + description: ProxyProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Proxy Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/proxy/{id}/used_by/: + get: + operationId: providers_proxy_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Proxy Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/rac/: + get: + operationId: providers_rac_list + description: RACProvider Viewset + parameters: + - in: query + name: application__isnull + schema: + type: boolean + - in: query + name: name__iexact + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedRACProviderList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: providers_rac_create + description: RACProvider Viewset + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RACProviderRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/RACProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/rac/{id}/: + get: + operationId: providers_rac_retrieve + description: RACProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this RAC Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RACProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: providers_rac_update + description: RACProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this RAC Provider. + required: true + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RACProviderRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RACProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: providers_rac_partial_update + description: RACProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this RAC Provider. + required: true + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedRACProviderRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RACProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: providers_rac_destroy + description: RACProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this RAC Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/rac/{id}/used_by/: + get: + operationId: providers_rac_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this RAC Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/radius/: + get: + operationId: providers_radius_list + description: RadiusProvider Viewset + parameters: + - in: query + name: application__isnull + schema: + type: boolean + - in: query + name: authorization_flow__slug__iexact + schema: + type: string + - in: query + name: client_networks__iexact + schema: + type: string + - in: query + name: name__iexact + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedRadiusProviderList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: providers_radius_create + description: RadiusProvider Viewset + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RadiusProviderRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/RadiusProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/radius/{id}/: + get: + operationId: providers_radius_retrieve + description: RadiusProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Radius Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RadiusProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: providers_radius_update + description: RadiusProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Radius Provider. + required: true + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RadiusProviderRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RadiusProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: providers_radius_partial_update + description: RadiusProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Radius Provider. + required: true + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedRadiusProviderRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RadiusProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: providers_radius_destroy + description: RadiusProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Radius Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/radius/{id}/used_by/: + get: + operationId: providers_radius_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Radius Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/saml/: + get: + operationId: providers_saml_list + description: SAMLProvider Viewset + parameters: + - in: query + name: acs_url + schema: + type: string + - in: query + name: assertion_valid_not_before + schema: + type: string + - in: query + name: assertion_valid_not_on_or_after + schema: + type: string + - in: query + name: audience + schema: + type: string + - in: query + name: authentication_flow + schema: + type: string + format: uuid + - in: query + name: authorization_flow + schema: + type: string + format: uuid + - in: query + name: backchannel_application + schema: + type: string + format: uuid + - in: query + name: default_relay_state + schema: + type: string + - in: query + name: digest_algorithm + schema: + type: string + enum: + - http://www.w3.org/2000/09/xmldsig#sha1 + - http://www.w3.org/2001/04/xmldsig-more#sha384 + - http://www.w3.org/2001/04/xmlenc#sha256 + - http://www.w3.org/2001/04/xmlenc#sha512 + - in: query + name: encryption_kp + schema: + type: string + format: uuid + - in: query + name: is_backchannel + schema: + type: boolean + - in: query + name: issuer + schema: + type: string + - in: query + name: name + schema: + type: string + - in: query + name: name_id_mapping + schema: + type: string + format: uuid + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: property_mappings + schema: + type: array + items: + type: string + format: uuid + explode: true + style: form + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: session_valid_not_on_or_after + schema: + type: string + - in: query + name: sign_assertion + schema: + type: boolean + - in: query + name: sign_response + schema: + type: boolean + - in: query + name: signature_algorithm + schema: + type: string + enum: + - http://www.w3.org/2000/09/xmldsig#dsa-sha1 + - http://www.w3.org/2000/09/xmldsig#rsa-sha1 + - http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1 + - http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256 + - http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha384 + - http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512 + - http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 + - http://www.w3.org/2001/04/xmldsig-more#rsa-sha384 + - http://www.w3.org/2001/04/xmldsig-more#rsa-sha512 + - in: query + name: signing_kp + schema: + type: string + format: uuid + - in: query + name: sp_binding + schema: + type: string + title: Service Provider Binding + enum: + - post + - redirect + description: |+ + This determines how authentik sends the response back to the Service Provider. + + - in: query + name: verification_kp + schema: + type: string + format: uuid + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSAMLProviderList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: providers_saml_create + description: SAMLProvider Viewset + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLProviderRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/saml/{id}/: + get: + operationId: providers_saml_retrieve + description: SAMLProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this SAML Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: providers_saml_update + description: SAMLProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this SAML Provider. + required: true + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLProviderRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: providers_saml_partial_update + description: SAMLProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this SAML Provider. + required: true + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedSAMLProviderRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: providers_saml_destroy + description: SAMLProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this SAML Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/saml/{id}/metadata/: + get: + operationId: providers_saml_metadata_retrieve + description: Return metadata as XML string + parameters: + - in: query + name: download + schema: + type: boolean + - in: query + name: force_binding + schema: + type: string + enum: + - urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST + - urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect + description: Optionally force the metadata to only include one binding. + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this SAML Provider. + required: true + tags: + - providers + security: + - authentik: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLMetadata' + description: '' + '404': + description: Provider has no application assigned + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/saml/{id}/preview_user/: + get: + operationId: providers_saml_preview_user_retrieve + description: Preview user data for provider + parameters: + - in: query + name: for_user + schema: + type: integer + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this SAML Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyMappingPreview' + description: '' + '400': + description: Bad request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/saml/{id}/used_by/: + get: + operationId: providers_saml_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this SAML Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/saml/import_metadata/: + post: + operationId: providers_saml_import_metadata_create + description: Create provider from SAML Metadata + tags: + - providers + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/SAMLProviderImportRequest' + required: true + security: + - authentik: [] + responses: + '204': + description: Successfully imported provider + '400': + description: Bad request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/scim/: + get: + operationId: providers_scim_list + description: SCIMProvider Viewset + parameters: + - in: query + name: exclude_users_service_account + schema: + type: boolean + - in: query + name: filter_group + schema: + type: string + format: uuid + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: url + schema: + type: string + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSCIMProviderList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: providers_scim_create + description: SCIMProvider Viewset + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMProviderRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/scim/{id}/: + get: + operationId: providers_scim_retrieve + description: SCIMProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this SCIM Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: providers_scim_update + description: SCIMProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this SCIM Provider. + required: true + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMProviderRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: providers_scim_partial_update + description: SCIMProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this SCIM Provider. + required: true + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedSCIMProviderRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: providers_scim_destroy + description: SCIMProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this SCIM Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/scim/{id}/sync/object/: + post: + operationId: providers_scim_sync_object_create + description: Sync/Re-sync a single user/group object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this SCIM Provider. + required: true + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SyncObjectRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SyncObjectResult' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/scim/{id}/sync/status/: + get: + operationId: providers_scim_sync_status_retrieve + description: Get provider's sync status + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this SCIM Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SyncStatus' + description: '' + '404': + description: Task not found + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/scim/{id}/used_by/: + get: + operationId: providers_scim_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this SCIM Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/scim_groups/: + get: + operationId: providers_scim_groups_list + description: SCIMProviderGroup Viewset + parameters: + - in: query + name: group__group_uuid + schema: + type: string + format: uuid + - in: query + name: group__name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: provider__id + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSCIMProviderGroupList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: providers_scim_groups_create + description: SCIMProviderGroup Viewset + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMProviderGroupRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMProviderGroup' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/scim_groups/{id}/: + get: + operationId: providers_scim_groups_retrieve + description: SCIMProviderGroup Viewset + parameters: + - in: path + name: id + schema: + type: string + format: uuid + description: A UUID string identifying this scim provider group. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMProviderGroup' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: providers_scim_groups_destroy + description: SCIMProviderGroup Viewset + parameters: + - in: path + name: id + schema: + type: string + format: uuid + description: A UUID string identifying this scim provider group. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/scim_groups/{id}/used_by/: + get: + operationId: providers_scim_groups_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: string + format: uuid + description: A UUID string identifying this scim provider group. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/scim_users/: + get: + operationId: providers_scim_users_list + description: SCIMProviderUser Viewset + parameters: + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: provider__id + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: user__id + schema: + type: integer + - in: query + name: user__username + schema: + type: string + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSCIMProviderUserList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: providers_scim_users_create + description: SCIMProviderUser Viewset + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMProviderUserRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMProviderUser' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/scim_users/{id}/: + get: + operationId: providers_scim_users_retrieve + description: SCIMProviderUser Viewset + parameters: + - in: path + name: id + schema: + type: string + format: uuid + description: A UUID string identifying this scim provider user. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMProviderUser' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: providers_scim_users_destroy + description: SCIMProviderUser Viewset + parameters: + - in: path + name: id + schema: + type: string + format: uuid + description: A UUID string identifying this scim provider user. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/scim_users/{id}/used_by/: + get: + operationId: providers_scim_users_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: string + format: uuid + description: A UUID string identifying this scim provider user. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rac/connection_tokens/: + get: + operationId: rac_connection_tokens_list + description: ConnectionToken Viewset + parameters: + - in: query + name: endpoint + schema: + type: string + format: uuid + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: provider + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: session__user + schema: + type: integer + tags: + - rac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedConnectionTokenList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rac/connection_tokens/{connection_token_uuid}/: + get: + operationId: rac_connection_tokens_retrieve + description: ConnectionToken Viewset + parameters: + - in: path + name: connection_token_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this RAC Connection token. + required: true + tags: + - rac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectionToken' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: rac_connection_tokens_update + description: ConnectionToken Viewset + parameters: + - in: path + name: connection_token_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this RAC Connection token. + required: true + tags: + - rac + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectionTokenRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectionToken' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: rac_connection_tokens_partial_update + description: ConnectionToken Viewset + parameters: + - in: path + name: connection_token_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this RAC Connection token. + required: true + tags: + - rac + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedConnectionTokenRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectionToken' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: rac_connection_tokens_destroy + description: ConnectionToken Viewset + parameters: + - in: path + name: connection_token_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this RAC Connection token. + required: true + tags: + - rac + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rac/connection_tokens/{connection_token_uuid}/used_by/: + get: + operationId: rac_connection_tokens_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: connection_token_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this RAC Connection token. + required: true + tags: + - rac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rac/endpoints/: + get: + operationId: rac_endpoints_list + description: List accessible endpoints + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: provider + schema: + type: integer + - in: query + name: search + schema: + type: string + - in: query + name: superuser_full_list + schema: + type: boolean + tags: + - rac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedEndpointList' + description: '' + '400': + description: Bad request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: rac_endpoints_create + description: Endpoint Viewset + tags: + - rac + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EndpointRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/Endpoint' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rac/endpoints/{pbm_uuid}/: + get: + operationId: rac_endpoints_retrieve + description: Endpoint Viewset + parameters: + - in: path + name: pbm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this RAC Endpoint. + required: true + tags: + - rac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Endpoint' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: rac_endpoints_update + description: Endpoint Viewset + parameters: + - in: path + name: pbm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this RAC Endpoint. + required: true + tags: + - rac + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EndpointRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Endpoint' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: rac_endpoints_partial_update + description: Endpoint Viewset + parameters: + - in: path + name: pbm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this RAC Endpoint. + required: true + tags: + - rac + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedEndpointRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Endpoint' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: rac_endpoints_destroy + description: Endpoint Viewset + parameters: + - in: path + name: pbm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this RAC Endpoint. + required: true + tags: + - rac + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rac/endpoints/{pbm_uuid}/used_by/: + get: + operationId: rac_endpoints_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: pbm_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this RAC Endpoint. + required: true + tags: + - rac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/permissions/: + get: + operationId: rbac_permissions_list + description: Read-only list of all permissions, filterable by model and app + parameters: + - in: query + name: codename + schema: + type: string + - in: query + name: content_type__app_label + schema: + type: string + - in: query + name: content_type__model + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: role + schema: + type: string + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: user + schema: + type: integer + tags: + - rbac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedPermissionList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/permissions/{id}/: + get: + operationId: rbac_permissions_retrieve + description: Read-only list of all permissions, filterable by model and app + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this permission. + required: true + tags: + - rbac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Permission' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/permissions/assigned_by_roles/: + get: + operationId: rbac_permissions_assigned_by_roles_list + description: Get assigned object permissions for a single object + parameters: + - in: query + name: model + schema: + type: string + enum: + - authentik_blueprints.blueprintinstance + - authentik_brands.brand + - authentik_core.application + - authentik_core.group + - authentik_core.token + - authentik_core.user + - authentik_crypto.certificatekeypair + - authentik_enterprise.license + - authentik_events.event + - authentik_events.notification + - authentik_events.notificationrule + - authentik_events.notificationtransport + - authentik_events.notificationwebhookmapping + - authentik_flows.flow + - authentik_flows.flowstagebinding + - authentik_outposts.dockerserviceconnection + - authentik_outposts.kubernetesserviceconnection + - authentik_outposts.outpost + - authentik_policies.policybinding + - authentik_policies_dummy.dummypolicy + - authentik_policies_event_matcher.eventmatcherpolicy + - authentik_policies_expiry.passwordexpirypolicy + - authentik_policies_expression.expressionpolicy + - authentik_policies_geoip.geoippolicy + - authentik_policies_password.passwordpolicy + - authentik_policies_reputation.reputationpolicy + - authentik_providers_google_workspace.googleworkspaceprovider + - authentik_providers_google_workspace.googleworkspaceprovidermapping + - authentik_providers_ldap.ldapprovider + - authentik_providers_microsoft_entra.microsoftentraprovider + - authentik_providers_microsoft_entra.microsoftentraprovidermapping + - authentik_providers_oauth2.oauth2provider + - authentik_providers_oauth2.scopemapping + - authentik_providers_proxy.proxyprovider + - authentik_providers_rac.endpoint + - authentik_providers_rac.racpropertymapping + - authentik_providers_rac.racprovider + - authentik_providers_radius.radiusprovider + - authentik_providers_radius.radiusproviderpropertymapping + - authentik_providers_saml.samlpropertymapping + - authentik_providers_saml.samlprovider + - authentik_providers_scim.scimmapping + - authentik_providers_scim.scimprovider + - authentik_rbac.role + - authentik_sources_ldap.ldapsource + - authentik_sources_ldap.ldapsourcepropertymapping + - authentik_sources_oauth.groupoauthsourceconnection + - authentik_sources_oauth.oauthsource + - authentik_sources_oauth.oauthsourcepropertymapping + - authentik_sources_oauth.useroauthsourceconnection + - authentik_sources_plex.groupplexsourceconnection + - authentik_sources_plex.plexsource + - authentik_sources_plex.plexsourcepropertymapping + - authentik_sources_plex.userplexsourceconnection + - authentik_sources_saml.groupsamlsourceconnection + - authentik_sources_saml.samlsource + - authentik_sources_saml.samlsourcepropertymapping + - authentik_sources_saml.usersamlsourceconnection + - authentik_sources_scim.scimsource + - authentik_sources_scim.scimsourcepropertymapping + - authentik_stages_authenticator_duo.authenticatorduostage + - authentik_stages_authenticator_duo.duodevice + - authentik_stages_authenticator_sms.authenticatorsmsstage + - authentik_stages_authenticator_sms.smsdevice + - authentik_stages_authenticator_static.authenticatorstaticstage + - authentik_stages_authenticator_static.staticdevice + - authentik_stages_authenticator_totp.authenticatortotpstage + - authentik_stages_authenticator_totp.totpdevice + - authentik_stages_authenticator_validate.authenticatorvalidatestage + - authentik_stages_authenticator_webauthn.authenticatorwebauthnstage + - authentik_stages_authenticator_webauthn.webauthndevice + - authentik_stages_captcha.captchastage + - authentik_stages_consent.consentstage + - authentik_stages_consent.userconsent + - authentik_stages_deny.denystage + - authentik_stages_dummy.dummystage + - authentik_stages_email.emailstage + - authentik_stages_identification.identificationstage + - authentik_stages_invitation.invitation + - authentik_stages_invitation.invitationstage + - authentik_stages_password.passwordstage + - authentik_stages_prompt.prompt + - authentik_stages_prompt.promptstage + - authentik_stages_source.sourcestage + - authentik_stages_user_delete.userdeletestage + - authentik_stages_user_login.userloginstage + - authentik_stages_user_logout.userlogoutstage + - authentik_stages_user_write.userwritestage + - authentik_tenants.domain + required: true + - in: query + name: object_pk + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - rbac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedRoleAssignedObjectPermissionList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/permissions/assigned_by_roles/{uuid}/assign/: + post: + operationId: rbac_permissions_assigned_by_roles_assign + description: |- + Assign permission(s) to role. When `object_pk` is set, the permissions + are only assigned to the specific object, otherwise they are assigned globally. + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Role. + required: true + tags: + - rbac + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PermissionAssignRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PermissionAssignResult' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/permissions/assigned_by_roles/{uuid}/unassign/: + patch: + operationId: rbac_permissions_assigned_by_roles_unassign_partial_update + description: |- + Unassign permission(s) to role. When `object_pk` is set, the permissions + are only assigned to the specific object, otherwise they are assigned globally. + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Role. + required: true + tags: + - rbac + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedPermissionAssignRequest' + security: + - authentik: [] + responses: + '204': + description: Successfully unassigned + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/permissions/assigned_by_users/: + get: + operationId: rbac_permissions_assigned_by_users_list + description: Get assigned object permissions for a single object + parameters: + - in: query + name: model + schema: + type: string + enum: + - authentik_blueprints.blueprintinstance + - authentik_brands.brand + - authentik_core.application + - authentik_core.group + - authentik_core.token + - authentik_core.user + - authentik_crypto.certificatekeypair + - authentik_enterprise.license + - authentik_events.event + - authentik_events.notification + - authentik_events.notificationrule + - authentik_events.notificationtransport + - authentik_events.notificationwebhookmapping + - authentik_flows.flow + - authentik_flows.flowstagebinding + - authentik_outposts.dockerserviceconnection + - authentik_outposts.kubernetesserviceconnection + - authentik_outposts.outpost + - authentik_policies.policybinding + - authentik_policies_dummy.dummypolicy + - authentik_policies_event_matcher.eventmatcherpolicy + - authentik_policies_expiry.passwordexpirypolicy + - authentik_policies_expression.expressionpolicy + - authentik_policies_geoip.geoippolicy + - authentik_policies_password.passwordpolicy + - authentik_policies_reputation.reputationpolicy + - authentik_providers_google_workspace.googleworkspaceprovider + - authentik_providers_google_workspace.googleworkspaceprovidermapping + - authentik_providers_ldap.ldapprovider + - authentik_providers_microsoft_entra.microsoftentraprovider + - authentik_providers_microsoft_entra.microsoftentraprovidermapping + - authentik_providers_oauth2.oauth2provider + - authentik_providers_oauth2.scopemapping + - authentik_providers_proxy.proxyprovider + - authentik_providers_rac.endpoint + - authentik_providers_rac.racpropertymapping + - authentik_providers_rac.racprovider + - authentik_providers_radius.radiusprovider + - authentik_providers_radius.radiusproviderpropertymapping + - authentik_providers_saml.samlpropertymapping + - authentik_providers_saml.samlprovider + - authentik_providers_scim.scimmapping + - authentik_providers_scim.scimprovider + - authentik_rbac.role + - authentik_sources_ldap.ldapsource + - authentik_sources_ldap.ldapsourcepropertymapping + - authentik_sources_oauth.groupoauthsourceconnection + - authentik_sources_oauth.oauthsource + - authentik_sources_oauth.oauthsourcepropertymapping + - authentik_sources_oauth.useroauthsourceconnection + - authentik_sources_plex.groupplexsourceconnection + - authentik_sources_plex.plexsource + - authentik_sources_plex.plexsourcepropertymapping + - authentik_sources_plex.userplexsourceconnection + - authentik_sources_saml.groupsamlsourceconnection + - authentik_sources_saml.samlsource + - authentik_sources_saml.samlsourcepropertymapping + - authentik_sources_saml.usersamlsourceconnection + - authentik_sources_scim.scimsource + - authentik_sources_scim.scimsourcepropertymapping + - authentik_stages_authenticator_duo.authenticatorduostage + - authentik_stages_authenticator_duo.duodevice + - authentik_stages_authenticator_sms.authenticatorsmsstage + - authentik_stages_authenticator_sms.smsdevice + - authentik_stages_authenticator_static.authenticatorstaticstage + - authentik_stages_authenticator_static.staticdevice + - authentik_stages_authenticator_totp.authenticatortotpstage + - authentik_stages_authenticator_totp.totpdevice + - authentik_stages_authenticator_validate.authenticatorvalidatestage + - authentik_stages_authenticator_webauthn.authenticatorwebauthnstage + - authentik_stages_authenticator_webauthn.webauthndevice + - authentik_stages_captcha.captchastage + - authentik_stages_consent.consentstage + - authentik_stages_consent.userconsent + - authentik_stages_deny.denystage + - authentik_stages_dummy.dummystage + - authentik_stages_email.emailstage + - authentik_stages_identification.identificationstage + - authentik_stages_invitation.invitation + - authentik_stages_invitation.invitationstage + - authentik_stages_password.passwordstage + - authentik_stages_prompt.prompt + - authentik_stages_prompt.promptstage + - authentik_stages_source.sourcestage + - authentik_stages_user_delete.userdeletestage + - authentik_stages_user_login.userloginstage + - authentik_stages_user_logout.userlogoutstage + - authentik_stages_user_write.userwritestage + - authentik_tenants.domain + required: true + - in: query + name: object_pk + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - rbac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedUserAssignedObjectPermissionList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/permissions/assigned_by_users/{id}/assign/: + post: + operationId: rbac_permissions_assigned_by_users_assign + description: Assign permission(s) to user + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User. + required: true + tags: + - rbac + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PermissionAssignRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PermissionAssignResult' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/permissions/assigned_by_users/{id}/unassign/: + patch: + operationId: rbac_permissions_assigned_by_users_unassign_partial_update + description: |- + Unassign permission(s) to user. When `object_pk` is set, the permissions + are only assigned to the specific object, otherwise they are assigned globally. + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User. + required: true + tags: + - rbac + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedPermissionAssignRequest' + security: + - authentik: [] + responses: + '204': + description: Successfully unassigned + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/permissions/roles/: + get: + operationId: rbac_permissions_roles_list + description: Get a role's assigned object permissions + parameters: + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: uuid + schema: + type: string + format: uuid + tags: + - rbac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedExtraRoleObjectPermissionList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/permissions/roles/{id}/: + get: + operationId: rbac_permissions_roles_retrieve + description: Get a role's assigned object permissions + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this group object permission. + required: true + tags: + - rbac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ExtraRoleObjectPermission' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: rbac_permissions_roles_update + description: Get a role's assigned object permissions + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this group object permission. + required: true + tags: + - rbac + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ExtraRoleObjectPermissionRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ExtraRoleObjectPermission' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: rbac_permissions_roles_partial_update + description: Get a role's assigned object permissions + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this group object permission. + required: true + tags: + - rbac + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedExtraRoleObjectPermissionRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ExtraRoleObjectPermission' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: rbac_permissions_roles_destroy + description: Get a role's assigned object permissions + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this group object permission. + required: true + tags: + - rbac + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/permissions/users/: + get: + operationId: rbac_permissions_users_list + description: Get a users's assigned object permissions + parameters: + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: user_id + schema: + type: integer + tags: + - rbac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedExtraUserObjectPermissionList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/permissions/users/{id}/: + get: + operationId: rbac_permissions_users_retrieve + description: Get a users's assigned object permissions + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this user object permission. + required: true + tags: + - rbac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ExtraUserObjectPermission' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: rbac_permissions_users_update + description: Get a users's assigned object permissions + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this user object permission. + required: true + tags: + - rbac + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ExtraUserObjectPermissionRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ExtraUserObjectPermission' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: rbac_permissions_users_partial_update + description: Get a users's assigned object permissions + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this user object permission. + required: true + tags: + - rbac + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedExtraUserObjectPermissionRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ExtraUserObjectPermission' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: rbac_permissions_users_destroy + description: Get a users's assigned object permissions + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this user object permission. + required: true + tags: + - rbac + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/roles/: + get: + operationId: rbac_roles_list + description: Role viewset + parameters: + - in: query + name: group__name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - rbac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedRoleList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: rbac_roles_create + description: Role viewset + tags: + - rbac + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoleRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/roles/{uuid}/: + get: + operationId: rbac_roles_retrieve + description: Role viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Role. + required: true + tags: + - rbac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: rbac_roles_update + description: Role viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Role. + required: true + tags: + - rbac + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoleRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: rbac_roles_partial_update + description: Role viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Role. + required: true + tags: + - rbac + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedRoleRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: rbac_roles_destroy + description: Role viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Role. + required: true + tags: + - rbac + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/roles/{uuid}/used_by/: + get: + operationId: rbac_roles_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Role. + required: true + tags: + - rbac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /root/config/: + get: + operationId: root_config_retrieve + description: Retrieve public configuration options + tags: + - root + security: + - authentik: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Config' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /schema/: + get: + operationId: schema_retrieve + description: |- + OpenApi3 schema for this API. Format can be selected via content negotiation. + + - YAML: application/vnd.oai.openapi + - JSON: application/vnd.oai.openapi+json + parameters: + - in: query + name: format + schema: + type: string + enum: + - json + - yaml + - in: query + name: lang + schema: + type: string + enum: + - af + - ar + - ar-dz + - ast + - az + - be + - bg + - bn + - br + - bs + - ca + - ckb + - cs + - cy + - da + - de + - dsb + - el + - en + - en-au + - en-gb + - eo + - es + - es-ar + - es-co + - es-mx + - es-ni + - es-ve + - et + - eu + - fa + - fi + - fr + - fy + - ga + - gd + - gl + - he + - hi + - hr + - hsb + - hu + - hy + - ia + - id + - ig + - io + - is + - it + - ja + - ka + - kab + - kk + - km + - kn + - ko + - ky + - lb + - lt + - lv + - mk + - ml + - mn + - mr + - ms + - my + - nb + - ne + - nl + - nn + - os + - pa + - pl + - pt + - pt-br + - ro + - ru + - sk + - sl + - sq + - sr + - sr-latn + - sv + - sw + - ta + - te + - tg + - th + - tk + - tr + - tt + - udm + - ug + - uk + - ur + - uz + - vi + - zh-hans + - zh-hant + tags: + - schema + security: + - authentik: [] + - {} + responses: + '200': + content: + application/vnd.oai.openapi: + schema: + type: object + additionalProperties: {} + application/yaml: + schema: + type: object + additionalProperties: {} + application/vnd.oai.openapi+json: + schema: + type: object + additionalProperties: {} + application/json: + schema: + type: object + additionalProperties: {} + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/all/: + get: + operationId: sources_all_list + description: Source Viewset + parameters: + - in: query + name: managed + schema: + type: string + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: slug + schema: + type: string + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSourceList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/all/{slug}/: + get: + operationId: sources_all_retrieve + description: Source Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Source' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: sources_all_destroy + description: Source Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/all/{slug}/set_icon/: + post: + operationId: sources_all_set_icon_create + description: Set source icon + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/FileUploadRequest' + security: + - authentik: [] + responses: + '200': + description: Success + '400': + description: Bad request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/all/{slug}/set_icon_url/: + post: + operationId: sources_all_set_icon_url_create + description: Set source icon (as URL) + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FilePathRequest' + required: true + security: + - authentik: [] + responses: + '200': + description: Success + '400': + description: Bad request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/all/{slug}/used_by/: + get: + operationId: sources_all_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/all/types/: + get: + operationId: sources_all_types_list + description: Get all creatable types + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TypeCreate' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/all/user_settings/: + get: + operationId: sources_all_user_settings_list + description: Get all sources the user can configure + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UserSetting' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/group_connections/oauth/: + get: + operationId: sources_group_connections_oauth_list + description: Group-source connection Viewset + parameters: + - in: query + name: group + schema: + type: string + format: uuid + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: source__slug + schema: + type: string + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedGroupOAuthSourceConnectionList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: sources_group_connections_oauth_create + description: Group-source connection Viewset + tags: + - sources + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/GroupOAuthSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/group_connections/oauth/{id}/: + get: + operationId: sources_group_connections_oauth_retrieve + description: Group-source connection Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Group OAuth Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GroupOAuthSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: sources_group_connections_oauth_update + description: Group-source connection Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Group OAuth Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GroupOAuthSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: sources_group_connections_oauth_partial_update + description: Group-source connection Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Group OAuth Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GroupOAuthSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: sources_group_connections_oauth_destroy + description: Group-source connection Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Group OAuth Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/group_connections/oauth/{id}/used_by/: + get: + operationId: sources_group_connections_oauth_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Group OAuth Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/group_connections/plex/: + get: + operationId: sources_group_connections_plex_list + description: Group-source connection Viewset + parameters: + - in: query + name: group + schema: + type: string + format: uuid + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: source__slug + schema: + type: string + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedGroupPlexSourceConnectionList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: sources_group_connections_plex_create + description: Group-source connection Viewset + tags: + - sources + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/GroupPlexSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/group_connections/plex/{id}/: + get: + operationId: sources_group_connections_plex_retrieve + description: Group-source connection Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Group Plex Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GroupPlexSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: sources_group_connections_plex_update + description: Group-source connection Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Group Plex Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GroupPlexSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: sources_group_connections_plex_partial_update + description: Group-source connection Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Group Plex Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GroupPlexSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: sources_group_connections_plex_destroy + description: Group-source connection Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Group Plex Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/group_connections/plex/{id}/used_by/: + get: + operationId: sources_group_connections_plex_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Group Plex Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/group_connections/saml/: + get: + operationId: sources_group_connections_saml_list + description: Group-source connection Viewset + parameters: + - in: query + name: group + schema: + type: string + format: uuid + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: source__slug + schema: + type: string + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedGroupSAMLSourceConnectionList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/group_connections/saml/{id}/: + get: + operationId: sources_group_connections_saml_retrieve + description: Group-source connection Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Group SAML Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GroupSAMLSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: sources_group_connections_saml_update + description: Group-source connection Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Group SAML Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GroupSAMLSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: sources_group_connections_saml_partial_update + description: Group-source connection Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Group SAML Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GroupSAMLSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: sources_group_connections_saml_destroy + description: Group-source connection Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Group SAML Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/group_connections/saml/{id}/used_by/: + get: + operationId: sources_group_connections_saml_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Group SAML Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/ldap/: + get: + operationId: sources_ldap_list + description: LDAP Source Viewset + parameters: + - in: query + name: additional_group_dn + schema: + type: string + - in: query + name: additional_user_dn + schema: + type: string + - in: query + name: base_dn + schema: + type: string + - in: query + name: bind_cn + schema: + type: string + - in: query + name: client_certificate + schema: + type: string + format: uuid + - in: query + name: enabled + schema: + type: boolean + - in: query + name: group_membership_field + schema: + type: string + - in: query + name: group_object_filter + schema: + type: string + - in: query + name: group_property_mappings + schema: + type: array + items: + type: string + format: uuid + explode: true + style: form + - in: query + name: name + schema: + type: string + - in: query + name: object_uniqueness_field + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: password_login_update_internal_password + schema: + type: boolean + - in: query + name: peer_certificate + schema: + type: string + format: uuid + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: server_uri + schema: + type: string + - in: query + name: slug + schema: + type: string + - in: query + name: sni + schema: + type: boolean + - in: query + name: start_tls + schema: + type: boolean + - in: query + name: sync_groups + schema: + type: boolean + - in: query + name: sync_parent_group + schema: + type: string + format: uuid + - in: query + name: sync_users + schema: + type: boolean + - in: query + name: sync_users_password + schema: + type: boolean + - in: query + name: user_object_filter + schema: + type: string + - in: query + name: user_property_mappings + schema: + type: array + items: + type: string + format: uuid + explode: true + style: form + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedLDAPSourceList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: sources_ldap_create + description: LDAP Source Viewset + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LDAPSourceRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/LDAPSource' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/ldap/{slug}/: + get: + operationId: sources_ldap_retrieve + description: LDAP Source Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/LDAPSource' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: sources_ldap_update + description: LDAP Source Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LDAPSourceRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/LDAPSource' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: sources_ldap_partial_update + description: LDAP Source Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedLDAPSourceRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/LDAPSource' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: sources_ldap_destroy + description: LDAP Source Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/ldap/{slug}/debug/: + get: + operationId: sources_ldap_debug_retrieve + description: Get raw LDAP data to debug + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/LDAPDebug' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/ldap/{slug}/sync/status/: + get: + operationId: sources_ldap_sync_status_retrieve + description: Get source's sync status + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SyncStatus' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/ldap/{slug}/used_by/: + get: + operationId: sources_ldap_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/oauth/: + get: + operationId: sources_oauth_list + description: Source Viewset + parameters: + - in: query + name: access_token_url + schema: + type: string + - in: query + name: additional_scopes + schema: + type: string + - in: query + name: authentication_flow + schema: + type: string + format: uuid + - in: query + name: authorization_url + schema: + type: string + - in: query + name: consumer_key + schema: + type: string + - in: query + name: enabled + schema: + type: boolean + - in: query + name: enrollment_flow + schema: + type: string + format: uuid + - in: query + name: group_matching_mode + schema: + type: string + enum: + - identifier + - name_deny + - name_link + description: |+ + How the source determines if an existing group should be used or a new group created. + + - in: query + name: has_jwks + schema: + type: boolean + description: Only return sources with JWKS data + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: policy_engine_mode + schema: + type: string + enum: + - all + - any + - in: query + name: profile_url + schema: + type: string + - in: query + name: provider_type + schema: + type: string + - in: query + name: request_token_url + schema: + type: string + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: slug + schema: + type: string + - in: query + name: user_matching_mode + schema: + type: string + enum: + - email_deny + - email_link + - identifier + - username_deny + - username_link + description: |+ + How the source determines if an existing user should be authenticated or a new user enrolled. + + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedOAuthSourceList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: sources_oauth_create + description: Source Viewset + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthSourceRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthSource' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/oauth/{slug}/: + get: + operationId: sources_oauth_retrieve + description: Source Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthSource' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: sources_oauth_update + description: Source Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthSourceRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthSource' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: sources_oauth_partial_update + description: Source Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedOAuthSourceRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthSource' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: sources_oauth_destroy + description: Source Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/oauth/{slug}/used_by/: + get: + operationId: sources_oauth_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/oauth/source_types/: + get: + operationId: sources_oauth_source_types_list + description: |- + Get all creatable source types. If ?name is set, only returns the type for . + If isn't found, returns the default type. + parameters: + - in: query + name: name + schema: + type: string + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SourceType' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/plex/: + get: + operationId: sources_plex_list + description: Plex source Viewset + parameters: + - in: query + name: allow_friends + schema: + type: boolean + - in: query + name: authentication_flow + schema: + type: string + format: uuid + - in: query + name: client_id + schema: + type: string + - in: query + name: enabled + schema: + type: boolean + - in: query + name: enrollment_flow + schema: + type: string + format: uuid + - in: query + name: group_matching_mode + schema: + type: string + enum: + - identifier + - name_deny + - name_link + description: |+ + How the source determines if an existing group should be used or a new group created. + + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: policy_engine_mode + schema: + type: string + enum: + - all + - any + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: slug + schema: + type: string + - in: query + name: user_matching_mode + schema: + type: string + enum: + - email_deny + - email_link + - identifier + - username_deny + - username_link + description: |+ + How the source determines if an existing user should be authenticated or a new user enrolled. + + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedPlexSourceList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: sources_plex_create + description: Plex source Viewset + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlexSourceRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/PlexSource' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/plex/{slug}/: + get: + operationId: sources_plex_retrieve + description: Plex source Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PlexSource' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: sources_plex_update + description: Plex source Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlexSourceRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PlexSource' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: sources_plex_partial_update + description: Plex source Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedPlexSourceRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PlexSource' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: sources_plex_destroy + description: Plex source Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/plex/{slug}/used_by/: + get: + operationId: sources_plex_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/plex/redeem_token/: + post: + operationId: sources_plex_redeem_token_create + description: |- + Redeem a plex token, check it's access to resources against what's allowed + for the source, and redirect to an authentication/enrollment flow. + parameters: + - in: query + name: slug + schema: + type: string + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlexTokenRedeemRequest' + required: true + security: + - authentik: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RedirectChallenge' + description: '' + '400': + description: Token not found + '403': + description: Access denied + /sources/plex/redeem_token_authenticated/: + post: + operationId: sources_plex_redeem_token_authenticated_create + description: Redeem a plex token for an authenticated user, creating a connection + parameters: + - in: query + name: slug + schema: + type: string + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlexTokenRedeemRequest' + required: true + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + description: Token not found + '403': + description: Access denied + /sources/saml/: + get: + operationId: sources_saml_list + description: SAMLSource Viewset + parameters: + - in: query + name: allow_idp_initiated + schema: + type: boolean + - in: query + name: authentication_flow + schema: + type: string + format: uuid + - in: query + name: binding_type + schema: + type: string + enum: + - POST + - POST_AUTO + - REDIRECT + - in: query + name: digest_algorithm + schema: + type: string + enum: + - http://www.w3.org/2000/09/xmldsig#sha1 + - http://www.w3.org/2001/04/xmldsig-more#sha384 + - http://www.w3.org/2001/04/xmlenc#sha256 + - http://www.w3.org/2001/04/xmlenc#sha512 + - in: query + name: enabled + schema: + type: boolean + - in: query + name: enrollment_flow + schema: + type: string + format: uuid + - in: query + name: issuer + schema: + type: string + - in: query + name: managed + schema: + type: string + - in: query + name: name + schema: + type: string + - in: query + name: name_id_policy + schema: + type: string + enum: + - urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress + - urn:oasis:names:tc:SAML:2.0:nameid-format:WindowsDomainQualifiedName + - urn:oasis:names:tc:SAML:2.0:nameid-format:X509SubjectName + - urn:oasis:names:tc:SAML:2.0:nameid-format:persistent + - urn:oasis:names:tc:SAML:2.0:nameid-format:transient + description: |+ + NameID Policy sent to the IdP. Can be unset, in which case no Policy is sent. + + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: policy_engine_mode + schema: + type: string + enum: + - all + - any + - in: query + name: pre_authentication_flow + schema: + type: string + format: uuid + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: signature_algorithm + schema: + type: string + enum: + - http://www.w3.org/2000/09/xmldsig#dsa-sha1 + - http://www.w3.org/2000/09/xmldsig#rsa-sha1 + - http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1 + - http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256 + - http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha384 + - http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512 + - http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 + - http://www.w3.org/2001/04/xmldsig-more#rsa-sha384 + - http://www.w3.org/2001/04/xmldsig-more#rsa-sha512 + - in: query + name: signing_kp + schema: + type: string + format: uuid + - in: query + name: slo_url + schema: + type: string + - in: query + name: slug + schema: + type: string + - in: query + name: sso_url + schema: + type: string + - in: query + name: temporary_user_delete_after + schema: + type: string + - in: query + name: user_matching_mode + schema: + type: string + enum: + - email_deny + - email_link + - identifier + - username_deny + - username_link + description: |+ + How the source determines if an existing user should be authenticated or a new user enrolled. + + - in: query + name: verification_kp + schema: + type: string + format: uuid + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSAMLSourceList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: sources_saml_create + description: SAMLSource Viewset + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLSourceRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLSource' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/saml/{slug}/: + get: + operationId: sources_saml_retrieve + description: SAMLSource Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLSource' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: sources_saml_update + description: SAMLSource Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLSourceRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLSource' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: sources_saml_partial_update + description: SAMLSource Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedSAMLSourceRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLSource' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: sources_saml_destroy + description: SAMLSource Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/saml/{slug}/metadata/: + get: + operationId: sources_saml_metadata_retrieve + description: Return metadata as XML string + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SAMLMetadata' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/saml/{slug}/used_by/: + get: + operationId: sources_saml_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/scim/: + get: + operationId: sources_scim_list + description: SCIMSource Viewset + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: slug + schema: + type: string + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSCIMSourceList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: sources_scim_create + description: SCIMSource Viewset + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSourceRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSource' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/scim/{slug}/: + get: + operationId: sources_scim_retrieve + description: SCIMSource Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSource' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: sources_scim_update + description: SCIMSource Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSourceRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSource' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: sources_scim_partial_update + description: SCIMSource Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedSCIMSourceRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSource' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: sources_scim_destroy + description: SCIMSource Viewset + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/scim/{slug}/used_by/: + get: + operationId: sources_scim_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: slug + schema: + type: string + description: Internal source name, used in URLs. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/scim_groups/: + get: + operationId: sources_scim_groups_list + description: SCIMSourceGroup Viewset + parameters: + - in: query + name: group__group_uuid + schema: + type: string + format: uuid + - in: query + name: group__name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: source__slug + schema: + type: string + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSCIMSourceGroupList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: sources_scim_groups_create + description: SCIMSourceGroup Viewset + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSourceGroupRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSourceGroup' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/scim_groups/{id}/: + get: + operationId: sources_scim_groups_retrieve + description: SCIMSourceGroup Viewset + parameters: + - in: path + name: id + schema: + type: string + description: A unique value identifying this scim source group. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSourceGroup' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: sources_scim_groups_update + description: SCIMSourceGroup Viewset + parameters: + - in: path + name: id + schema: + type: string + description: A unique value identifying this scim source group. + required: true + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSourceGroupRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSourceGroup' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: sources_scim_groups_partial_update + description: SCIMSourceGroup Viewset + parameters: + - in: path + name: id + schema: + type: string + description: A unique value identifying this scim source group. + required: true + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedSCIMSourceGroupRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSourceGroup' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: sources_scim_groups_destroy + description: SCIMSourceGroup Viewset + parameters: + - in: path + name: id + schema: + type: string + description: A unique value identifying this scim source group. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/scim_groups/{id}/used_by/: + get: + operationId: sources_scim_groups_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: string + description: A unique value identifying this scim source group. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/scim_users/: + get: + operationId: sources_scim_users_list + description: SCIMSourceUser Viewset + parameters: + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: source__slug + schema: + type: string + - in: query + name: user__id + schema: + type: integer + - in: query + name: user__username + schema: + type: string + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSCIMSourceUserList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: sources_scim_users_create + description: SCIMSourceUser Viewset + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSourceUserRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSourceUser' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/scim_users/{id}/: + get: + operationId: sources_scim_users_retrieve + description: SCIMSourceUser Viewset + parameters: + - in: path + name: id + schema: + type: string + description: A unique value identifying this scim source user. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSourceUser' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: sources_scim_users_update + description: SCIMSourceUser Viewset + parameters: + - in: path + name: id + schema: + type: string + description: A unique value identifying this scim source user. + required: true + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSourceUserRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSourceUser' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: sources_scim_users_partial_update + description: SCIMSourceUser Viewset + parameters: + - in: path + name: id + schema: + type: string + description: A unique value identifying this scim source user. + required: true + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedSCIMSourceUserRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SCIMSourceUser' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: sources_scim_users_destroy + description: SCIMSourceUser Viewset + parameters: + - in: path + name: id + schema: + type: string + description: A unique value identifying this scim source user. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/scim_users/{id}/used_by/: + get: + operationId: sources_scim_users_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: string + description: A unique value identifying this scim source user. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/user_connections/all/: + get: + operationId: sources_user_connections_all_list + description: User-source connection Viewset + parameters: + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: source__slug + schema: + type: string + - in: query + name: user + schema: + type: integer + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedUserSourceConnectionList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/user_connections/all/{id}/: + get: + operationId: sources_user_connections_all_retrieve + description: User-source connection Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this user source connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: sources_user_connections_all_update + description: User-source connection Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this user source connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: sources_user_connections_all_partial_update + description: User-source connection Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this user source connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: sources_user_connections_all_destroy + description: User-source connection Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this user source connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/user_connections/all/{id}/used_by/: + get: + operationId: sources_user_connections_all_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this user source connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/user_connections/oauth/: + get: + operationId: sources_user_connections_oauth_list + description: Source Viewset + parameters: + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: source__slug + schema: + type: string + - in: query + name: user + schema: + type: integer + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedUserOAuthSourceConnectionList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: sources_user_connections_oauth_create + description: Source Viewset + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserOAuthSourceConnectionRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/UserOAuthSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/user_connections/oauth/{id}/: + get: + operationId: sources_user_connections_oauth_retrieve + description: Source Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User OAuth Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserOAuthSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: sources_user_connections_oauth_update + description: Source Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User OAuth Source Connection. + required: true + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserOAuthSourceConnectionRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserOAuthSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: sources_user_connections_oauth_partial_update + description: Source Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User OAuth Source Connection. + required: true + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedUserOAuthSourceConnectionRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserOAuthSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: sources_user_connections_oauth_destroy + description: Source Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User OAuth Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/user_connections/oauth/{id}/used_by/: + get: + operationId: sources_user_connections_oauth_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User OAuth Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/user_connections/plex/: + get: + operationId: sources_user_connections_plex_list + description: Plex Source connection Serializer + parameters: + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: source__slug + schema: + type: string + - in: query + name: user + schema: + type: integer + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedUserPlexSourceConnectionList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: sources_user_connections_plex_create + description: Plex Source connection Serializer + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserPlexSourceConnectionRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/UserPlexSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/user_connections/plex/{id}/: + get: + operationId: sources_user_connections_plex_retrieve + description: Plex Source connection Serializer + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User Plex Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserPlexSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: sources_user_connections_plex_update + description: Plex Source connection Serializer + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User Plex Source Connection. + required: true + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserPlexSourceConnectionRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserPlexSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: sources_user_connections_plex_partial_update + description: Plex Source connection Serializer + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User Plex Source Connection. + required: true + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedUserPlexSourceConnectionRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserPlexSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: sources_user_connections_plex_destroy + description: Plex Source connection Serializer + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User Plex Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/user_connections/plex/{id}/used_by/: + get: + operationId: sources_user_connections_plex_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User Plex Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/user_connections/saml/: + get: + operationId: sources_user_connections_saml_list + description: Source Viewset + parameters: + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: source__slug + schema: + type: string + - in: query + name: user + schema: + type: integer + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedUserSAMLSourceConnectionList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: sources_user_connections_saml_create + description: Source Viewset + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserSAMLSourceConnectionRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/UserSAMLSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/user_connections/saml/{id}/: + get: + operationId: sources_user_connections_saml_retrieve + description: Source Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User SAML Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserSAMLSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: sources_user_connections_saml_update + description: Source Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User SAML Source Connection. + required: true + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserSAMLSourceConnectionRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserSAMLSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: sources_user_connections_saml_partial_update + description: Source Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User SAML Source Connection. + required: true + tags: + - sources + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedUserSAMLSourceConnectionRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserSAMLSourceConnection' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: sources_user_connections_saml_destroy + description: Source Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User SAML Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /sources/user_connections/saml/{id}/used_by/: + get: + operationId: sources_user_connections_saml_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User SAML Source Connection. + required: true + tags: + - sources + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/all/: + get: + operationId: stages_all_list + description: Stage Viewset + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedStageList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/all/{stage_uuid}/: + get: + operationId: stages_all_retrieve + description: Stage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Stage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: stages_all_destroy + description: Stage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/all/{stage_uuid}/used_by/: + get: + operationId: stages_all_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/all/types/: + get: + operationId: stages_all_types_list + description: Get all creatable types + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TypeCreate' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/all/user_settings/: + get: + operationId: stages_all_user_settings_list + description: Get all stages the user can configure + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UserSetting' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/authenticator/duo/: + get: + operationId: stages_authenticator_duo_list + description: AuthenticatorDuoStage Viewset + parameters: + - in: query + name: api_hostname + schema: + type: string + - in: query + name: client_id + schema: + type: string + - in: query + name: configure_flow + schema: + type: string + format: uuid + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedAuthenticatorDuoStageList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: stages_authenticator_duo_create + description: AuthenticatorDuoStage Viewset + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorDuoStageRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorDuoStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/authenticator/duo/{stage_uuid}/: + get: + operationId: stages_authenticator_duo_retrieve + description: AuthenticatorDuoStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Duo Authenticator Setup Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorDuoStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: stages_authenticator_duo_update + description: AuthenticatorDuoStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Duo Authenticator Setup Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorDuoStageRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorDuoStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: stages_authenticator_duo_partial_update + description: AuthenticatorDuoStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Duo Authenticator Setup Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedAuthenticatorDuoStageRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorDuoStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: stages_authenticator_duo_destroy + description: AuthenticatorDuoStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Duo Authenticator Setup Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/authenticator/duo/{stage_uuid}/enrollment_status/: + post: + operationId: stages_authenticator_duo_enrollment_status_create + description: Check enrollment status of user details in current session + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Duo Authenticator Setup Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DuoDeviceEnrollmentStatus' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/authenticator/duo/{stage_uuid}/import_device_manual/: + post: + operationId: stages_authenticator_duo_import_device_manual_create + description: Import duo devices into authentik + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Duo Authenticator Setup Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorDuoStageManualDeviceImportRequest' + required: true + security: + - authentik: [] + responses: + '204': + description: Enrollment successful + '400': + description: Bad request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/authenticator/duo/{stage_uuid}/import_devices_automatic/: + post: + operationId: stages_authenticator_duo_import_devices_automatic_create + description: Import duo devices into authentik + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Duo Authenticator Setup Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorDuoStageDeviceImportResponse' + description: '' + '400': + description: Bad request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/authenticator/duo/{stage_uuid}/used_by/: + get: + operationId: stages_authenticator_duo_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Duo Authenticator Setup Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/authenticator/sms/: + get: + operationId: stages_authenticator_sms_list + description: AuthenticatorSMSStage Viewset + parameters: + - in: query + name: account_sid + schema: + type: string + - in: query + name: auth + schema: + type: string + - in: query + name: auth_password + schema: + type: string + - in: query + name: auth_type + schema: + type: string + enum: + - basic + - bearer + - in: query + name: configure_flow + schema: + type: string + format: uuid + - in: query + name: friendly_name + schema: + type: string + - in: query + name: from_number + schema: + type: string + - in: query + name: mapping + schema: + type: string + format: uuid + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: provider + schema: + type: string + enum: + - generic + - twilio + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: stage_uuid + schema: + type: string + format: uuid + - in: query + name: verify_only + schema: + type: boolean + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedAuthenticatorSMSStageList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: stages_authenticator_sms_create + description: AuthenticatorSMSStage Viewset + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorSMSStageRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorSMSStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/authenticator/sms/{stage_uuid}/: + get: + operationId: stages_authenticator_sms_retrieve + description: AuthenticatorSMSStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SMS Authenticator Setup Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorSMSStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: stages_authenticator_sms_update + description: AuthenticatorSMSStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SMS Authenticator Setup Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorSMSStageRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorSMSStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: stages_authenticator_sms_partial_update + description: AuthenticatorSMSStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SMS Authenticator Setup Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedAuthenticatorSMSStageRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorSMSStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: stages_authenticator_sms_destroy + description: AuthenticatorSMSStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SMS Authenticator Setup Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/authenticator/sms/{stage_uuid}/used_by/: + get: + operationId: stages_authenticator_sms_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this SMS Authenticator Setup Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/authenticator/static/: + get: + operationId: stages_authenticator_static_list + description: AuthenticatorStaticStage Viewset + parameters: + - in: query + name: configure_flow + schema: + type: string + format: uuid + - in: query + name: friendly_name + schema: + type: string + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: stage_uuid + schema: + type: string + format: uuid + - in: query + name: token_count + schema: + type: integer + - in: query + name: token_length + schema: + type: integer + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedAuthenticatorStaticStageList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: stages_authenticator_static_create + description: AuthenticatorStaticStage Viewset + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorStaticStageRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorStaticStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/authenticator/static/{stage_uuid}/: + get: + operationId: stages_authenticator_static_retrieve + description: AuthenticatorStaticStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Static Authenticator Setup Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorStaticStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: stages_authenticator_static_update + description: AuthenticatorStaticStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Static Authenticator Setup Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorStaticStageRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorStaticStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: stages_authenticator_static_partial_update + description: AuthenticatorStaticStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Static Authenticator Setup Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedAuthenticatorStaticStageRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorStaticStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: stages_authenticator_static_destroy + description: AuthenticatorStaticStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Static Authenticator Setup Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/authenticator/static/{stage_uuid}/used_by/: + get: + operationId: stages_authenticator_static_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Static Authenticator Setup Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/authenticator/totp/: + get: + operationId: stages_authenticator_totp_list + description: AuthenticatorTOTPStage Viewset + parameters: + - in: query + name: configure_flow + schema: + type: string + format: uuid + - in: query + name: digits + schema: + type: string + enum: + - '6' + - '8' + - in: query + name: friendly_name + schema: + type: string + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: stage_uuid + schema: + type: string + format: uuid + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedAuthenticatorTOTPStageList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: stages_authenticator_totp_create + description: AuthenticatorTOTPStage Viewset + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorTOTPStageRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorTOTPStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/authenticator/totp/{stage_uuid}/: + get: + operationId: stages_authenticator_totp_retrieve + description: AuthenticatorTOTPStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this TOTP Authenticator Setup Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorTOTPStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: stages_authenticator_totp_update + description: AuthenticatorTOTPStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this TOTP Authenticator Setup Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorTOTPStageRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorTOTPStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: stages_authenticator_totp_partial_update + description: AuthenticatorTOTPStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this TOTP Authenticator Setup Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedAuthenticatorTOTPStageRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorTOTPStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: stages_authenticator_totp_destroy + description: AuthenticatorTOTPStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this TOTP Authenticator Setup Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/authenticator/totp/{stage_uuid}/used_by/: + get: + operationId: stages_authenticator_totp_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this TOTP Authenticator Setup Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/authenticator/validate/: + get: + operationId: stages_authenticator_validate_list + description: AuthenticatorValidateStage Viewset + parameters: + - in: query + name: configuration_stages + schema: + type: array + items: + type: string + format: uuid + explode: true + style: form + - in: query + name: name + schema: + type: string + - in: query + name: not_configured_action + schema: + type: string + enum: + - configure + - deny + - skip + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedAuthenticatorValidateStageList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: stages_authenticator_validate_create + description: AuthenticatorValidateStage Viewset + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorValidateStageRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorValidateStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/authenticator/validate/{stage_uuid}/: + get: + operationId: stages_authenticator_validate_retrieve + description: AuthenticatorValidateStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Authenticator Validation Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorValidateStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: stages_authenticator_validate_update + description: AuthenticatorValidateStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Authenticator Validation Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorValidateStageRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorValidateStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: stages_authenticator_validate_partial_update + description: AuthenticatorValidateStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Authenticator Validation Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedAuthenticatorValidateStageRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorValidateStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: stages_authenticator_validate_destroy + description: AuthenticatorValidateStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Authenticator Validation Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/authenticator/validate/{stage_uuid}/used_by/: + get: + operationId: stages_authenticator_validate_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Authenticator Validation Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/authenticator/webauthn/: + get: + operationId: stages_authenticator_webauthn_list + description: AuthenticatorWebAuthnStage Viewset + parameters: + - in: query + name: authenticator_attachment + schema: + type: string + nullable: true + enum: + - cross-platform + - platform + - in: query + name: configure_flow + schema: + type: string + format: uuid + - in: query + name: device_type_restrictions + schema: + type: array + items: + type: string + format: uuid + explode: true + style: form + - in: query + name: friendly_name + schema: + type: string + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: resident_key_requirement + schema: + type: string + enum: + - discouraged + - preferred + - required + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: stage_uuid + schema: + type: string + format: uuid + - in: query + name: user_verification + schema: + type: string + enum: + - discouraged + - preferred + - required + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedAuthenticatorWebAuthnStageList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: stages_authenticator_webauthn_create + description: AuthenticatorWebAuthnStage Viewset + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorWebAuthnStageRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorWebAuthnStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/authenticator/webauthn/{stage_uuid}/: + get: + operationId: stages_authenticator_webauthn_retrieve + description: AuthenticatorWebAuthnStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this WebAuthn Authenticator Setup Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorWebAuthnStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: stages_authenticator_webauthn_update + description: AuthenticatorWebAuthnStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this WebAuthn Authenticator Setup Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorWebAuthnStageRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorWebAuthnStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: stages_authenticator_webauthn_partial_update + description: AuthenticatorWebAuthnStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this WebAuthn Authenticator Setup Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedAuthenticatorWebAuthnStageRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorWebAuthnStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: stages_authenticator_webauthn_destroy + description: AuthenticatorWebAuthnStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this WebAuthn Authenticator Setup Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/authenticator/webauthn/{stage_uuid}/used_by/: + get: + operationId: stages_authenticator_webauthn_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this WebAuthn Authenticator Setup Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/authenticator/webauthn_device_types/: + get: + operationId: stages_authenticator_webauthn_device_types_list + description: WebAuthnDeviceType Viewset + parameters: + - in: query + name: aaguid + schema: + type: string + format: uuid + - in: query + name: description + schema: + type: string + - in: query + name: icon + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedWebAuthnDeviceTypeList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/authenticator/webauthn_device_types/{aaguid}/: + get: + operationId: stages_authenticator_webauthn_device_types_retrieve + description: WebAuthnDeviceType Viewset + parameters: + - in: path + name: aaguid + schema: + type: string + format: uuid + description: A UUID string identifying this WebAuthn Device type. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/WebAuthnDeviceType' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/captcha/: + get: + operationId: stages_captcha_list + description: CaptchaStage Viewset + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: public_key + schema: + type: string + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedCaptchaStageList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: stages_captcha_create + description: CaptchaStage Viewset + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CaptchaStageRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/CaptchaStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/captcha/{stage_uuid}/: + get: + operationId: stages_captcha_retrieve + description: CaptchaStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Captcha Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CaptchaStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: stages_captcha_update + description: CaptchaStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Captcha Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CaptchaStageRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CaptchaStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: stages_captcha_partial_update + description: CaptchaStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Captcha Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedCaptchaStageRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CaptchaStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: stages_captcha_destroy + description: CaptchaStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Captcha Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/captcha/{stage_uuid}/used_by/: + get: + operationId: stages_captcha_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Captcha Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/consent/: + get: + operationId: stages_consent_list + description: ConsentStage Viewset + parameters: + - in: query + name: consent_expire_in + schema: + type: string + - in: query + name: mode + schema: + type: string + enum: + - always_require + - expiring + - permanent + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: stage_uuid + schema: + type: string + format: uuid + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedConsentStageList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: stages_consent_create + description: ConsentStage Viewset + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ConsentStageRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/ConsentStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/consent/{stage_uuid}/: + get: + operationId: stages_consent_retrieve + description: ConsentStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Consent Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ConsentStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: stages_consent_update + description: ConsentStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Consent Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ConsentStageRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ConsentStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: stages_consent_partial_update + description: ConsentStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Consent Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedConsentStageRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ConsentStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: stages_consent_destroy + description: ConsentStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Consent Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/consent/{stage_uuid}/used_by/: + get: + operationId: stages_consent_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Consent Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/deny/: + get: + operationId: stages_deny_list + description: DenyStage Viewset + parameters: + - in: query + name: deny_message + schema: + type: string + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: stage_uuid + schema: + type: string + format: uuid + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedDenyStageList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: stages_deny_create + description: DenyStage Viewset + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DenyStageRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/DenyStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/deny/{stage_uuid}/: + get: + operationId: stages_deny_retrieve + description: DenyStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Deny Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DenyStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: stages_deny_update + description: DenyStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Deny Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DenyStageRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DenyStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: stages_deny_partial_update + description: DenyStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Deny Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedDenyStageRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DenyStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: stages_deny_destroy + description: DenyStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Deny Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/deny/{stage_uuid}/used_by/: + get: + operationId: stages_deny_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Deny Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/dummy/: + get: + operationId: stages_dummy_list + description: DummyStage Viewset + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: stage_uuid + schema: + type: string + format: uuid + - in: query + name: throw_error + schema: + type: boolean + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedDummyStageList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: stages_dummy_create + description: DummyStage Viewset + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DummyStageRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/DummyStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/dummy/{stage_uuid}/: + get: + operationId: stages_dummy_retrieve + description: DummyStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Dummy Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DummyStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: stages_dummy_update + description: DummyStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Dummy Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DummyStageRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DummyStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: stages_dummy_partial_update + description: DummyStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Dummy Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedDummyStageRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DummyStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: stages_dummy_destroy + description: DummyStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Dummy Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/dummy/{stage_uuid}/used_by/: + get: + operationId: stages_dummy_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Dummy Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/email/: + get: + operationId: stages_email_list + description: EmailStage Viewset + parameters: + - in: query + name: activate_user_on_success + schema: + type: boolean + - in: query + name: from_address + schema: + type: string + - in: query + name: host + schema: + type: string + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: port + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: subject + schema: + type: string + - in: query + name: template + schema: + type: string + - in: query + name: timeout + schema: + type: integer + - in: query + name: token_expiry + schema: + type: integer + - in: query + name: use_global_settings + schema: + type: boolean + - in: query + name: use_ssl + schema: + type: boolean + - in: query + name: use_tls + schema: + type: boolean + - in: query + name: username + schema: + type: string + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedEmailStageList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: stages_email_create + description: EmailStage Viewset + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EmailStageRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/EmailStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/email/{stage_uuid}/: + get: + operationId: stages_email_retrieve + description: EmailStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Email Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/EmailStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: stages_email_update + description: EmailStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Email Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EmailStageRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/EmailStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: stages_email_partial_update + description: EmailStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Email Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedEmailStageRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/EmailStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: stages_email_destroy + description: EmailStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Email Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/email/{stage_uuid}/used_by/: + get: + operationId: stages_email_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Email Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/email/templates/: + get: + operationId: stages_email_templates_list + description: Get all available templates, including custom templates + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TypeCreate' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/identification/: + get: + operationId: stages_identification_list + description: IdentificationStage Viewset + parameters: + - in: query + name: case_insensitive_matching + schema: + type: boolean + - in: query + name: enrollment_flow + schema: + type: string + format: uuid + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: password_stage + schema: + type: string + format: uuid + - in: query + name: passwordless_flow + schema: + type: string + format: uuid + - in: query + name: recovery_flow + schema: + type: string + format: uuid + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: show_matched_user + schema: + type: boolean + - in: query + name: show_source_labels + schema: + type: boolean + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedIdentificationStageList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: stages_identification_create + description: IdentificationStage Viewset + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/IdentificationStageRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/IdentificationStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/identification/{stage_uuid}/: + get: + operationId: stages_identification_retrieve + description: IdentificationStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Identification Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/IdentificationStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: stages_identification_update + description: IdentificationStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Identification Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/IdentificationStageRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/IdentificationStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: stages_identification_partial_update + description: IdentificationStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Identification Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedIdentificationStageRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/IdentificationStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: stages_identification_destroy + description: IdentificationStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Identification Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/identification/{stage_uuid}/used_by/: + get: + operationId: stages_identification_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Identification Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/invitation/invitations/: + get: + operationId: stages_invitation_invitations_list + description: Invitation Viewset + parameters: + - in: query + name: created_by__username + schema: + type: string + - in: query + name: expires + schema: + type: string + format: date-time + - in: query + name: flow__slug + schema: + type: string + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedInvitationList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: stages_invitation_invitations_create + description: Invitation Viewset + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InvitationRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/Invitation' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/invitation/invitations/{invite_uuid}/: + get: + operationId: stages_invitation_invitations_retrieve + description: Invitation Viewset + parameters: + - in: path + name: invite_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Invitation. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Invitation' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: stages_invitation_invitations_update + description: Invitation Viewset + parameters: + - in: path + name: invite_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Invitation. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InvitationRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Invitation' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: stages_invitation_invitations_partial_update + description: Invitation Viewset + parameters: + - in: path + name: invite_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Invitation. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedInvitationRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Invitation' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: stages_invitation_invitations_destroy + description: Invitation Viewset + parameters: + - in: path + name: invite_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Invitation. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/invitation/invitations/{invite_uuid}/used_by/: + get: + operationId: stages_invitation_invitations_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: invite_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Invitation. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/invitation/stages/: + get: + operationId: stages_invitation_stages_list + description: InvitationStage Viewset + parameters: + - in: query + name: continue_flow_without_invitation + schema: + type: boolean + - in: query + name: name + schema: + type: string + - in: query + name: no_flows + schema: + type: boolean + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: stage_uuid + schema: + type: string + format: uuid + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedInvitationStageList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: stages_invitation_stages_create + description: InvitationStage Viewset + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InvitationStageRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/InvitationStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/invitation/stages/{stage_uuid}/: + get: + operationId: stages_invitation_stages_retrieve + description: InvitationStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Invitation Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/InvitationStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: stages_invitation_stages_update + description: InvitationStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Invitation Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InvitationStageRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/InvitationStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: stages_invitation_stages_partial_update + description: InvitationStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Invitation Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedInvitationStageRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/InvitationStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: stages_invitation_stages_destroy + description: InvitationStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Invitation Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/invitation/stages/{stage_uuid}/used_by/: + get: + operationId: stages_invitation_stages_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Invitation Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/password/: + get: + operationId: stages_password_list + description: PasswordStage Viewset + parameters: + - in: query + name: allow_show_password + schema: + type: boolean + - in: query + name: configure_flow + schema: + type: string + format: uuid + - in: query + name: failed_attempts_before_cancel + schema: + type: integer + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedPasswordStageList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: stages_password_create + description: PasswordStage Viewset + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordStageRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/password/{stage_uuid}/: + get: + operationId: stages_password_retrieve + description: PasswordStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Password Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: stages_password_update + description: PasswordStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Password Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordStageRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: stages_password_partial_update + description: PasswordStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Password Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedPasswordStageRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: stages_password_destroy + description: PasswordStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Password Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/password/{stage_uuid}/used_by/: + get: + operationId: stages_password_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Password Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/prompt/prompts/: + get: + operationId: stages_prompt_prompts_list + description: Prompt Viewset + parameters: + - in: query + name: field_key + schema: + type: string + - in: query + name: label + schema: + type: string + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: placeholder + schema: + type: string + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: type + schema: + type: string + enum: + - ak-locale + - checkbox + - date + - date-time + - dropdown + - email + - file + - hidden + - number + - password + - radio-button-group + - separator + - static + - text + - text_area + - text_area_read_only + - text_read_only + - username + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedPromptList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: stages_prompt_prompts_create + description: Prompt Viewset + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PromptRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/Prompt' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/prompt/prompts/{prompt_uuid}/: + get: + operationId: stages_prompt_prompts_retrieve + description: Prompt Viewset + parameters: + - in: path + name: prompt_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Prompt. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Prompt' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: stages_prompt_prompts_update + description: Prompt Viewset + parameters: + - in: path + name: prompt_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Prompt. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PromptRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Prompt' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: stages_prompt_prompts_partial_update + description: Prompt Viewset + parameters: + - in: path + name: prompt_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Prompt. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedPromptRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Prompt' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: stages_prompt_prompts_destroy + description: Prompt Viewset + parameters: + - in: path + name: prompt_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Prompt. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/prompt/prompts/{prompt_uuid}/used_by/: + get: + operationId: stages_prompt_prompts_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: prompt_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Prompt. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/prompt/prompts/preview/: + post: + operationId: stages_prompt_prompts_preview_create + description: Preview a prompt as a challenge, just like a flow would receive + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PromptRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PromptChallenge' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/prompt/stages/: + get: + operationId: stages_prompt_stages_list + description: PromptStage Viewset + parameters: + - in: query + name: fields + schema: + type: array + items: + type: string + format: uuid + explode: true + style: form + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: stage_uuid + schema: + type: string + format: uuid + - in: query + name: validation_policies + schema: + type: array + items: + type: string + format: uuid + explode: true + style: form + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedPromptStageList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: stages_prompt_stages_create + description: PromptStage Viewset + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PromptStageRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/PromptStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/prompt/stages/{stage_uuid}/: + get: + operationId: stages_prompt_stages_retrieve + description: PromptStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Prompt Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PromptStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: stages_prompt_stages_update + description: PromptStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Prompt Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PromptStageRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PromptStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: stages_prompt_stages_partial_update + description: PromptStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Prompt Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedPromptStageRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PromptStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: stages_prompt_stages_destroy + description: PromptStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Prompt Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/prompt/stages/{stage_uuid}/used_by/: + get: + operationId: stages_prompt_stages_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Prompt Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/source/: + get: + operationId: stages_source_list + description: SourceStage Viewset + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: resume_timeout + schema: + type: string + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: source + schema: + type: string + format: uuid + - in: query + name: stage_uuid + schema: + type: string + format: uuid + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSourceStageList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: stages_source_create + description: SourceStage Viewset + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SourceStageRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/SourceStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/source/{stage_uuid}/: + get: + operationId: stages_source_retrieve + description: SourceStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Source Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SourceStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: stages_source_update + description: SourceStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Source Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SourceStageRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SourceStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: stages_source_partial_update + description: SourceStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Source Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedSourceStageRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SourceStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: stages_source_destroy + description: SourceStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Source Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/source/{stage_uuid}/used_by/: + get: + operationId: stages_source_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Source Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/user_delete/: + get: + operationId: stages_user_delete_list + description: UserDeleteStage Viewset + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: stage_uuid + schema: + type: string + format: uuid + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedUserDeleteStageList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: stages_user_delete_create + description: UserDeleteStage Viewset + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserDeleteStageRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/UserDeleteStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/user_delete/{stage_uuid}/: + get: + operationId: stages_user_delete_retrieve + description: UserDeleteStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this User Delete Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserDeleteStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: stages_user_delete_update + description: UserDeleteStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this User Delete Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserDeleteStageRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserDeleteStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: stages_user_delete_partial_update + description: UserDeleteStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this User Delete Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedUserDeleteStageRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserDeleteStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: stages_user_delete_destroy + description: UserDeleteStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this User Delete Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/user_delete/{stage_uuid}/used_by/: + get: + operationId: stages_user_delete_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this User Delete Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/user_login/: + get: + operationId: stages_user_login_list + description: UserLoginStage Viewset + parameters: + - in: query + name: geoip_binding + schema: + type: string + enum: + - bind_continent + - bind_continent_country + - bind_continent_country_city + - no_binding + description: |+ + Bind sessions created by this stage to the configured GeoIP location + + - in: query + name: name + schema: + type: string + - in: query + name: network_binding + schema: + type: string + enum: + - bind_asn + - bind_asn_network + - bind_asn_network_ip + - no_binding + description: |+ + Bind sessions created by this stage to the configured network + + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: remember_me_offset + schema: + type: string + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: session_duration + schema: + type: string + - in: query + name: stage_uuid + schema: + type: string + format: uuid + - in: query + name: terminate_other_sessions + schema: + type: boolean + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedUserLoginStageList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: stages_user_login_create + description: UserLoginStage Viewset + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserLoginStageRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/UserLoginStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/user_login/{stage_uuid}/: + get: + operationId: stages_user_login_retrieve + description: UserLoginStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this User Login Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserLoginStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: stages_user_login_update + description: UserLoginStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this User Login Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserLoginStageRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserLoginStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: stages_user_login_partial_update + description: UserLoginStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this User Login Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedUserLoginStageRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserLoginStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: stages_user_login_destroy + description: UserLoginStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this User Login Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/user_login/{stage_uuid}/used_by/: + get: + operationId: stages_user_login_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this User Login Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/user_logout/: + get: + operationId: stages_user_logout_list + description: UserLogoutStage Viewset + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: stage_uuid + schema: + type: string + format: uuid + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedUserLogoutStageList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: stages_user_logout_create + description: UserLogoutStage Viewset + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserLogoutStageRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/UserLogoutStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/user_logout/{stage_uuid}/: + get: + operationId: stages_user_logout_retrieve + description: UserLogoutStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this User Logout Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserLogoutStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: stages_user_logout_update + description: UserLogoutStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this User Logout Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserLogoutStageRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserLogoutStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: stages_user_logout_partial_update + description: UserLogoutStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this User Logout Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedUserLogoutStageRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserLogoutStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: stages_user_logout_destroy + description: UserLogoutStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this User Logout Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/user_logout/{stage_uuid}/used_by/: + get: + operationId: stages_user_logout_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this User Logout Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/user_write/: + get: + operationId: stages_user_write_list + description: UserWriteStage Viewset + parameters: + - in: query + name: create_users_as_inactive + schema: + type: boolean + - in: query + name: create_users_group + schema: + type: string + format: uuid + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: stage_uuid + schema: + type: string + format: uuid + - in: query + name: user_creation_mode + schema: + type: string + enum: + - always_create + - create_when_required + - never_create + - in: query + name: user_path_template + schema: + type: string + - in: query + name: user_type + schema: + type: string + enum: + - external + - internal + - internal_service_account + - service_account + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedUserWriteStageList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: stages_user_write_create + description: UserWriteStage Viewset + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserWriteStageRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/UserWriteStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/user_write/{stage_uuid}/: + get: + operationId: stages_user_write_retrieve + description: UserWriteStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this User Write Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserWriteStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: stages_user_write_update + description: UserWriteStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this User Write Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserWriteStageRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserWriteStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: stages_user_write_partial_update + description: UserWriteStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this User Write Stage. + required: true + tags: + - stages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedUserWriteStageRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserWriteStage' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: stages_user_write_destroy + description: UserWriteStage Viewset + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this User Write Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /stages/user_write/{stage_uuid}/used_by/: + get: + operationId: stages_user_write_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: stage_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this User Write Stage. + required: true + tags: + - stages + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /tenants/domains/: + get: + operationId: tenants_domains_list + description: Domain ViewSet + parameters: + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - tenants + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedDomainList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: tenants_domains_create + description: Domain ViewSet + tags: + - tenants + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DomainRequest' + required: true + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/Domain' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /tenants/domains/{id}/: + get: + operationId: tenants_domains_retrieve + description: Domain ViewSet + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Domain. + required: true + tags: + - tenants + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Domain' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: tenants_domains_update + description: Domain ViewSet + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Domain. + required: true + tags: + - tenants + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DomainRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Domain' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: tenants_domains_partial_update + description: Domain ViewSet + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Domain. + required: true + tags: + - tenants + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedDomainRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Domain' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: tenants_domains_destroy + description: Domain ViewSet + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Domain. + required: true + tags: + - tenants + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /tenants/tenants/: + get: + operationId: tenants_tenants_list + description: Tenant Viewset + parameters: + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - tenants + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedTenantList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: tenants_tenants_create + description: Tenant Viewset + tags: + - tenants + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TenantRequest' + required: true + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/Tenant' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /tenants/tenants/{tenant_uuid}/: + get: + operationId: tenants_tenants_retrieve + description: Tenant Viewset + parameters: + - in: path + name: tenant_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Tenant. + required: true + tags: + - tenants + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Tenant' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: tenants_tenants_update + description: Tenant Viewset + parameters: + - in: path + name: tenant_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Tenant. + required: true + tags: + - tenants + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TenantRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Tenant' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: tenants_tenants_partial_update + description: Tenant Viewset + parameters: + - in: path + name: tenant_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Tenant. + required: true + tags: + - tenants + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedTenantRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Tenant' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: tenants_tenants_destroy + description: Tenant Viewset + parameters: + - in: path + name: tenant_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Tenant. + required: true + tags: + - tenants + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /tenants/tenants/{tenant_uuid}/create_admin_group/: + post: + operationId: tenants_tenants_create_admin_group_create + description: Create admin group and add user to it. + parameters: + - in: path + name: tenant_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Tenant. + required: true + tags: + - tenants + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TenantAdminGroupRequestRequest' + required: true + responses: + '204': + description: Group created successfully. + '400': + description: Bad request + '404': + description: User not found + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /tenants/tenants/{tenant_uuid}/create_recovery_key/: + post: + operationId: tenants_tenants_create_recovery_key_create + description: Create recovery key for user. + parameters: + - in: path + name: tenant_uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Tenant. + required: true + tags: + - tenants + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TenantRecoveryKeyRequestRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/TenantRecoveryKeyResponse' + description: '' + '400': + description: Bad request + '404': + description: User not found + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' +components: + schemas: + AccessDeniedChallenge: + type: object + description: Challenge when a flow's active stage calls `stage_invalid()`. + properties: + flow_info: + $ref: '#/components/schemas/ContextualFlowInfo' + component: + type: string + default: ak-stage-access-denied + response_errors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + pending_user: + type: string + pending_user_avatar: + type: string + error_message: + type: string + required: + - pending_user + - pending_user_avatar + AlgEnum: + enum: + - rsa + - ecdsa + type: string + App: + type: object + description: Serialize Application info + properties: + name: + type: string + label: + type: string + required: + - label + - name + AppEnum: + enum: + - authentik.tenants + - authentik.admin + - authentik.api + - authentik.crypto + - authentik.flows + - authentik.outposts + - authentik.policies.dummy + - authentik.policies.event_matcher + - authentik.policies.expiry + - authentik.policies.expression + - authentik.policies.geoip + - authentik.policies.password + - authentik.policies.reputation + - authentik.policies + - authentik.providers.ldap + - authentik.providers.oauth2 + - authentik.providers.proxy + - authentik.providers.radius + - authentik.providers.saml + - authentik.providers.scim + - authentik.rbac + - authentik.recovery + - authentik.sources.ldap + - authentik.sources.oauth + - authentik.sources.plex + - authentik.sources.saml + - authentik.sources.scim + - authentik.stages.authenticator + - authentik.stages.authenticator_duo + - authentik.stages.authenticator_sms + - authentik.stages.authenticator_static + - authentik.stages.authenticator_totp + - authentik.stages.authenticator_validate + - authentik.stages.authenticator_webauthn + - authentik.stages.captcha + - authentik.stages.consent + - authentik.stages.deny + - authentik.stages.dummy + - authentik.stages.email + - authentik.stages.identification + - authentik.stages.invitation + - authentik.stages.password + - authentik.stages.prompt + - authentik.stages.user_delete + - authentik.stages.user_login + - authentik.stages.user_logout + - authentik.stages.user_write + - authentik.brands + - authentik.blueprints + - authentik.core + - authentik.enterprise + - authentik.enterprise.audit + - authentik.enterprise.providers.google_workspace + - authentik.enterprise.providers.microsoft_entra + - authentik.enterprise.providers.rac + - authentik.enterprise.stages.source + - authentik.events + type: string + AppleChallengeResponseRequest: + type: object + description: Pseudo class for apple response + properties: + component: + type: string + minLength: 1 + default: ak-source-oauth-apple + AppleLoginChallenge: + type: object + description: Special challenge for apple-native authentication flow, which happens + on the client. + properties: + flow_info: + $ref: '#/components/schemas/ContextualFlowInfo' + component: + type: string + default: ak-source-oauth-apple + response_errors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + client_id: + type: string + scope: + type: string + redirect_uri: + type: string + state: + type: string + required: + - client_id + - redirect_uri + - scope + - state + Application: + type: object + description: Application Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Pbm uuid + name: + type: string + description: Application's display Name. + slug: + type: string + description: Internal application name, used in URLs. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + provider: + type: integer + nullable: true + provider_obj: + allOf: + - $ref: '#/components/schemas/Provider' + readOnly: true + backchannel_providers: + type: array + items: + type: integer + backchannel_providers_obj: + type: array + items: + $ref: '#/components/schemas/Provider' + readOnly: true + launch_url: + type: string + nullable: true + description: Allow formatting of launch URL + readOnly: true + open_in_new_tab: + type: boolean + description: Open launch URL in a new browser tab or window. + meta_launch_url: + type: string + format: uri + meta_icon: + type: string + nullable: true + description: |- + Get the URL to the App Icon image. If the name is /static or starts with http + it is returned as-is + readOnly: true + meta_description: + type: string + meta_publisher: + type: string + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + group: + type: string + required: + - backchannel_providers_obj + - launch_url + - meta_icon + - name + - pk + - provider_obj + - slug + ApplicationRequest: + type: object + description: Application Serializer + properties: + name: + type: string + minLength: 1 + description: Application's display Name. + slug: + type: string + minLength: 1 + description: Internal application name, used in URLs. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + provider: + type: integer + nullable: true + backchannel_providers: + type: array + items: + type: integer + open_in_new_tab: + type: boolean + description: Open launch URL in a new browser tab or window. + meta_launch_url: + type: string + format: uri + meta_description: + type: string + meta_publisher: + type: string + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + group: + type: string + required: + - name + - slug + AuthModeEnum: + enum: + - static + - prompt + type: string + AuthTypeEnum: + enum: + - basic + - bearer + type: string + AuthenticatedSession: + type: object + description: AuthenticatedSession Serializer + properties: + uuid: + type: string + format: uuid + current: + type: boolean + description: Check if session is currently active session + readOnly: true + user_agent: + type: object + description: Get parsed user agent + properties: + device: + type: object + description: User agent device + properties: + brand: + type: string + family: + type: string + model: + type: string + required: + - brand + - family + - model + os: + type: object + description: User agent os + properties: + family: + type: string + major: + type: string + minor: + type: string + patch: + type: string + patch_minor: + type: string + required: + - family + - major + - minor + - patch + - patch_minor + user_agent: + type: object + description: User agent browser + properties: + family: + type: string + major: + type: string + minor: + type: string + patch: + type: string + required: + - family + - major + - minor + - patch + string: + type: string + required: + - device + - os + - string + - user_agent + readOnly: true + geo_ip: + type: object + description: Get GeoIP Data + properties: + continent: + type: string + country: + type: string + lat: + type: number + format: double + long: + type: number + format: double + city: + type: string + required: + - city + - continent + - country + - lat + - long + nullable: true + readOnly: true + asn: + type: object + description: Get ASN Data + properties: + asn: + type: integer + as_org: + type: string + nullable: true + network: + type: string + nullable: true + required: + - as_org + - asn + - network + nullable: true + readOnly: true + user: + type: integer + last_ip: + type: string + last_user_agent: + type: string + last_used: + type: string + format: date-time + readOnly: true + expires: + type: string + format: date-time + nullable: true + required: + - asn + - current + - geo_ip + - last_ip + - last_used + - user + - user_agent + AuthenticationEnum: + enum: + - none + - require_authenticated + - require_unauthenticated + - require_superuser + - require_outpost + type: string + AuthenticatorAttachmentEnum: + enum: + - platform + - cross-platform + type: string + AuthenticatorDuoChallenge: + type: object + description: Duo Challenge + properties: + flow_info: + $ref: '#/components/schemas/ContextualFlowInfo' + component: + type: string + default: ak-stage-authenticator-duo + response_errors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + pending_user: + type: string + pending_user_avatar: + type: string + activation_barcode: + type: string + activation_code: + type: string + stage_uuid: + type: string + required: + - activation_barcode + - activation_code + - pending_user + - pending_user_avatar + - stage_uuid + AuthenticatorDuoChallengeResponseRequest: + type: object + description: Pseudo class for duo response + properties: + component: + type: string + minLength: 1 + default: ak-stage-authenticator-duo + AuthenticatorDuoStage: + type: object + description: AuthenticatorDuoStage Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Stage uuid + name: + type: string + component: + type: string + description: Get object type so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSet' + configure_flow: + type: string + format: uuid + nullable: true + description: Flow used by an authenticated user to configure this Stage. + If empty, user will not be able to configure this stage. + friendly_name: + type: string + nullable: true + client_id: + type: string + api_hostname: + type: string + admin_integration_key: + type: string + required: + - api_hostname + - client_id + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + AuthenticatorDuoStageDeviceImportResponse: + type: object + properties: + count: + type: integer + readOnly: true + error: + type: string + readOnly: true + required: + - count + - error + AuthenticatorDuoStageManualDeviceImportRequest: + type: object + properties: + duo_user_id: + type: string + minLength: 1 + username: + type: string + minLength: 1 + required: + - duo_user_id + - username + AuthenticatorDuoStageRequest: + type: object + description: AuthenticatorDuoStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + configure_flow: + type: string + format: uuid + nullable: true + description: Flow used by an authenticated user to configure this Stage. + If empty, user will not be able to configure this stage. + friendly_name: + type: string + nullable: true + minLength: 1 + client_id: + type: string + minLength: 1 + client_secret: + type: string + writeOnly: true + minLength: 1 + api_hostname: + type: string + minLength: 1 + admin_integration_key: + type: string + admin_secret_key: + type: string + writeOnly: true + required: + - api_hostname + - client_id + - client_secret + - name + AuthenticatorSMSChallenge: + type: object + description: SMS Setup challenge + properties: + flow_info: + $ref: '#/components/schemas/ContextualFlowInfo' + component: + type: string + default: ak-stage-authenticator-sms + response_errors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + pending_user: + type: string + pending_user_avatar: + type: string + phone_number_required: + type: boolean + default: true + required: + - pending_user + - pending_user_avatar + AuthenticatorSMSChallengeResponseRequest: + type: object + description: SMS Challenge response, device is set by get_response_instance + properties: + component: + type: string + minLength: 1 + default: ak-stage-authenticator-sms + code: + type: integer + phone_number: + type: string + minLength: 1 + AuthenticatorSMSStage: + type: object + description: AuthenticatorSMSStage Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Stage uuid + name: + type: string + component: + type: string + description: Get object type so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSet' + configure_flow: + type: string + format: uuid + nullable: true + description: Flow used by an authenticated user to configure this Stage. + If empty, user will not be able to configure this stage. + friendly_name: + type: string + nullable: true + provider: + $ref: '#/components/schemas/ProviderEnum' + from_number: + type: string + account_sid: + type: string + auth: + type: string + auth_password: + type: string + auth_type: + $ref: '#/components/schemas/AuthTypeEnum' + verify_only: + type: boolean + description: When enabled, the Phone number is only used during enrollment + to verify the users authenticity. Only a hash of the phone number is saved + to ensure it is not reused in the future. + mapping: + type: string + format: uuid + nullable: true + description: Optionally modify the payload being sent to custom providers. + required: + - account_sid + - auth + - component + - from_number + - meta_model_name + - name + - pk + - provider + - verbose_name + - verbose_name_plural + AuthenticatorSMSStageRequest: + type: object + description: AuthenticatorSMSStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + configure_flow: + type: string + format: uuid + nullable: true + description: Flow used by an authenticated user to configure this Stage. + If empty, user will not be able to configure this stage. + friendly_name: + type: string + nullable: true + minLength: 1 + provider: + $ref: '#/components/schemas/ProviderEnum' + from_number: + type: string + minLength: 1 + account_sid: + type: string + minLength: 1 + auth: + type: string + minLength: 1 + auth_password: + type: string + auth_type: + $ref: '#/components/schemas/AuthTypeEnum' + verify_only: + type: boolean + description: When enabled, the Phone number is only used during enrollment + to verify the users authenticity. Only a hash of the phone number is saved + to ensure it is not reused in the future. + mapping: + type: string + format: uuid + nullable: true + description: Optionally modify the payload being sent to custom providers. + required: + - account_sid + - auth + - from_number + - name + - provider + AuthenticatorStaticChallenge: + type: object + description: Static authenticator challenge + properties: + flow_info: + $ref: '#/components/schemas/ContextualFlowInfo' + component: + type: string + default: ak-stage-authenticator-static + response_errors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + pending_user: + type: string + pending_user_avatar: + type: string + codes: + type: array + items: + type: string + required: + - codes + - pending_user + - pending_user_avatar + AuthenticatorStaticChallengeResponseRequest: + type: object + description: Pseudo class for static response + properties: + component: + type: string + minLength: 1 + default: ak-stage-authenticator-static + AuthenticatorStaticStage: + type: object + description: AuthenticatorStaticStage Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Stage uuid + name: + type: string + component: + type: string + description: Get object type so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSet' + configure_flow: + type: string + format: uuid + nullable: true + description: Flow used by an authenticated user to configure this Stage. + If empty, user will not be able to configure this stage. + friendly_name: + type: string + nullable: true + token_count: + type: integer + maximum: 2147483647 + minimum: 0 + token_length: + type: integer + maximum: 2147483647 + minimum: 0 + required: + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + AuthenticatorStaticStageRequest: + type: object + description: AuthenticatorStaticStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + configure_flow: + type: string + format: uuid + nullable: true + description: Flow used by an authenticated user to configure this Stage. + If empty, user will not be able to configure this stage. + friendly_name: + type: string + nullable: true + minLength: 1 + token_count: + type: integer + maximum: 2147483647 + minimum: 0 + token_length: + type: integer + maximum: 2147483647 + minimum: 0 + required: + - name + AuthenticatorTOTPChallenge: + type: object + description: TOTP Setup challenge + properties: + flow_info: + $ref: '#/components/schemas/ContextualFlowInfo' + component: + type: string + default: ak-stage-authenticator-totp + response_errors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + pending_user: + type: string + pending_user_avatar: + type: string + config_url: + type: string + required: + - config_url + - pending_user + - pending_user_avatar + AuthenticatorTOTPChallengeResponseRequest: + type: object + description: TOTP Challenge response, device is set by get_response_instance + properties: + component: + type: string + minLength: 1 + default: ak-stage-authenticator-totp + code: + type: integer + required: + - code + AuthenticatorTOTPStage: + type: object + description: AuthenticatorTOTPStage Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Stage uuid + name: + type: string + component: + type: string + description: Get object type so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSet' + configure_flow: + type: string + format: uuid + nullable: true + description: Flow used by an authenticated user to configure this Stage. + If empty, user will not be able to configure this stage. + friendly_name: + type: string + nullable: true + digits: + $ref: '#/components/schemas/DigitsEnum' + required: + - component + - digits + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + AuthenticatorTOTPStageRequest: + type: object + description: AuthenticatorTOTPStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + configure_flow: + type: string + format: uuid + nullable: true + description: Flow used by an authenticated user to configure this Stage. + If empty, user will not be able to configure this stage. + friendly_name: + type: string + nullable: true + minLength: 1 + digits: + $ref: '#/components/schemas/DigitsEnum' + required: + - digits + - name + AuthenticatorValidateStage: + type: object + description: AuthenticatorValidateStage Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Stage uuid + name: + type: string + component: + type: string + description: Get object type so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSet' + not_configured_action: + $ref: '#/components/schemas/NotConfiguredActionEnum' + device_classes: + type: array + items: + $ref: '#/components/schemas/DeviceClassesEnum' + description: Device classes which can be used to authenticate + configuration_stages: + type: array + items: + type: string + format: uuid + description: Stages used to configure Authenticator when user doesn't have + any compatible devices. After this configuration Stage passes, the user + is not prompted again. + last_auth_threshold: + type: string + description: If any of the user's device has been used within this threshold, + this stage will be skipped + webauthn_user_verification: + allOf: + - $ref: '#/components/schemas/UserVerificationEnum' + description: Enforce user verification for WebAuthn devices. + webauthn_allowed_device_types: + type: array + items: + type: string + format: uuid + webauthn_allowed_device_types_obj: + type: array + items: + $ref: '#/components/schemas/WebAuthnDeviceType' + readOnly: true + required: + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + - webauthn_allowed_device_types_obj + AuthenticatorValidateStageRequest: + type: object + description: AuthenticatorValidateStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + not_configured_action: + $ref: '#/components/schemas/NotConfiguredActionEnum' + device_classes: + type: array + items: + $ref: '#/components/schemas/DeviceClassesEnum' + description: Device classes which can be used to authenticate + configuration_stages: + type: array + items: + type: string + format: uuid + description: Stages used to configure Authenticator when user doesn't have + any compatible devices. After this configuration Stage passes, the user + is not prompted again. + last_auth_threshold: + type: string + minLength: 1 + description: If any of the user's device has been used within this threshold, + this stage will be skipped + webauthn_user_verification: + allOf: + - $ref: '#/components/schemas/UserVerificationEnum' + description: Enforce user verification for WebAuthn devices. + webauthn_allowed_device_types: + type: array + items: + type: string + format: uuid + required: + - name + AuthenticatorValidationChallenge: + type: object + description: Authenticator challenge + properties: + flow_info: + $ref: '#/components/schemas/ContextualFlowInfo' + component: + type: string + default: ak-stage-authenticator-validate + response_errors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + pending_user: + type: string + pending_user_avatar: + type: string + device_challenges: + type: array + items: + $ref: '#/components/schemas/DeviceChallenge' + configuration_stages: + type: array + items: + $ref: '#/components/schemas/SelectableStage' + required: + - configuration_stages + - device_challenges + - pending_user + - pending_user_avatar + AuthenticatorValidationChallengeResponseRequest: + type: object + description: Challenge used for Code-based and WebAuthn authenticators + properties: + component: + type: string + minLength: 1 + default: ak-stage-authenticator-validate + selected_challenge: + $ref: '#/components/schemas/DeviceChallengeRequest' + selected_stage: + type: string + minLength: 1 + code: + type: string + minLength: 1 + webauthn: + type: object + additionalProperties: {} + duo: + type: integer + AuthenticatorWebAuthnChallenge: + type: object + description: WebAuthn Challenge + properties: + flow_info: + $ref: '#/components/schemas/ContextualFlowInfo' + component: + type: string + default: ak-stage-authenticator-webauthn + response_errors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + pending_user: + type: string + pending_user_avatar: + type: string + registration: + type: object + additionalProperties: {} + required: + - pending_user + - pending_user_avatar + - registration + AuthenticatorWebAuthnChallengeResponseRequest: + type: object + description: WebAuthn Challenge response + properties: + component: + type: string + minLength: 1 + default: ak-stage-authenticator-webauthn + response: + type: object + additionalProperties: {} + required: + - response + AuthenticatorWebAuthnStage: + type: object + description: AuthenticatorWebAuthnStage Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Stage uuid + name: + type: string + component: + type: string + description: Get object type so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSet' + configure_flow: + type: string + format: uuid + nullable: true + description: Flow used by an authenticated user to configure this Stage. + If empty, user will not be able to configure this stage. + friendly_name: + type: string + nullable: true + user_verification: + $ref: '#/components/schemas/UserVerificationEnum' + authenticator_attachment: + allOf: + - $ref: '#/components/schemas/AuthenticatorAttachmentEnum' + nullable: true + resident_key_requirement: + $ref: '#/components/schemas/ResidentKeyRequirementEnum' + device_type_restrictions: + type: array + items: + type: string + format: uuid + device_type_restrictions_obj: + type: array + items: + $ref: '#/components/schemas/WebAuthnDeviceType' + readOnly: true + required: + - component + - device_type_restrictions_obj + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + AuthenticatorWebAuthnStageRequest: + type: object + description: AuthenticatorWebAuthnStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + configure_flow: + type: string + format: uuid + nullable: true + description: Flow used by an authenticated user to configure this Stage. + If empty, user will not be able to configure this stage. + friendly_name: + type: string + nullable: true + minLength: 1 + user_verification: + $ref: '#/components/schemas/UserVerificationEnum' + authenticator_attachment: + allOf: + - $ref: '#/components/schemas/AuthenticatorAttachmentEnum' + nullable: true + resident_key_requirement: + $ref: '#/components/schemas/ResidentKeyRequirementEnum' + device_type_restrictions: + type: array + items: + type: string + format: uuid + required: + - name + AutoSubmitChallengeResponseRequest: + type: object + description: Pseudo class for autosubmit response + properties: + component: + type: string + minLength: 1 + default: ak-stage-autosubmit + AutosubmitChallenge: + type: object + description: Autosubmit challenge used to send and navigate a POST request + properties: + flow_info: + $ref: '#/components/schemas/ContextualFlowInfo' + component: + type: string + default: ak-stage-autosubmit + response_errors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + url: + type: string + attrs: + type: object + additionalProperties: + type: string + title: + type: string + required: + - attrs + - url + BackendsEnum: + enum: + - authentik.core.auth.InbuiltBackend + - authentik.core.auth.TokenBackend + - authentik.sources.ldap.auth.LDAPBackend + type: string + BindingTypeEnum: + enum: + - REDIRECT + - POST + - POST_AUTO + type: string + BlueprintFile: + type: object + properties: + path: + type: string + last_m: + type: string + format: date-time + hash: + type: string + meta: + allOf: + - $ref: '#/components/schemas/Metadata' + readOnly: true + required: + - hash + - last_m + - meta + - path + BlueprintInstance: + type: object + description: Info about a single blueprint instance file + properties: + pk: + type: string + format: uuid + readOnly: true + title: Instance uuid + name: + type: string + path: + type: string + default: '' + context: {} + last_applied: + type: string + format: date-time + readOnly: true + last_applied_hash: + type: string + readOnly: true + status: + allOf: + - $ref: '#/components/schemas/BlueprintInstanceStatusEnum' + readOnly: true + enabled: + type: boolean + managed_models: + type: array + items: + type: string + readOnly: true + metadata: + readOnly: true + content: + type: string + required: + - last_applied + - last_applied_hash + - managed_models + - metadata + - name + - pk + - status + BlueprintInstanceRequest: + type: object + description: Info about a single blueprint instance file + properties: + name: + type: string + minLength: 1 + path: + type: string + default: '' + context: {} + enabled: + type: boolean + content: + type: string + required: + - name + BlueprintInstanceStatusEnum: + enum: + - successful + - warning + - error + - orphaned + - unknown + type: string + Brand: + type: object + description: Brand Serializer + properties: + brand_uuid: + type: string + format: uuid + readOnly: true + domain: + type: string + description: Domain that activates this brand. Can be a superset, i.e. `a.b` + for `aa.b` and `ba.b` + default: + type: boolean + branding_title: + type: string + branding_logo: + type: string + branding_favicon: + type: string + flow_authentication: + type: string + format: uuid + nullable: true + flow_invalidation: + type: string + format: uuid + nullable: true + flow_recovery: + type: string + format: uuid + nullable: true + flow_unenrollment: + type: string + format: uuid + nullable: true + flow_user_settings: + type: string + format: uuid + nullable: true + flow_device_code: + type: string + format: uuid + nullable: true + default_application: + type: string + format: uuid + nullable: true + description: When set, external users will be redirected to this application + after authenticating. + web_certificate: + type: string + format: uuid + nullable: true + description: Web Certificate used by the authentik Core webserver. + attributes: {} + required: + - brand_uuid + - domain + BrandRequest: + type: object + description: Brand Serializer + properties: + domain: + type: string + minLength: 1 + description: Domain that activates this brand. Can be a superset, i.e. `a.b` + for `aa.b` and `ba.b` + default: + type: boolean + branding_title: + type: string + minLength: 1 + branding_logo: + type: string + minLength: 1 + branding_favicon: + type: string + minLength: 1 + flow_authentication: + type: string + format: uuid + nullable: true + flow_invalidation: + type: string + format: uuid + nullable: true + flow_recovery: + type: string + format: uuid + nullable: true + flow_unenrollment: + type: string + format: uuid + nullable: true + flow_user_settings: + type: string + format: uuid + nullable: true + flow_device_code: + type: string + format: uuid + nullable: true + default_application: + type: string + format: uuid + nullable: true + description: When set, external users will be redirected to this application + after authenticating. + web_certificate: + type: string + format: uuid + nullable: true + description: Web Certificate used by the authentik Core webserver. + attributes: {} + required: + - domain + Cache: + type: object + description: Generic cache stats for an object + properties: + count: + type: integer + readOnly: true + required: + - count + CapabilitiesEnum: + enum: + - can_save_media + - can_geo_ip + - can_asn + - can_impersonate + - can_debug + - is_enterprise + type: string + CaptchaChallenge: + type: object + description: Site public key + properties: + flow_info: + $ref: '#/components/schemas/ContextualFlowInfo' + component: + type: string + default: ak-stage-captcha + response_errors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + pending_user: + type: string + pending_user_avatar: + type: string + site_key: + type: string + js_url: + type: string + required: + - js_url + - pending_user + - pending_user_avatar + - site_key + CaptchaChallengeResponseRequest: + type: object + description: Validate captcha token + properties: + component: + type: string + minLength: 1 + default: ak-stage-captcha + token: + type: string + minLength: 1 + required: + - token + CaptchaStage: + type: object + description: CaptchaStage Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Stage uuid + name: + type: string + component: + type: string + description: Get object type so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSet' + public_key: + type: string + description: Public key, acquired your captcha Provider. + js_url: + type: string + api_url: + type: string + score_min_threshold: + type: number + format: double + score_max_threshold: + type: number + format: double + error_on_invalid_score: + type: boolean + description: When enabled and the received captcha score is outside of the + given threshold, the stage will show an error message. When not enabled, + the flow will continue, but the data from the captcha will be available + in the context for policy decisions + required: + - component + - meta_model_name + - name + - pk + - public_key + - verbose_name + - verbose_name_plural + CaptchaStageRequest: + type: object + description: CaptchaStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + public_key: + type: string + minLength: 1 + description: Public key, acquired your captcha Provider. + private_key: + type: string + writeOnly: true + minLength: 1 + description: Private key, acquired your captcha Provider. + js_url: + type: string + minLength: 1 + api_url: + type: string + minLength: 1 + score_min_threshold: + type: number + format: double + score_max_threshold: + type: number + format: double + error_on_invalid_score: + type: boolean + description: When enabled and the received captcha score is outside of the + given threshold, the stage will show an error message. When not enabled, + the flow will continue, but the data from the captcha will be available + in the context for policy decisions + required: + - name + - private_key + - public_key + CertificateData: + type: object + description: Get CertificateKeyPair's data + properties: + data: + type: string + readOnly: true + required: + - data + CertificateGenerationRequest: + type: object + description: Certificate generation parameters + properties: + common_name: + type: string + minLength: 1 + subject_alt_name: + type: string + validity_days: + type: integer + alg: + allOf: + - $ref: '#/components/schemas/AlgEnum' + default: rsa + required: + - common_name + - validity_days + CertificateKeyPair: + type: object + description: CertificateKeyPair Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Kp uuid + name: + type: string + fingerprint_sha256: + type: string + nullable: true + description: Get certificate Hash (SHA256) + readOnly: true + fingerprint_sha1: + type: string + nullable: true + description: Get certificate Hash (SHA1) + readOnly: true + cert_expiry: + type: string + format: date-time + nullable: true + description: Get certificate expiry + readOnly: true + cert_subject: + type: string + nullable: true + description: Get certificate subject as full rfc4514 + readOnly: true + private_key_available: + type: boolean + description: Show if this keypair has a private key configured or not + readOnly: true + private_key_type: + type: string + nullable: true + description: Get the private key's type, if set + readOnly: true + certificate_download_url: + type: string + description: Get URL to download certificate + readOnly: true + private_key_download_url: + type: string + description: Get URL to download private key + readOnly: true + managed: + type: string + readOnly: true + nullable: true + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + required: + - cert_expiry + - cert_subject + - certificate_download_url + - fingerprint_sha1 + - fingerprint_sha256 + - managed + - name + - pk + - private_key_available + - private_key_download_url + - private_key_type + CertificateKeyPairRequest: + type: object + description: CertificateKeyPair Serializer + properties: + name: + type: string + minLength: 1 + certificate_data: + type: string + writeOnly: true + minLength: 1 + description: PEM-encoded Certificate data + key_data: + type: string + writeOnly: true + description: Optional Private Key. If this is set, you can use this keypair + for encryption. + required: + - certificate_data + - name + ChallengeTypes: + oneOf: + - $ref: '#/components/schemas/AccessDeniedChallenge' + - $ref: '#/components/schemas/AppleLoginChallenge' + - $ref: '#/components/schemas/AuthenticatorDuoChallenge' + - $ref: '#/components/schemas/AuthenticatorSMSChallenge' + - $ref: '#/components/schemas/AuthenticatorStaticChallenge' + - $ref: '#/components/schemas/AuthenticatorTOTPChallenge' + - $ref: '#/components/schemas/AuthenticatorValidationChallenge' + - $ref: '#/components/schemas/AuthenticatorWebAuthnChallenge' + - $ref: '#/components/schemas/AutosubmitChallenge' + - $ref: '#/components/schemas/CaptchaChallenge' + - $ref: '#/components/schemas/ConsentChallenge' + - $ref: '#/components/schemas/DummyChallenge' + - $ref: '#/components/schemas/EmailChallenge' + - $ref: '#/components/schemas/FlowErrorChallenge' + - $ref: '#/components/schemas/IdentificationChallenge' + - $ref: '#/components/schemas/OAuthDeviceCodeChallenge' + - $ref: '#/components/schemas/OAuthDeviceCodeFinishChallenge' + - $ref: '#/components/schemas/PasswordChallenge' + - $ref: '#/components/schemas/PlexAuthenticationChallenge' + - $ref: '#/components/schemas/PromptChallenge' + - $ref: '#/components/schemas/RedirectChallenge' + - $ref: '#/components/schemas/ShellChallenge' + - $ref: '#/components/schemas/UserLoginChallenge' + discriminator: + propertyName: component + mapping: + ak-stage-access-denied: '#/components/schemas/AccessDeniedChallenge' + ak-source-oauth-apple: '#/components/schemas/AppleLoginChallenge' + ak-stage-authenticator-duo: '#/components/schemas/AuthenticatorDuoChallenge' + ak-stage-authenticator-sms: '#/components/schemas/AuthenticatorSMSChallenge' + ak-stage-authenticator-static: '#/components/schemas/AuthenticatorStaticChallenge' + ak-stage-authenticator-totp: '#/components/schemas/AuthenticatorTOTPChallenge' + ak-stage-authenticator-validate: '#/components/schemas/AuthenticatorValidationChallenge' + ak-stage-authenticator-webauthn: '#/components/schemas/AuthenticatorWebAuthnChallenge' + ak-stage-autosubmit: '#/components/schemas/AutosubmitChallenge' + ak-stage-captcha: '#/components/schemas/CaptchaChallenge' + ak-stage-consent: '#/components/schemas/ConsentChallenge' + ak-stage-dummy: '#/components/schemas/DummyChallenge' + ak-stage-email: '#/components/schemas/EmailChallenge' + ak-stage-flow-error: '#/components/schemas/FlowErrorChallenge' + ak-stage-identification: '#/components/schemas/IdentificationChallenge' + ak-provider-oauth2-device-code: '#/components/schemas/OAuthDeviceCodeChallenge' + ak-provider-oauth2-device-code-finish: '#/components/schemas/OAuthDeviceCodeFinishChallenge' + ak-stage-password: '#/components/schemas/PasswordChallenge' + ak-source-plex: '#/components/schemas/PlexAuthenticationChallenge' + ak-stage-prompt: '#/components/schemas/PromptChallenge' + xak-flow-redirect: '#/components/schemas/RedirectChallenge' + xak-flow-shell: '#/components/schemas/ShellChallenge' + ak-stage-user-login: '#/components/schemas/UserLoginChallenge' + ClientTypeEnum: + enum: + - confidential + - public + type: string + Config: + type: object + description: Serialize authentik Config into DRF Object + properties: + error_reporting: + $ref: '#/components/schemas/ErrorReportingConfig' + capabilities: + type: array + items: + $ref: '#/components/schemas/CapabilitiesEnum' + cache_timeout: + type: integer + cache_timeout_flows: + type: integer + cache_timeout_policies: + type: integer + cache_timeout_reputation: + type: integer + required: + - cache_timeout + - cache_timeout_flows + - cache_timeout_policies + - cache_timeout_reputation + - capabilities + - error_reporting + ConnectionToken: + type: object + description: ConnectionToken Serializer + properties: + pk: + type: string + format: uuid + title: Connection token uuid + provider: + type: integer + provider_obj: + allOf: + - $ref: '#/components/schemas/RACProvider' + readOnly: true + endpoint: + type: string + format: uuid + endpoint_obj: + allOf: + - $ref: '#/components/schemas/Endpoint' + readOnly: true + user: + allOf: + - $ref: '#/components/schemas/GroupMember' + readOnly: true + required: + - endpoint + - endpoint_obj + - provider + - provider_obj + - user + ConnectionTokenRequest: + type: object + description: ConnectionToken Serializer + properties: + pk: + type: string + format: uuid + title: Connection token uuid + provider: + type: integer + endpoint: + type: string + format: uuid + required: + - endpoint + - provider + ConsentChallenge: + type: object + description: Challenge info for consent screens + properties: + flow_info: + $ref: '#/components/schemas/ContextualFlowInfo' + component: + type: string + default: ak-stage-consent + response_errors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + pending_user: + type: string + pending_user_avatar: + type: string + header_text: + type: string + permissions: + type: array + items: + $ref: '#/components/schemas/ConsentPermission' + additional_permissions: + type: array + items: + $ref: '#/components/schemas/ConsentPermission' + token: + type: string + required: + - additional_permissions + - pending_user + - pending_user_avatar + - permissions + - token + ConsentChallengeResponseRequest: + type: object + description: Consent challenge response, any valid response request is valid + properties: + component: + type: string + minLength: 1 + default: ak-stage-consent + token: + type: string + minLength: 1 + required: + - token + ConsentPermission: + type: object + description: Permission used for consent + properties: + name: + type: string + id: + type: string + required: + - id + - name + ConsentStage: + type: object + description: ConsentStage Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Stage uuid + name: + type: string + component: + type: string + description: Get object type so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSet' + mode: + $ref: '#/components/schemas/ConsentStageModeEnum' + consent_expire_in: + type: string + title: Consent expires in + description: 'Offset after which consent expires. (Format: hours=1;minutes=2;seconds=3).' + required: + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + ConsentStageModeEnum: + enum: + - always_require + - permanent + - expiring + type: string + ConsentStageRequest: + type: object + description: ConsentStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + mode: + $ref: '#/components/schemas/ConsentStageModeEnum' + consent_expire_in: + type: string + minLength: 1 + title: Consent expires in + description: 'Offset after which consent expires. (Format: hours=1;minutes=2;seconds=3).' + required: + - name + ContextualFlowInfo: + type: object + description: Contextual flow information for a challenge + properties: + title: + type: string + background: + type: string + cancel_url: + type: string + layout: + $ref: '#/components/schemas/ContextualFlowInfoLayoutEnum' + required: + - cancel_url + - layout + ContextualFlowInfoLayoutEnum: + enum: + - stacked + - content_left + - content_right + - sidebar_left + - sidebar_right + type: string + Coordinate: + type: object + description: Coordinates for diagrams + properties: + x_cord: + type: integer + readOnly: true + y_cord: + type: integer + readOnly: true + required: + - x_cord + - y_cord + CountryCodeEnum: + enum: + - AF + - AX + - AL + - DZ + - AS + - AD + - AO + - AI + - AQ + - AG + - AR + - AM + - AW + - AU + - AT + - AZ + - BS + - BH + - BD + - BB + - BY + - BE + - BZ + - BJ + - BM + - BT + - BO + - BQ + - BA + - BW + - BV + - BR + - IO + - BN + - BG + - BF + - BI + - CV + - KH + - CM + - CA + - KY + - CF + - TD + - CL + - CN + - CX + - CC + - CO + - KM + - CG + - CD + - CK + - CR + - CI + - HR + - CU + - CW + - CY + - CZ + - DK + - DJ + - DM + - DO + - EC + - EG + - SV + - GQ + - ER + - EE + - SZ + - ET + - FK + - FO + - FJ + - FI + - FR + - GF + - PF + - TF + - GA + - GM + - GE + - DE + - GH + - GI + - GR + - GL + - GD + - GP + - GU + - GT + - GG + - GN + - GW + - GY + - HT + - HM + - VA + - HN + - HK + - HU + - IS + - IN + - ID + - IR + - IQ + - IE + - IM + - IL + - IT + - JM + - JP + - JE + - JO + - KZ + - KE + - KI + - KW + - KG + - LA + - LV + - LB + - LS + - LR + - LY + - LI + - LT + - LU + - MO + - MG + - MW + - MY + - MV + - ML + - MT + - MH + - MQ + - MR + - MU + - YT + - MX + - FM + - MD + - MC + - MN + - ME + - MS + - MA + - MZ + - MM + - NA + - NR + - NP + - NL + - NC + - NZ + - NI + - NE + - NG + - NU + - NF + - KP + - MK + - MP + - 'NO' + - OM + - PK + - PW + - PS + - PA + - PG + - PY + - PE + - PH + - PN + - PL + - PT + - PR + - QA + - RE + - RO + - RU + - RW + - BL + - SH + - KN + - LC + - MF + - PM + - VC + - WS + - SM + - ST + - SA + - SN + - RS + - SC + - SL + - SG + - SX + - SK + - SI + - SB + - SO + - ZA + - GS + - KR + - SS + - ES + - LK + - SD + - SR + - SJ + - SE + - CH + - SY + - TW + - TJ + - TZ + - TH + - TL + - TG + - TK + - TO + - TT + - TN + - TR + - TM + - TC + - TV + - UG + - UA + - AE + - GB + - UM + - US + - UY + - UZ + - VU + - VE + - VN + - VG + - VI + - WF + - EH + - YE + - ZM + - ZW + type: string + CurrentBrand: + type: object + description: Partial brand information for styling + properties: + matched_domain: + type: string + branding_title: + type: string + branding_logo: + type: string + branding_favicon: + type: string + ui_footer_links: + type: array + items: + $ref: '#/components/schemas/FooterLink' + readOnly: true + ui_theme: + allOf: + - $ref: '#/components/schemas/UiThemeEnum' + readOnly: true + default: automatic + flow_authentication: + type: string + flow_invalidation: + type: string + flow_recovery: + type: string + flow_unenrollment: + type: string + flow_user_settings: + type: string + flow_device_code: + type: string + default_locale: + type: string + readOnly: true + required: + - branding_favicon + - branding_logo + - branding_title + - default_locale + - matched_domain + - ui_footer_links + - ui_theme + DeniedActionEnum: + enum: + - message_continue + - message + - continue + type: string + DenyStage: + type: object + description: DenyStage Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Stage uuid + name: + type: string + component: + type: string + description: Get object type so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSet' + deny_message: + type: string + required: + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + DenyStageRequest: + type: object + description: DenyStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + deny_message: + type: string + required: + - name + DetailedCountry: + type: object + properties: + code: + $ref: '#/components/schemas/CountryCodeEnum' + name: + type: string + required: + - code + - name + DetailedCountryField: + type: object + properties: + code: + $ref: '#/components/schemas/CountryCodeEnum' + name: + type: string + required: + - code + - name + DetailedCountryFieldRequest: + type: object + properties: + code: + $ref: '#/components/schemas/CountryCodeEnum' + name: + type: string + minLength: 1 + required: + - code + - name + Device: + type: object + description: Serializer for Duo authenticator devices + properties: + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + pk: + type: integer + name: + type: string + type: + type: string + description: Get type of device + readOnly: true + confirmed: + type: boolean + created: + type: string + format: date-time + readOnly: true + last_updated: + type: string + format: date-time + readOnly: true + last_used: + type: string + format: date-time + readOnly: true + nullable: true + required: + - confirmed + - created + - last_updated + - last_used + - meta_model_name + - name + - pk + - type + - verbose_name + - verbose_name_plural + DeviceChallenge: + type: object + description: Single device challenge + properties: + device_class: + type: string + device_uid: + type: string + challenge: + type: object + additionalProperties: {} + required: + - challenge + - device_class + - device_uid + DeviceChallengeRequest: + type: object + description: Single device challenge + properties: + device_class: + type: string + minLength: 1 + device_uid: + type: string + minLength: 1 + challenge: + type: object + additionalProperties: {} + required: + - challenge + - device_class + - device_uid + DeviceClassesEnum: + enum: + - static + - totp + - webauthn + - duo + - sms + type: string + DigestAlgorithmEnum: + enum: + - http://www.w3.org/2000/09/xmldsig#sha1 + - http://www.w3.org/2001/04/xmlenc#sha256 + - http://www.w3.org/2001/04/xmldsig-more#sha384 + - http://www.w3.org/2001/04/xmlenc#sha512 + type: string + DigitsEnum: + enum: + - '6' + - '8' + type: string + DockerServiceConnection: + type: object + description: DockerServiceConnection Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Uuid + name: + type: string + local: + type: boolean + description: If enabled, use the local connection. Required Docker socket/Kubernetes + Integration + component: + type: string + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + url: + type: string + description: Can be in the format of 'unix://' when connecting to + a local docker daemon, or 'https://:2376' when connecting to + a remote system. + tls_verification: + type: string + format: uuid + nullable: true + description: CA which the endpoint's Certificate is verified against. Can + be left empty for no validation. + tls_authentication: + type: string + format: uuid + nullable: true + description: Certificate/Key used for authentication. Can be left empty + for no authentication. + required: + - component + - meta_model_name + - name + - pk + - url + - verbose_name + - verbose_name_plural + DockerServiceConnectionRequest: + type: object + description: DockerServiceConnection Serializer + properties: + name: + type: string + minLength: 1 + local: + type: boolean + description: If enabled, use the local connection. Required Docker socket/Kubernetes + Integration + url: + type: string + minLength: 1 + description: Can be in the format of 'unix://' when connecting to + a local docker daemon, or 'https://:2376' when connecting to + a remote system. + tls_verification: + type: string + format: uuid + nullable: true + description: CA which the endpoint's Certificate is verified against. Can + be left empty for no validation. + tls_authentication: + type: string + format: uuid + nullable: true + description: Certificate/Key used for authentication. Can be left empty + for no authentication. + required: + - name + - url + Domain: + type: object + description: Domain Serializer + properties: + id: + type: integer + readOnly: true + domain: + type: string + maxLength: 253 + is_primary: + type: boolean + tenant: + type: string + format: uuid + required: + - domain + - id + - tenant + DomainRequest: + type: object + description: Domain Serializer + properties: + domain: + type: string + minLength: 1 + maxLength: 253 + is_primary: + type: boolean + tenant: + type: string + format: uuid + required: + - domain + - tenant + DummyChallenge: + type: object + description: Dummy challenge + properties: + flow_info: + $ref: '#/components/schemas/ContextualFlowInfo' + component: + type: string + default: ak-stage-dummy + response_errors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + name: + type: string + required: + - name + DummyChallengeResponseRequest: + type: object + description: Dummy challenge response + properties: + component: + type: string + minLength: 1 + default: ak-stage-dummy + DummyPolicy: + type: object + description: Dummy Policy Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Policy uuid + name: + type: string + execution_logging: + type: boolean + description: When this option is enabled, all executions of this policy + will be logged. By default, only execution errors are logged. + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + bound_to: + type: integer + description: Return objects policy is bound to + readOnly: true + result: + type: boolean + wait_min: + type: integer + maximum: 2147483647 + minimum: -2147483648 + wait_max: + type: integer + maximum: 2147483647 + minimum: -2147483648 + required: + - bound_to + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + DummyPolicyRequest: + type: object + description: Dummy Policy Serializer + properties: + name: + type: string + minLength: 1 + execution_logging: + type: boolean + description: When this option is enabled, all executions of this policy + will be logged. By default, only execution errors are logged. + result: + type: boolean + wait_min: + type: integer + maximum: 2147483647 + minimum: -2147483648 + wait_max: + type: integer + maximum: 2147483647 + minimum: -2147483648 + required: + - name + DummyStage: + type: object + description: DummyStage Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Stage uuid + name: + type: string + component: + type: string + description: Get object type so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSet' + throw_error: + type: boolean + required: + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + DummyStageRequest: + type: object + description: DummyStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + throw_error: + type: boolean + required: + - name + DuoDevice: + type: object + description: Serializer for Duo authenticator devices + properties: + pk: + type: integer + readOnly: true + title: ID + name: + type: string + description: The human-readable name of this device. + maxLength: 64 + required: + - name + - pk + DuoDeviceEnrollmentStatus: + type: object + properties: + duo_response: + $ref: '#/components/schemas/DuoResponseEnum' + required: + - duo_response + DuoDeviceRequest: + type: object + description: Serializer for Duo authenticator devices + properties: + name: + type: string + minLength: 1 + description: The human-readable name of this device. + maxLength: 64 + required: + - name + DuoResponseEnum: + enum: + - success + - waiting + - invalid + type: string + EmailChallenge: + type: object + description: Email challenge + properties: + flow_info: + $ref: '#/components/schemas/ContextualFlowInfo' + component: + type: string + default: ak-stage-email + response_errors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + EmailChallengeResponseRequest: + type: object + description: |- + Email challenge resposen. No fields. This challenge is + always declared invalid to give the user a chance to retry + properties: + component: + type: string + minLength: 1 + default: ak-stage-email + EmailStage: + type: object + description: EmailStage Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Stage uuid + name: + type: string + component: + type: string + description: Get object type so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSet' + use_global_settings: + type: boolean + description: When enabled, global Email connection settings will be used + and connection settings below will be ignored. + host: + type: string + port: + type: integer + maximum: 2147483647 + minimum: -2147483648 + username: + type: string + use_tls: + type: boolean + use_ssl: + type: boolean + timeout: + type: integer + maximum: 2147483647 + minimum: -2147483648 + from_address: + type: string + format: email + maxLength: 254 + token_expiry: + type: integer + maximum: 2147483647 + minimum: -2147483648 + description: Time in minutes the token sent is valid. + subject: + type: string + template: + type: string + activate_user_on_success: + type: boolean + description: Activate users upon completion of stage. + required: + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + EmailStageRequest: + type: object + description: EmailStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + use_global_settings: + type: boolean + description: When enabled, global Email connection settings will be used + and connection settings below will be ignored. + host: + type: string + minLength: 1 + port: + type: integer + maximum: 2147483647 + minimum: -2147483648 + username: + type: string + password: + type: string + writeOnly: true + use_tls: + type: boolean + use_ssl: + type: boolean + timeout: + type: integer + maximum: 2147483647 + minimum: -2147483648 + from_address: + type: string + format: email + minLength: 1 + maxLength: 254 + token_expiry: + type: integer + maximum: 2147483647 + minimum: -2147483648 + description: Time in minutes the token sent is valid. + subject: + type: string + minLength: 1 + template: + type: string + minLength: 1 + activate_user_on_success: + type: boolean + description: Activate users upon completion of stage. + required: + - name + Endpoint: + type: object + description: Endpoint Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Pbm uuid + name: + type: string + provider: + type: integer + provider_obj: + allOf: + - $ref: '#/components/schemas/RACProvider' + readOnly: true + protocol: + $ref: '#/components/schemas/ProtocolEnum' + host: + type: string + settings: {} + property_mappings: + type: array + items: + type: string + format: uuid + auth_mode: + $ref: '#/components/schemas/AuthModeEnum' + launch_url: + type: string + nullable: true + description: |- + Build actual launch URL (the provider itself does not have one, just + individual endpoints) + readOnly: true + maximum_connections: + type: integer + maximum: 2147483647 + minimum: -2147483648 + required: + - auth_mode + - host + - launch_url + - name + - pk + - protocol + - provider + - provider_obj + EndpointRequest: + type: object + description: Endpoint Serializer + properties: + name: + type: string + minLength: 1 + provider: + type: integer + protocol: + $ref: '#/components/schemas/ProtocolEnum' + host: + type: string + minLength: 1 + settings: {} + property_mappings: + type: array + items: + type: string + format: uuid + auth_mode: + $ref: '#/components/schemas/AuthModeEnum' + maximum_connections: + type: integer + maximum: 2147483647 + minimum: -2147483648 + required: + - auth_mode + - host + - name + - protocol + - provider + ErrorDetail: + type: object + description: Serializer for rest_framework's error messages + properties: + string: + type: string + code: + type: string + required: + - code + - string + ErrorReportingConfig: + type: object + description: Config for error reporting + properties: + enabled: + type: boolean + readOnly: true + sentry_dsn: + type: string + readOnly: true + environment: + type: string + readOnly: true + send_pii: + type: boolean + readOnly: true + traces_sample_rate: + type: number + format: double + readOnly: true + required: + - enabled + - environment + - send_pii + - sentry_dsn + - traces_sample_rate + Event: + type: object + description: Event Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Event uuid + user: {} + action: + $ref: '#/components/schemas/EventActions' + app: + type: string + context: {} + client_ip: + type: string + nullable: true + created: + type: string + format: date-time + readOnly: true + expires: + type: string + format: date-time + brand: {} + required: + - action + - app + - created + - pk + EventActions: + enum: + - login + - login_failed + - logout + - user_write + - suspicious_request + - password_set + - secret_view + - secret_rotate + - invitation_used + - authorize_application + - source_linked + - impersonation_started + - impersonation_ended + - flow_execution + - policy_execution + - policy_exception + - property_mapping_exception + - system_task_execution + - system_task_exception + - system_exception + - configuration_error + - model_created + - model_updated + - model_deleted + - email_sent + - update_available + - custom_ + type: string + EventMatcherPolicy: + type: object + description: Event Matcher Policy Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Policy uuid + name: + type: string + execution_logging: + type: boolean + description: When this option is enabled, all executions of this policy + will be logged. By default, only execution errors are logged. + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + bound_to: + type: integer + description: Return objects policy is bound to + readOnly: true + action: + allOf: + - $ref: '#/components/schemas/EventActions' + nullable: true + description: Match created events with this action type. When left empty, + all action types will be matched. + client_ip: + type: string + nullable: true + description: Matches Event's Client IP (strict matching, for network matching + use an Expression Policy) + app: + allOf: + - $ref: '#/components/schemas/AppEnum' + nullable: true + description: Match events created by selected application. When left empty, + all applications are matched. + model: + allOf: + - $ref: '#/components/schemas/ModelEnum' + nullable: true + description: Match events created by selected model. When left empty, all + models are matched. When an app is selected, all the application's models + are matched. + required: + - bound_to + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + EventMatcherPolicyRequest: + type: object + description: Event Matcher Policy Serializer + properties: + name: + type: string + minLength: 1 + execution_logging: + type: boolean + description: When this option is enabled, all executions of this policy + will be logged. By default, only execution errors are logged. + action: + allOf: + - $ref: '#/components/schemas/EventActions' + nullable: true + description: Match created events with this action type. When left empty, + all action types will be matched. + client_ip: + type: string + nullable: true + minLength: 1 + description: Matches Event's Client IP (strict matching, for network matching + use an Expression Policy) + app: + allOf: + - $ref: '#/components/schemas/AppEnum' + nullable: true + description: Match events created by selected application. When left empty, + all applications are matched. + model: + allOf: + - $ref: '#/components/schemas/ModelEnum' + nullable: true + description: Match events created by selected model. When left empty, all + models are matched. When an app is selected, all the application's models + are matched. + required: + - name + EventRequest: + type: object + description: Event Serializer + properties: + user: {} + action: + $ref: '#/components/schemas/EventActions' + app: + type: string + minLength: 1 + context: {} + client_ip: + type: string + nullable: true + minLength: 1 + expires: + type: string + format: date-time + brand: {} + required: + - action + - app + EventTopPerUser: + type: object + description: Response object of Event's top_per_user + properties: + application: + type: object + additionalProperties: {} + counted_events: + type: integer + unique_users: + type: integer + required: + - application + - counted_events + - unique_users + ExpiringBaseGrantModel: + type: object + description: Serializer for BaseGrantModel and ExpiringBaseGrant + properties: + pk: + type: integer + readOnly: true + title: ID + provider: + $ref: '#/components/schemas/OAuth2Provider' + user: + $ref: '#/components/schemas/User' + is_expired: + type: boolean + description: Check if token is expired yet. + readOnly: true + expires: + type: string + format: date-time + nullable: true + scope: + type: array + items: + type: string + required: + - is_expired + - pk + - provider + - scope + - user + ExpressionPolicy: + type: object + description: Group Membership Policy Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Policy uuid + name: + type: string + execution_logging: + type: boolean + description: When this option is enabled, all executions of this policy + will be logged. By default, only execution errors are logged. + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + bound_to: + type: integer + description: Return objects policy is bound to + readOnly: true + expression: + type: string + required: + - bound_to + - component + - expression + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + ExpressionPolicyRequest: + type: object + description: Group Membership Policy Serializer + properties: + name: + type: string + minLength: 1 + execution_logging: + type: boolean + description: When this option is enabled, all executions of this policy + will be logged. By default, only execution errors are logged. + expression: + type: string + minLength: 1 + required: + - expression + - name + ExtraRoleObjectPermission: + type: object + description: User permission with additional object-related data + properties: + id: + type: integer + readOnly: true + codename: + type: string + readOnly: true + model: + type: string + title: Python model class name + readOnly: true + app_label: + type: string + readOnly: true + object_pk: + type: string + name: + type: string + readOnly: true + app_label_verbose: + type: string + description: Get app label from permission's model + readOnly: true + model_verbose: + type: string + description: Get model label from permission's model + readOnly: true + object_description: + type: string + nullable: true + description: |- + Get model description from attached model. This operation takes at least + one additional query, and the description is only shown if the user/role has the + view_ permission on the object + readOnly: true + required: + - app_label + - app_label_verbose + - codename + - id + - model + - model_verbose + - name + - object_description + - object_pk + ExtraRoleObjectPermissionRequest: + type: object + description: User permission with additional object-related data + properties: + object_pk: + type: string + minLength: 1 + required: + - object_pk + ExtraUserObjectPermission: + type: object + description: User permission with additional object-related data + properties: + id: + type: integer + readOnly: true + codename: + type: string + readOnly: true + model: + type: string + title: Python model class name + readOnly: true + app_label: + type: string + readOnly: true + object_pk: + type: string + name: + type: string + readOnly: true + app_label_verbose: + type: string + description: Get app label from permission's model + readOnly: true + model_verbose: + type: string + description: Get model label from permission's model + readOnly: true + object_description: + type: string + nullable: true + description: |- + Get model description from attached model. This operation takes at least + one additional query, and the description is only shown if the user/role has the + view_ permission on the object + readOnly: true + required: + - app_label + - app_label_verbose + - codename + - id + - model + - model_verbose + - name + - object_description + - object_pk + ExtraUserObjectPermissionRequest: + type: object + description: User permission with additional object-related data + properties: + object_pk: + type: string + minLength: 1 + required: + - object_pk + FilePathRequest: + type: object + description: Serializer to upload file + properties: + url: + type: string + minLength: 1 + required: + - url + FileUploadRequest: + type: object + description: Serializer to upload file + properties: + file: + type: string + format: binary + clear: + type: boolean + default: false + Flow: + type: object + description: Flow Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Flow uuid + policybindingmodel_ptr_id: + type: string + format: uuid + readOnly: true + name: + type: string + slug: + type: string + description: Visible in the URL. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + title: + type: string + description: Shown as the Title in Flow pages. + designation: + allOf: + - $ref: '#/components/schemas/FlowDesignationEnum' + description: Decides what this Flow is used for. For example, the Authentication + flow is redirect to when an un-authenticated user visits authentik. + background: + type: string + description: |- + Get the URL to the background image. If the name is /static or starts with http + it is returned as-is + readOnly: true + stages: + type: array + items: + type: string + format: uuid + readOnly: true + policies: + type: array + items: + type: string + format: uuid + readOnly: true + cache_count: + type: integer + description: Get count of cached flows + readOnly: true + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + compatibility_mode: + type: boolean + description: Enable compatibility mode, increases compatibility with password + managers on mobile devices. + export_url: + type: string + description: Get export URL for flow + readOnly: true + layout: + $ref: '#/components/schemas/FlowLayoutEnum' + denied_action: + allOf: + - $ref: '#/components/schemas/DeniedActionEnum' + description: Configure what should happen when a flow denies access to a + user. + authentication: + allOf: + - $ref: '#/components/schemas/AuthenticationEnum' + description: Required level of authentication and authorization to access + a flow. + required: + - background + - cache_count + - designation + - export_url + - name + - pk + - policies + - policybindingmodel_ptr_id + - slug + - stages + - title + FlowChallengeResponseRequest: + oneOf: + - $ref: '#/components/schemas/AppleChallengeResponseRequest' + - $ref: '#/components/schemas/AuthenticatorDuoChallengeResponseRequest' + - $ref: '#/components/schemas/AuthenticatorSMSChallengeResponseRequest' + - $ref: '#/components/schemas/AuthenticatorStaticChallengeResponseRequest' + - $ref: '#/components/schemas/AuthenticatorTOTPChallengeResponseRequest' + - $ref: '#/components/schemas/AuthenticatorValidationChallengeResponseRequest' + - $ref: '#/components/schemas/AuthenticatorWebAuthnChallengeResponseRequest' + - $ref: '#/components/schemas/AutoSubmitChallengeResponseRequest' + - $ref: '#/components/schemas/CaptchaChallengeResponseRequest' + - $ref: '#/components/schemas/ConsentChallengeResponseRequest' + - $ref: '#/components/schemas/DummyChallengeResponseRequest' + - $ref: '#/components/schemas/EmailChallengeResponseRequest' + - $ref: '#/components/schemas/IdentificationChallengeResponseRequest' + - $ref: '#/components/schemas/OAuthDeviceCodeChallengeResponseRequest' + - $ref: '#/components/schemas/OAuthDeviceCodeFinishChallengeResponseRequest' + - $ref: '#/components/schemas/PasswordChallengeResponseRequest' + - $ref: '#/components/schemas/PlexAuthenticationChallengeResponseRequest' + - $ref: '#/components/schemas/PromptChallengeResponseRequest' + - $ref: '#/components/schemas/UserLoginChallengeResponseRequest' + discriminator: + propertyName: component + mapping: + ak-source-oauth-apple: '#/components/schemas/AppleChallengeResponseRequest' + ak-stage-authenticator-duo: '#/components/schemas/AuthenticatorDuoChallengeResponseRequest' + ak-stage-authenticator-sms: '#/components/schemas/AuthenticatorSMSChallengeResponseRequest' + ak-stage-authenticator-static: '#/components/schemas/AuthenticatorStaticChallengeResponseRequest' + ak-stage-authenticator-totp: '#/components/schemas/AuthenticatorTOTPChallengeResponseRequest' + ak-stage-authenticator-validate: '#/components/schemas/AuthenticatorValidationChallengeResponseRequest' + ak-stage-authenticator-webauthn: '#/components/schemas/AuthenticatorWebAuthnChallengeResponseRequest' + ak-stage-autosubmit: '#/components/schemas/AutoSubmitChallengeResponseRequest' + ak-stage-captcha: '#/components/schemas/CaptchaChallengeResponseRequest' + ak-stage-consent: '#/components/schemas/ConsentChallengeResponseRequest' + ak-stage-dummy: '#/components/schemas/DummyChallengeResponseRequest' + ak-stage-email: '#/components/schemas/EmailChallengeResponseRequest' + ak-stage-identification: '#/components/schemas/IdentificationChallengeResponseRequest' + ak-provider-oauth2-device-code: '#/components/schemas/OAuthDeviceCodeChallengeResponseRequest' + ak-provider-oauth2-device-code-finish: '#/components/schemas/OAuthDeviceCodeFinishChallengeResponseRequest' + ak-stage-password: '#/components/schemas/PasswordChallengeResponseRequest' + ak-source-plex: '#/components/schemas/PlexAuthenticationChallengeResponseRequest' + ak-stage-prompt: '#/components/schemas/PromptChallengeResponseRequest' + ak-stage-user-login: '#/components/schemas/UserLoginChallengeResponseRequest' + FlowDesignationEnum: + enum: + - authentication + - authorization + - invalidation + - enrollment + - unenrollment + - recovery + - stage_configuration + type: string + FlowDiagram: + type: object + description: response of the flow's diagram action + properties: + diagram: + type: string + readOnly: true + required: + - diagram + FlowErrorChallenge: + type: object + description: |- + Challenge class when an unhandled error occurs during a stage. Normal users + are shown an error message, superusers are shown a full stacktrace. + properties: + flow_info: + $ref: '#/components/schemas/ContextualFlowInfo' + component: + type: string + default: ak-stage-flow-error + response_errors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + request_id: + type: string + error: + type: string + traceback: + type: string + required: + - request_id + FlowImportResult: + type: object + description: Logs of an attempted flow import + properties: + logs: + type: array + items: + $ref: '#/components/schemas/LogEvent' + readOnly: true + success: + type: boolean + readOnly: true + required: + - logs + - success + FlowInspection: + type: object + description: Serializer for inspect endpoint + properties: + plans: + type: array + items: + $ref: '#/components/schemas/FlowInspectorPlan' + current_plan: + $ref: '#/components/schemas/FlowInspectorPlan' + is_completed: + type: boolean + required: + - is_completed + - plans + FlowInspectorPlan: + type: object + description: Serializer for an active FlowPlan + properties: + current_stage: + allOf: + - $ref: '#/components/schemas/FlowStageBinding' + readOnly: true + next_planned_stage: + allOf: + - $ref: '#/components/schemas/FlowStageBinding' + readOnly: true + plan_context: + type: object + additionalProperties: {} + description: Get the plan's context, sanitized + readOnly: true + session_id: + type: string + description: Get a unique session ID + readOnly: true + required: + - current_stage + - next_planned_stage + - plan_context + - session_id + FlowLayoutEnum: + enum: + - stacked + - content_left + - content_right + - sidebar_left + - sidebar_right + type: string + FlowRequest: + type: object + description: Flow Serializer + properties: + name: + type: string + minLength: 1 + slug: + type: string + minLength: 1 + description: Visible in the URL. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + title: + type: string + minLength: 1 + description: Shown as the Title in Flow pages. + designation: + allOf: + - $ref: '#/components/schemas/FlowDesignationEnum' + description: Decides what this Flow is used for. For example, the Authentication + flow is redirect to when an un-authenticated user visits authentik. + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + compatibility_mode: + type: boolean + description: Enable compatibility mode, increases compatibility with password + managers on mobile devices. + layout: + $ref: '#/components/schemas/FlowLayoutEnum' + denied_action: + allOf: + - $ref: '#/components/schemas/DeniedActionEnum' + description: Configure what should happen when a flow denies access to a + user. + authentication: + allOf: + - $ref: '#/components/schemas/AuthenticationEnum' + description: Required level of authentication and authorization to access + a flow. + required: + - designation + - name + - slug + - title + FlowSet: + type: object + description: Stripped down flow serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Flow uuid + policybindingmodel_ptr_id: + type: string + format: uuid + readOnly: true + name: + type: string + slug: + type: string + description: Visible in the URL. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + title: + type: string + description: Shown as the Title in Flow pages. + designation: + allOf: + - $ref: '#/components/schemas/FlowDesignationEnum' + description: Decides what this Flow is used for. For example, the Authentication + flow is redirect to when an un-authenticated user visits authentik. + background: + type: string + description: |- + Get the URL to the background image. If the name is /static or starts with http + it is returned as-is + readOnly: true + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + compatibility_mode: + type: boolean + description: Enable compatibility mode, increases compatibility with password + managers on mobile devices. + export_url: + type: string + description: Get export URL for flow + readOnly: true + layout: + $ref: '#/components/schemas/FlowLayoutEnum' + denied_action: + allOf: + - $ref: '#/components/schemas/DeniedActionEnum' + description: Configure what should happen when a flow denies access to a + user. + required: + - background + - designation + - export_url + - name + - pk + - policybindingmodel_ptr_id + - slug + - title + FlowSetRequest: + type: object + description: Stripped down flow serializer + properties: + name: + type: string + minLength: 1 + slug: + type: string + minLength: 1 + description: Visible in the URL. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + title: + type: string + minLength: 1 + description: Shown as the Title in Flow pages. + designation: + allOf: + - $ref: '#/components/schemas/FlowDesignationEnum' + description: Decides what this Flow is used for. For example, the Authentication + flow is redirect to when an un-authenticated user visits authentik. + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + compatibility_mode: + type: boolean + description: Enable compatibility mode, increases compatibility with password + managers on mobile devices. + layout: + $ref: '#/components/schemas/FlowLayoutEnum' + denied_action: + allOf: + - $ref: '#/components/schemas/DeniedActionEnum' + description: Configure what should happen when a flow denies access to a + user. + required: + - designation + - name + - slug + - title + FlowStageBinding: + type: object + description: FlowStageBinding Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Fsb uuid + policybindingmodel_ptr_id: + type: string + format: uuid + readOnly: true + target: + type: string + format: uuid + stage: + type: string + format: uuid + stage_obj: + allOf: + - $ref: '#/components/schemas/Stage' + readOnly: true + evaluate_on_plan: + type: boolean + description: Evaluate policies during the Flow planning process. + re_evaluate_policies: + type: boolean + description: Evaluate policies when the Stage is present to the user. + order: + type: integer + maximum: 2147483647 + minimum: -2147483648 + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + invalid_response_action: + allOf: + - $ref: '#/components/schemas/InvalidResponseActionEnum' + description: Configure how the flow executor should handle an invalid response + to a challenge. RETRY returns the error message and a similar challenge + to the executor. RESTART restarts the flow from the beginning, and RESTART_WITH_CONTEXT + restarts the flow while keeping the current context. + required: + - order + - pk + - policybindingmodel_ptr_id + - stage + - stage_obj + - target + FlowStageBindingRequest: + type: object + description: FlowStageBinding Serializer + properties: + target: + type: string + format: uuid + stage: + type: string + format: uuid + evaluate_on_plan: + type: boolean + description: Evaluate policies during the Flow planning process. + re_evaluate_policies: + type: boolean + description: Evaluate policies when the Stage is present to the user. + order: + type: integer + maximum: 2147483647 + minimum: -2147483648 + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + invalid_response_action: + allOf: + - $ref: '#/components/schemas/InvalidResponseActionEnum' + description: Configure how the flow executor should handle an invalid response + to a challenge. RETRY returns the error message and a similar challenge + to the executor. RESTART restarts the flow from the beginning, and RESTART_WITH_CONTEXT + restarts the flow while keeping the current context. + required: + - order + - stage + - target + FooterLink: + type: object + description: Links returned in Config API + properties: + href: + type: string + readOnly: true + nullable: true + name: + type: string + readOnly: true + required: + - href + - name + GenericError: + type: object + description: Generic API Error + properties: + detail: + type: string + code: + type: string + required: + - detail + GeoIPPolicy: + type: object + description: GeoIP Policy Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Policy uuid + name: + type: string + execution_logging: + type: boolean + description: When this option is enabled, all executions of this policy + will be logged. By default, only execution errors are logged. + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + bound_to: + type: integer + description: Return objects policy is bound to + readOnly: true + asns: + type: array + items: + type: integer + maximum: 2147483647 + minimum: -2147483648 + countries: + type: array + items: + $ref: '#/components/schemas/CountryCodeEnum' + maxItems: 249 + countries_obj: + type: array + items: + $ref: '#/components/schemas/DetailedCountryField' + readOnly: true + required: + - bound_to + - component + - countries + - countries_obj + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + GeoIPPolicyRequest: + type: object + description: GeoIP Policy Serializer + properties: + name: + type: string + minLength: 1 + execution_logging: + type: boolean + description: When this option is enabled, all executions of this policy + will be logged. By default, only execution errors are logged. + asns: + type: array + items: + type: integer + maximum: 2147483647 + minimum: -2147483648 + countries: + type: array + items: + $ref: '#/components/schemas/CountryCodeEnum' + maxItems: 249 + required: + - countries + - name + GeoipBindingEnum: + enum: + - no_binding + - bind_continent + - bind_continent_country + - bind_continent_country_city + type: string + GoogleWorkspaceProvider: + type: object + description: GoogleWorkspaceProvider Serializer + properties: + pk: + type: integer + readOnly: true + title: ID + name: + type: string + property_mappings: + type: array + items: + type: string + format: uuid + property_mappings_group: + type: array + items: + type: string + format: uuid + description: Property mappings used for group creation/updating. + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + assigned_backchannel_application_slug: + type: string + description: Internal application name, used in URLs. + readOnly: true + assigned_backchannel_application_name: + type: string + description: Application's display Name. + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + delegated_subject: + type: string + format: email + maxLength: 254 + credentials: {} + scopes: + type: string + exclude_users_service_account: + type: boolean + filter_group: + type: string + format: uuid + nullable: true + user_delete_action: + $ref: '#/components/schemas/OutgoingSyncDeleteAction' + group_delete_action: + $ref: '#/components/schemas/OutgoingSyncDeleteAction' + default_group_email_domain: + type: string + required: + - assigned_backchannel_application_name + - assigned_backchannel_application_slug + - component + - credentials + - default_group_email_domain + - delegated_subject + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + GoogleWorkspaceProviderGroup: + type: object + description: GoogleWorkspaceProviderGroup Serializer + properties: + id: + type: string + format: uuid + readOnly: true + google_id: + type: string + group: + type: string + format: uuid + group_obj: + allOf: + - $ref: '#/components/schemas/UserGroup' + readOnly: true + provider: + type: integer + attributes: + readOnly: true + required: + - attributes + - google_id + - group + - group_obj + - id + - provider + GoogleWorkspaceProviderGroupRequest: + type: object + description: GoogleWorkspaceProviderGroup Serializer + properties: + google_id: + type: string + minLength: 1 + group: + type: string + format: uuid + provider: + type: integer + required: + - google_id + - group + - provider + GoogleWorkspaceProviderMapping: + type: object + description: GoogleWorkspaceProviderMapping Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Pm uuid + managed: + type: string + nullable: true + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + expression: + type: string + component: + type: string + description: Get object's component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + required: + - component + - expression + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + GoogleWorkspaceProviderMappingRequest: + type: object + description: GoogleWorkspaceProviderMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + required: + - expression + - name + GoogleWorkspaceProviderRequest: + type: object + description: GoogleWorkspaceProvider Serializer + properties: + name: + type: string + minLength: 1 + property_mappings: + type: array + items: + type: string + format: uuid + property_mappings_group: + type: array + items: + type: string + format: uuid + description: Property mappings used for group creation/updating. + delegated_subject: + type: string + format: email + minLength: 1 + maxLength: 254 + credentials: {} + scopes: + type: string + minLength: 1 + exclude_users_service_account: + type: boolean + filter_group: + type: string + format: uuid + nullable: true + user_delete_action: + $ref: '#/components/schemas/OutgoingSyncDeleteAction' + group_delete_action: + $ref: '#/components/schemas/OutgoingSyncDeleteAction' + default_group_email_domain: + type: string + minLength: 1 + required: + - credentials + - default_group_email_domain + - delegated_subject + - name + GoogleWorkspaceProviderUser: + type: object + description: GoogleWorkspaceProviderUser Serializer + properties: + id: + type: string + format: uuid + readOnly: true + google_id: + type: string + user: + type: integer + user_obj: + allOf: + - $ref: '#/components/schemas/GroupMember' + readOnly: true + provider: + type: integer + attributes: + readOnly: true + required: + - attributes + - google_id + - id + - provider + - user + - user_obj + GoogleWorkspaceProviderUserRequest: + type: object + description: GoogleWorkspaceProviderUser Serializer + properties: + google_id: + type: string + minLength: 1 + user: + type: integer + provider: + type: integer + required: + - google_id + - provider + - user + Group: + type: object + description: Group Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Group uuid + num_pk: + type: integer + readOnly: true + name: + type: string + is_superuser: + type: boolean + description: Users added to this group will be superusers. + parent: + type: string + format: uuid + nullable: true + parent_name: + type: string + readOnly: true + nullable: true + users: + type: array + items: + type: integer + users_obj: + type: array + items: + $ref: '#/components/schemas/GroupMember' + readOnly: true + nullable: true + attributes: + type: object + additionalProperties: {} + roles: + type: array + items: + type: string + format: uuid + roles_obj: + type: array + items: + $ref: '#/components/schemas/Role' + readOnly: true + required: + - name + - num_pk + - parent_name + - pk + - roles_obj + - users_obj + GroupMatchingModeEnum: + enum: + - identifier + - name_link + - name_deny + type: string + GroupMember: + type: object + description: Stripped down user serializer to show relevant users for groups + properties: + pk: + type: integer + readOnly: true + title: ID + username: + type: string + description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ + only. + pattern: ^[\w.@+-]+$ + maxLength: 150 + name: + type: string + description: User's display name. + is_active: + type: boolean + title: Active + description: Designates whether this user should be treated as active. Unselect + this instead of deleting accounts. + last_login: + type: string + format: date-time + nullable: true + email: + type: string + format: email + title: Email address + maxLength: 254 + attributes: + type: object + additionalProperties: {} + uid: + type: string + readOnly: true + required: + - name + - pk + - uid + - username + GroupMemberRequest: + type: object + description: Stripped down user serializer to show relevant users for groups + properties: + username: + type: string + minLength: 1 + description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ + only. + pattern: ^[\w.@+-]+$ + maxLength: 150 + name: + type: string + minLength: 1 + description: User's display name. + is_active: + type: boolean + title: Active + description: Designates whether this user should be treated as active. Unselect + this instead of deleting accounts. + last_login: + type: string + format: date-time + nullable: true + email: + type: string + format: email + title: Email address + maxLength: 254 + attributes: + type: object + additionalProperties: {} + required: + - name + - username + GroupOAuthSourceConnection: + type: object + description: OAuth Group-Source connection Serializer + properties: + pk: + type: integer + readOnly: true + title: ID + group: + type: string + format: uuid + readOnly: true + source: + allOf: + - $ref: '#/components/schemas/Source' + readOnly: true + identifier: + type: string + readOnly: true + created: + type: string + format: date-time + readOnly: true + required: + - created + - group + - identifier + - pk + - source + GroupPlexSourceConnection: + type: object + description: Plex Group-Source connection Serializer + properties: + pk: + type: integer + readOnly: true + title: ID + group: + type: string + format: uuid + readOnly: true + source: + allOf: + - $ref: '#/components/schemas/Source' + readOnly: true + identifier: + type: string + readOnly: true + created: + type: string + format: date-time + readOnly: true + required: + - created + - group + - identifier + - pk + - source + GroupRequest: + type: object + description: Group Serializer + properties: + name: + type: string + minLength: 1 + is_superuser: + type: boolean + description: Users added to this group will be superusers. + parent: + type: string + format: uuid + nullable: true + users: + type: array + items: + type: integer + attributes: + type: object + additionalProperties: {} + roles: + type: array + items: + type: string + format: uuid + required: + - name + GroupSAMLSourceConnection: + type: object + description: OAuth Group-Source connection Serializer + properties: + pk: + type: integer + readOnly: true + title: ID + group: + type: string + format: uuid + readOnly: true + source: + allOf: + - $ref: '#/components/schemas/Source' + readOnly: true + identifier: + type: string + readOnly: true + created: + type: string + format: date-time + readOnly: true + required: + - created + - group + - identifier + - pk + - source + IdentificationChallenge: + type: object + description: Identification challenges with all UI elements + properties: + flow_info: + $ref: '#/components/schemas/ContextualFlowInfo' + component: + type: string + default: ak-stage-identification + response_errors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + user_fields: + type: array + items: + type: string + nullable: true + password_fields: + type: boolean + allow_show_password: + type: boolean + default: false + application_pre: + type: string + flow_designation: + $ref: '#/components/schemas/FlowDesignationEnum' + enroll_url: + type: string + recovery_url: + type: string + passwordless_url: + type: string + primary_action: + type: string + sources: + type: array + items: + $ref: '#/components/schemas/LoginSource' + show_source_labels: + type: boolean + required: + - flow_designation + - password_fields + - primary_action + - show_source_labels + - user_fields + IdentificationChallengeResponseRequest: + type: object + description: Identification challenge + properties: + component: + type: string + minLength: 1 + default: ak-stage-identification + uid_field: + type: string + minLength: 1 + password: + type: string + nullable: true + required: + - uid_field + IdentificationStage: + type: object + description: IdentificationStage Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Stage uuid + name: + type: string + component: + type: string + description: Get object type so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSet' + user_fields: + type: array + items: + $ref: '#/components/schemas/UserFieldsEnum' + description: Fields of the user object to match against. (Hold shift to + select multiple options) + password_stage: + type: string + format: uuid + nullable: true + description: When set, shows a password field, instead of showing the password + field as separate step. + case_insensitive_matching: + type: boolean + description: When enabled, user fields are matched regardless of their casing. + show_matched_user: + type: boolean + description: When a valid username/email has been entered, and this option + is enabled, the user's username and avatar will be shown. Otherwise, the + text that the user entered will be shown + enrollment_flow: + type: string + format: uuid + nullable: true + description: Optional enrollment flow, which is linked at the bottom of + the page. + recovery_flow: + type: string + format: uuid + nullable: true + description: Optional recovery flow, which is linked at the bottom of the + page. + passwordless_flow: + type: string + format: uuid + nullable: true + description: Optional passwordless flow, which is linked at the bottom of + the page. + sources: + type: array + items: + type: string + format: uuid + description: Specify which sources should be shown. + show_source_labels: + type: boolean + pretend_user_exists: + type: boolean + description: When enabled, the stage will succeed and continue even when + incorrect user info is entered. + required: + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + IdentificationStageRequest: + type: object + description: IdentificationStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + user_fields: + type: array + items: + $ref: '#/components/schemas/UserFieldsEnum' + description: Fields of the user object to match against. (Hold shift to + select multiple options) + password_stage: + type: string + format: uuid + nullable: true + description: When set, shows a password field, instead of showing the password + field as separate step. + case_insensitive_matching: + type: boolean + description: When enabled, user fields are matched regardless of their casing. + show_matched_user: + type: boolean + description: When a valid username/email has been entered, and this option + is enabled, the user's username and avatar will be shown. Otherwise, the + text that the user entered will be shown + enrollment_flow: + type: string + format: uuid + nullable: true + description: Optional enrollment flow, which is linked at the bottom of + the page. + recovery_flow: + type: string + format: uuid + nullable: true + description: Optional recovery flow, which is linked at the bottom of the + page. + passwordless_flow: + type: string + format: uuid + nullable: true + description: Optional passwordless flow, which is linked at the bottom of + the page. + sources: + type: array + items: + type: string + format: uuid + description: Specify which sources should be shown. + show_source_labels: + type: boolean + pretend_user_exists: + type: boolean + description: When enabled, the stage will succeed and continue even when + incorrect user info is entered. + required: + - name + InstallID: + type: object + properties: + install_id: + type: string + required: + - install_id + IntentEnum: + enum: + - verification + - api + - recovery + - app_password + type: string + InvalidResponseActionEnum: + enum: + - retry + - restart + - restart_with_context + type: string + Invitation: + type: object + description: Invitation Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Invite uuid + name: + type: string + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + expires: + type: string + format: date-time + nullable: true + fixed_data: + type: object + additionalProperties: {} + created_by: + allOf: + - $ref: '#/components/schemas/GroupMember' + readOnly: true + single_use: + type: boolean + description: When enabled, the invitation will be deleted after usage. + flow: + type: string + format: uuid + nullable: true + description: When set, only the configured flow can use this invitation. + flow_obj: + allOf: + - $ref: '#/components/schemas/Flow' + readOnly: true + required: + - created_by + - flow_obj + - name + - pk + InvitationRequest: + type: object + description: Invitation Serializer + properties: + name: + type: string + minLength: 1 + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + expires: + type: string + format: date-time + nullable: true + fixed_data: + type: object + additionalProperties: {} + single_use: + type: boolean + description: When enabled, the invitation will be deleted after usage. + flow: + type: string + format: uuid + nullable: true + description: When set, only the configured flow can use this invitation. + required: + - name + InvitationStage: + type: object + description: InvitationStage Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Stage uuid + name: + type: string + component: + type: string + description: Get object type so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSet' + continue_flow_without_invitation: + type: boolean + description: If this flag is set, this Stage will jump to the next Stage + when no Invitation is given. By default this Stage will cancel the Flow + when no invitation is given. + required: + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + InvitationStageRequest: + type: object + description: InvitationStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + continue_flow_without_invitation: + type: boolean + description: If this flag is set, this Stage will jump to the next Stage + when no Invitation is given. By default this Stage will cancel the Flow + when no invitation is given. + required: + - name + IssuerModeEnum: + enum: + - global + - per_provider + type: string + KubernetesServiceConnection: + type: object + description: KubernetesServiceConnection Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Uuid + name: + type: string + local: + type: boolean + description: If enabled, use the local connection. Required Docker socket/Kubernetes + Integration + component: + type: string + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + kubeconfig: + description: Paste your kubeconfig here. authentik will automatically use + the currently selected context. + verify_ssl: + type: boolean + description: Verify SSL Certificates of the Kubernetes API endpoint + required: + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + KubernetesServiceConnectionRequest: + type: object + description: KubernetesServiceConnection Serializer + properties: + name: + type: string + minLength: 1 + local: + type: boolean + description: If enabled, use the local connection. Required Docker socket/Kubernetes + Integration + kubeconfig: + description: Paste your kubeconfig here. authentik will automatically use + the currently selected context. + verify_ssl: + type: boolean + description: Verify SSL Certificates of the Kubernetes API endpoint + required: + - name + LDAPAPIAccessMode: + enum: + - direct + - cached + type: string + LDAPCheckAccess: + type: object + description: Base serializer class which doesn't implement create/update methods + properties: + has_search_permission: + type: boolean + access: + $ref: '#/components/schemas/PolicyTestResult' + required: + - access + LDAPDebug: + type: object + properties: + user: + type: array + items: + type: object + additionalProperties: {} + readOnly: true + group: + type: array + items: + type: object + additionalProperties: {} + readOnly: true + membership: + type: array + items: + type: object + additionalProperties: {} + readOnly: true + required: + - group + - membership + - user + LDAPOutpostConfig: + type: object + description: LDAPProvider Serializer + properties: + pk: + type: integer + readOnly: true + title: ID + name: + type: string + base_dn: + type: string + description: DN under which objects are accessible. + bind_flow_slug: + type: string + application_slug: + type: string + description: Prioritise backchannel slug over direct application slug + readOnly: true + certificate: + type: string + format: uuid + nullable: true + tls_server_name: + type: string + uid_start_number: + type: integer + maximum: 2147483647 + minimum: -2147483648 + description: The start for uidNumbers, this number is added to the user.pk + to make sure that the numbers aren't too low for POSIX users. Default + is 2000 to ensure that we don't collide with local users uidNumber + gid_start_number: + type: integer + maximum: 2147483647 + minimum: -2147483648 + description: The start for gidNumbers, this number is added to a number + generated from the group.pk to make sure that the numbers aren't too low + for POSIX groups. Default is 4000 to ensure that we don't collide with + local groups or users primary groups gidNumber + search_mode: + $ref: '#/components/schemas/LDAPAPIAccessMode' + bind_mode: + $ref: '#/components/schemas/LDAPAPIAccessMode' + mfa_support: + type: boolean + description: When enabled, code-based multi-factor authentication can be + used by appending a semicolon and the TOTP code to the password. This + should only be enabled if all users that will bind to this provider have + a TOTP device configured, as otherwise a password may incorrectly be rejected + if it contains a semicolon. + required: + - application_slug + - bind_flow_slug + - name + - pk + LDAPProvider: + type: object + description: LDAPProvider Serializer + properties: + pk: + type: integer + readOnly: true + title: ID + name: + type: string + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow used for authentication when the associated application + is accessed by an un-authenticated user. + authorization_flow: + type: string + format: uuid + description: Flow used when authorizing this provider. + property_mappings: + type: array + items: + type: string + format: uuid + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + assigned_application_slug: + type: string + description: Internal application name, used in URLs. + readOnly: true + assigned_application_name: + type: string + description: Application's display Name. + readOnly: true + assigned_backchannel_application_slug: + type: string + description: Internal application name, used in URLs. + readOnly: true + assigned_backchannel_application_name: + type: string + description: Application's display Name. + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + base_dn: + type: string + description: DN under which objects are accessible. + certificate: + type: string + format: uuid + nullable: true + tls_server_name: + type: string + uid_start_number: + type: integer + maximum: 2147483647 + minimum: -2147483648 + description: The start for uidNumbers, this number is added to the user.pk + to make sure that the numbers aren't too low for POSIX users. Default + is 2000 to ensure that we don't collide with local users uidNumber + gid_start_number: + type: integer + maximum: 2147483647 + minimum: -2147483648 + description: The start for gidNumbers, this number is added to a number + generated from the group.pk to make sure that the numbers aren't too low + for POSIX groups. Default is 4000 to ensure that we don't collide with + local groups or users primary groups gidNumber + outpost_set: + type: array + items: + type: string + readOnly: true + search_mode: + $ref: '#/components/schemas/LDAPAPIAccessMode' + bind_mode: + $ref: '#/components/schemas/LDAPAPIAccessMode' + mfa_support: + type: boolean + description: When enabled, code-based multi-factor authentication can be + used by appending a semicolon and the TOTP code to the password. This + should only be enabled if all users that will bind to this provider have + a TOTP device configured, as otherwise a password may incorrectly be rejected + if it contains a semicolon. + required: + - assigned_application_name + - assigned_application_slug + - assigned_backchannel_application_name + - assigned_backchannel_application_slug + - authorization_flow + - component + - meta_model_name + - name + - outpost_set + - pk + - verbose_name + - verbose_name_plural + LDAPProviderRequest: + type: object + description: LDAPProvider Serializer + properties: + name: + type: string + minLength: 1 + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow used for authentication when the associated application + is accessed by an un-authenticated user. + authorization_flow: + type: string + format: uuid + description: Flow used when authorizing this provider. + property_mappings: + type: array + items: + type: string + format: uuid + base_dn: + type: string + minLength: 1 + description: DN under which objects are accessible. + certificate: + type: string + format: uuid + nullable: true + tls_server_name: + type: string + uid_start_number: + type: integer + maximum: 2147483647 + minimum: -2147483648 + description: The start for uidNumbers, this number is added to the user.pk + to make sure that the numbers aren't too low for POSIX users. Default + is 2000 to ensure that we don't collide with local users uidNumber + gid_start_number: + type: integer + maximum: 2147483647 + minimum: -2147483648 + description: The start for gidNumbers, this number is added to a number + generated from the group.pk to make sure that the numbers aren't too low + for POSIX groups. Default is 4000 to ensure that we don't collide with + local groups or users primary groups gidNumber + search_mode: + $ref: '#/components/schemas/LDAPAPIAccessMode' + bind_mode: + $ref: '#/components/schemas/LDAPAPIAccessMode' + mfa_support: + type: boolean + description: When enabled, code-based multi-factor authentication can be + used by appending a semicolon and the TOTP code to the password. This + should only be enabled if all users that will bind to this provider have + a TOTP device configured, as otherwise a password may incorrectly be rejected + if it contains a semicolon. + required: + - authorization_flow + - name + LDAPSource: + type: object + description: LDAP Source Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Pbm uuid + name: + type: string + description: Source's display Name. + slug: + type: string + description: Internal source name, used in URLs. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + enabled: + type: boolean + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow to use when authenticating existing users. + enrollment_flow: + type: string + format: uuid + nullable: true + description: Flow to use when enrolling new users. + user_property_mappings: + type: array + items: + type: string + format: uuid + group_property_mappings: + type: array + items: + type: string + format: uuid + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + user_matching_mode: + allOf: + - $ref: '#/components/schemas/UserMatchingModeEnum' + description: How the source determines if an existing user should be authenticated + or a new user enrolled. + managed: + type: string + nullable: true + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + readOnly: true + user_path_template: + type: string + icon: + type: string + readOnly: true + server_uri: + type: string + format: uri + peer_certificate: + type: string + format: uuid + nullable: true + description: Optionally verify the LDAP Server's Certificate against the + CA Chain in this keypair. + client_certificate: + type: string + format: uuid + nullable: true + description: Client certificate to authenticate against the LDAP Server's + Certificate. + bind_cn: + type: string + start_tls: + type: boolean + title: Enable Start TLS + sni: + type: boolean + title: Use Server URI for SNI verification + base_dn: + type: string + additional_user_dn: + type: string + title: Addition User DN + description: Prepended to Base DN for User-queries. + additional_group_dn: + type: string + title: Addition Group DN + description: Prepended to Base DN for Group-queries. + user_object_filter: + type: string + description: Consider Objects matching this filter to be Users. + group_object_filter: + type: string + description: Consider Objects matching this filter to be Groups. + group_membership_field: + type: string + description: Field which contains members of a group. + object_uniqueness_field: + type: string + description: Field which contains a unique Identifier. + password_login_update_internal_password: + type: boolean + description: Update internal authentik password when login succeeds with + LDAP + sync_users: + type: boolean + sync_users_password: + type: boolean + description: When a user changes their password, sync it back to LDAP. This + can only be enabled on a single LDAP source. + sync_groups: + type: boolean + sync_parent_group: + type: string + format: uuid + nullable: true + connectivity: + type: object + additionalProperties: + type: object + additionalProperties: + type: string + nullable: true + description: Get cached source connectivity + readOnly: true + required: + - base_dn + - component + - connectivity + - icon + - managed + - meta_model_name + - name + - pk + - server_uri + - slug + - verbose_name + - verbose_name_plural + LDAPSourcePropertyMapping: + type: object + description: LDAP PropertyMapping Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Pm uuid + managed: + type: string + nullable: true + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + expression: + type: string + component: + type: string + description: Get object's component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + required: + - component + - expression + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + LDAPSourcePropertyMappingRequest: + type: object + description: LDAP PropertyMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + required: + - expression + - name + LDAPSourceRequest: + type: object + description: LDAP Source Serializer + properties: + name: + type: string + minLength: 1 + description: Source's display Name. + slug: + type: string + minLength: 1 + description: Internal source name, used in URLs. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + enabled: + type: boolean + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow to use when authenticating existing users. + enrollment_flow: + type: string + format: uuid + nullable: true + description: Flow to use when enrolling new users. + user_property_mappings: + type: array + items: + type: string + format: uuid + group_property_mappings: + type: array + items: + type: string + format: uuid + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + user_matching_mode: + allOf: + - $ref: '#/components/schemas/UserMatchingModeEnum' + description: How the source determines if an existing user should be authenticated + or a new user enrolled. + user_path_template: + type: string + minLength: 1 + server_uri: + type: string + minLength: 1 + format: uri + peer_certificate: + type: string + format: uuid + nullable: true + description: Optionally verify the LDAP Server's Certificate against the + CA Chain in this keypair. + client_certificate: + type: string + format: uuid + nullable: true + description: Client certificate to authenticate against the LDAP Server's + Certificate. + bind_cn: + type: string + bind_password: + type: string + writeOnly: true + start_tls: + type: boolean + title: Enable Start TLS + sni: + type: boolean + title: Use Server URI for SNI verification + base_dn: + type: string + minLength: 1 + additional_user_dn: + type: string + title: Addition User DN + description: Prepended to Base DN for User-queries. + additional_group_dn: + type: string + title: Addition Group DN + description: Prepended to Base DN for Group-queries. + user_object_filter: + type: string + minLength: 1 + description: Consider Objects matching this filter to be Users. + group_object_filter: + type: string + minLength: 1 + description: Consider Objects matching this filter to be Groups. + group_membership_field: + type: string + minLength: 1 + description: Field which contains members of a group. + object_uniqueness_field: + type: string + minLength: 1 + description: Field which contains a unique Identifier. + password_login_update_internal_password: + type: boolean + description: Update internal authentik password when login succeeds with + LDAP + sync_users: + type: boolean + sync_users_password: + type: boolean + description: When a user changes their password, sync it back to LDAP. This + can only be enabled on a single LDAP source. + sync_groups: + type: boolean + sync_parent_group: + type: string + format: uuid + nullable: true + required: + - base_dn + - name + - server_uri + - slug + License: + type: object + description: License Serializer + properties: + license_uuid: + type: string + format: uuid + readOnly: true + name: + type: string + readOnly: true + key: + type: string + expiry: + type: string + format: date-time + readOnly: true + internal_users: + type: integer + readOnly: true + external_users: + type: integer + readOnly: true + required: + - expiry + - external_users + - internal_users + - key + - license_uuid + - name + LicenseFlagsEnum: + enum: + - trial + - non_production + type: string + LicenseForecast: + type: object + description: Serializer for license forecast + properties: + internal_users: + type: integer + external_users: + type: integer + forecasted_internal_users: + type: integer + forecasted_external_users: + type: integer + required: + - external_users + - forecasted_external_users + - forecasted_internal_users + - internal_users + LicenseRequest: + type: object + description: License Serializer + properties: + key: + type: string + minLength: 1 + required: + - key + LicenseSummary: + type: object + description: Serializer for license status + properties: + internal_users: + type: integer + external_users: + type: integer + status: + $ref: '#/components/schemas/LicenseSummaryStatusEnum' + latest_valid: + type: string + format: date-time + license_flags: + type: array + items: + $ref: '#/components/schemas/LicenseFlagsEnum' + required: + - external_users + - internal_users + - latest_valid + - license_flags + - status + LicenseSummaryStatusEnum: + enum: + - unlicensed + - valid + - expired + - expiry_soon + - limit_exceeded_admin + - limit_exceeded_user + - read_only + type: string + Link: + type: object + description: Returns a single link + properties: + link: + type: string + required: + - link + LogEvent: + type: object + description: Single log message with all context logged. + properties: + timestamp: + type: string + format: date-time + log_level: + $ref: '#/components/schemas/LogLevelEnum' + logger: + type: string + event: + type: string + attributes: + type: object + additionalProperties: {} + required: + - attributes + - event + - log_level + - logger + - timestamp + LogLevelEnum: + enum: + - critical + - exception + - error + - warn + - warning + - info + - debug + - notset + type: string + LoginChallengeTypes: + oneOf: + - $ref: '#/components/schemas/RedirectChallenge' + - $ref: '#/components/schemas/PlexAuthenticationChallenge' + - $ref: '#/components/schemas/AppleLoginChallenge' + discriminator: + propertyName: component + mapping: + xak-flow-redirect: '#/components/schemas/RedirectChallenge' + ak-source-plex: '#/components/schemas/PlexAuthenticationChallenge' + ak-source-oauth-apple: '#/components/schemas/AppleLoginChallenge' + LoginMetrics: + type: object + description: Login Metrics per 1h + properties: + logins: + type: array + items: + $ref: '#/components/schemas/Coordinate' + readOnly: true + logins_failed: + type: array + items: + $ref: '#/components/schemas/Coordinate' + readOnly: true + authorizations: + type: array + items: + $ref: '#/components/schemas/Coordinate' + readOnly: true + required: + - authorizations + - logins + - logins_failed + LoginSource: + type: object + description: Serializer for Login buttons of sources + properties: + name: + type: string + icon_url: + type: string + nullable: true + challenge: + $ref: '#/components/schemas/LoginChallengeTypes' + required: + - challenge + - name + Metadata: + type: object + description: Serializer for blueprint metadata + properties: + name: + type: string + labels: + type: object + additionalProperties: {} + required: + - labels + - name + MicrosoftEntraProvider: + type: object + description: MicrosoftEntraProvider Serializer + properties: + pk: + type: integer + readOnly: true + title: ID + name: + type: string + property_mappings: + type: array + items: + type: string + format: uuid + property_mappings_group: + type: array + items: + type: string + format: uuid + description: Property mappings used for group creation/updating. + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + assigned_backchannel_application_slug: + type: string + description: Internal application name, used in URLs. + readOnly: true + assigned_backchannel_application_name: + type: string + description: Application's display Name. + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + client_id: + type: string + client_secret: + type: string + tenant_id: + type: string + exclude_users_service_account: + type: boolean + filter_group: + type: string + format: uuid + nullable: true + user_delete_action: + $ref: '#/components/schemas/OutgoingSyncDeleteAction' + group_delete_action: + $ref: '#/components/schemas/OutgoingSyncDeleteAction' + required: + - assigned_backchannel_application_name + - assigned_backchannel_application_slug + - client_id + - client_secret + - component + - meta_model_name + - name + - pk + - tenant_id + - verbose_name + - verbose_name_plural + MicrosoftEntraProviderGroup: + type: object + description: MicrosoftEntraProviderGroup Serializer + properties: + id: + type: string + format: uuid + readOnly: true + microsoft_id: + type: string + group: + type: string + format: uuid + group_obj: + allOf: + - $ref: '#/components/schemas/UserGroup' + readOnly: true + provider: + type: integer + attributes: + readOnly: true + required: + - attributes + - group + - group_obj + - id + - microsoft_id + - provider + MicrosoftEntraProviderGroupRequest: + type: object + description: MicrosoftEntraProviderGroup Serializer + properties: + microsoft_id: + type: string + minLength: 1 + group: + type: string + format: uuid + provider: + type: integer + required: + - group + - microsoft_id + - provider + MicrosoftEntraProviderMapping: + type: object + description: MicrosoftEntraProviderMapping Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Pm uuid + managed: + type: string + nullable: true + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + expression: + type: string + component: + type: string + description: Get object's component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + required: + - component + - expression + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + MicrosoftEntraProviderMappingRequest: + type: object + description: MicrosoftEntraProviderMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + required: + - expression + - name + MicrosoftEntraProviderRequest: + type: object + description: MicrosoftEntraProvider Serializer + properties: + name: + type: string + minLength: 1 + property_mappings: + type: array + items: + type: string + format: uuid + property_mappings_group: + type: array + items: + type: string + format: uuid + description: Property mappings used for group creation/updating. + client_id: + type: string + minLength: 1 + client_secret: + type: string + minLength: 1 + tenant_id: + type: string + minLength: 1 + exclude_users_service_account: + type: boolean + filter_group: + type: string + format: uuid + nullable: true + user_delete_action: + $ref: '#/components/schemas/OutgoingSyncDeleteAction' + group_delete_action: + $ref: '#/components/schemas/OutgoingSyncDeleteAction' + required: + - client_id + - client_secret + - name + - tenant_id + MicrosoftEntraProviderUser: + type: object + description: MicrosoftEntraProviderUser Serializer + properties: + id: + type: string + format: uuid + readOnly: true + microsoft_id: + type: string + user: + type: integer + user_obj: + allOf: + - $ref: '#/components/schemas/GroupMember' + readOnly: true + provider: + type: integer + attributes: + readOnly: true + required: + - attributes + - id + - microsoft_id + - provider + - user + - user_obj + MicrosoftEntraProviderUserRequest: + type: object + description: MicrosoftEntraProviderUser Serializer + properties: + microsoft_id: + type: string + minLength: 1 + user: + type: integer + provider: + type: integer + required: + - microsoft_id + - provider + - user + ModelEnum: + enum: + - authentik_tenants.domain + - authentik_crypto.certificatekeypair + - authentik_flows.flow + - authentik_flows.flowstagebinding + - authentik_outposts.dockerserviceconnection + - authentik_outposts.kubernetesserviceconnection + - authentik_outposts.outpost + - authentik_policies_dummy.dummypolicy + - authentik_policies_event_matcher.eventmatcherpolicy + - authentik_policies_expiry.passwordexpirypolicy + - authentik_policies_expression.expressionpolicy + - authentik_policies_geoip.geoippolicy + - authentik_policies_password.passwordpolicy + - authentik_policies_reputation.reputationpolicy + - authentik_policies.policybinding + - authentik_providers_ldap.ldapprovider + - authentik_providers_oauth2.scopemapping + - authentik_providers_oauth2.oauth2provider + - authentik_providers_proxy.proxyprovider + - authentik_providers_radius.radiusprovider + - authentik_providers_radius.radiusproviderpropertymapping + - authentik_providers_saml.samlprovider + - authentik_providers_saml.samlpropertymapping + - authentik_providers_scim.scimprovider + - authentik_providers_scim.scimmapping + - authentik_rbac.role + - authentik_sources_ldap.ldapsource + - authentik_sources_ldap.ldapsourcepropertymapping + - authentik_sources_oauth.oauthsource + - authentik_sources_oauth.oauthsourcepropertymapping + - authentik_sources_oauth.useroauthsourceconnection + - authentik_sources_oauth.groupoauthsourceconnection + - authentik_sources_plex.plexsource + - authentik_sources_plex.plexsourcepropertymapping + - authentik_sources_plex.userplexsourceconnection + - authentik_sources_plex.groupplexsourceconnection + - authentik_sources_saml.samlsource + - authentik_sources_saml.samlsourcepropertymapping + - authentik_sources_saml.usersamlsourceconnection + - authentik_sources_saml.groupsamlsourceconnection + - authentik_sources_scim.scimsource + - authentik_sources_scim.scimsourcepropertymapping + - authentik_stages_authenticator_duo.authenticatorduostage + - authentik_stages_authenticator_duo.duodevice + - authentik_stages_authenticator_sms.authenticatorsmsstage + - authentik_stages_authenticator_sms.smsdevice + - authentik_stages_authenticator_static.authenticatorstaticstage + - authentik_stages_authenticator_static.staticdevice + - authentik_stages_authenticator_totp.authenticatortotpstage + - authentik_stages_authenticator_totp.totpdevice + - authentik_stages_authenticator_validate.authenticatorvalidatestage + - authentik_stages_authenticator_webauthn.authenticatorwebauthnstage + - authentik_stages_authenticator_webauthn.webauthndevice + - authentik_stages_captcha.captchastage + - authentik_stages_consent.consentstage + - authentik_stages_consent.userconsent + - authentik_stages_deny.denystage + - authentik_stages_dummy.dummystage + - authentik_stages_email.emailstage + - authentik_stages_identification.identificationstage + - authentik_stages_invitation.invitationstage + - authentik_stages_invitation.invitation + - authentik_stages_password.passwordstage + - authentik_stages_prompt.prompt + - authentik_stages_prompt.promptstage + - authentik_stages_user_delete.userdeletestage + - authentik_stages_user_login.userloginstage + - authentik_stages_user_logout.userlogoutstage + - authentik_stages_user_write.userwritestage + - authentik_brands.brand + - authentik_blueprints.blueprintinstance + - authentik_core.group + - authentik_core.user + - authentik_core.application + - authentik_core.token + - authentik_enterprise.license + - authentik_providers_google_workspace.googleworkspaceprovider + - authentik_providers_google_workspace.googleworkspaceprovidermapping + - authentik_providers_microsoft_entra.microsoftentraprovider + - authentik_providers_microsoft_entra.microsoftentraprovidermapping + - authentik_providers_rac.racprovider + - authentik_providers_rac.endpoint + - authentik_providers_rac.racpropertymapping + - authentik_stages_source.sourcestage + - authentik_events.event + - authentik_events.notificationtransport + - authentik_events.notification + - authentik_events.notificationrule + - authentik_events.notificationwebhookmapping + type: string + NameIdPolicyEnum: + enum: + - urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress + - urn:oasis:names:tc:SAML:2.0:nameid-format:persistent + - urn:oasis:names:tc:SAML:2.0:nameid-format:X509SubjectName + - urn:oasis:names:tc:SAML:2.0:nameid-format:WindowsDomainQualifiedName + - urn:oasis:names:tc:SAML:2.0:nameid-format:transient + type: string + NetworkBindingEnum: + enum: + - no_binding + - bind_asn + - bind_asn_network + - bind_asn_network_ip + type: string + NotConfiguredActionEnum: + enum: + - skip + - deny + - configure + type: string + Notification: + type: object + description: Notification Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Uuid + severity: + allOf: + - $ref: '#/components/schemas/SeverityEnum' + readOnly: true + body: + type: string + readOnly: true + created: + type: string + format: date-time + readOnly: true + event: + $ref: '#/components/schemas/Event' + seen: + type: boolean + required: + - body + - created + - pk + - severity + NotificationRequest: + type: object + description: Notification Serializer + properties: + event: + $ref: '#/components/schemas/EventRequest' + seen: + type: boolean + NotificationRule: + type: object + description: NotificationRule Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Pbm uuid + name: + type: string + transports: + type: array + items: + type: string + format: uuid + description: Select which transports should be used to notify the user. + If none are selected, the notification will only be shown in the authentik + UI. + severity: + allOf: + - $ref: '#/components/schemas/SeverityEnum' + description: Controls which severity level the created notifications will + have. + group: + type: string + format: uuid + nullable: true + description: Define which group of users this notification should be sent + and shown to. If left empty, Notification won't ben sent. + group_obj: + allOf: + - $ref: '#/components/schemas/Group' + readOnly: true + required: + - group_obj + - name + - pk + NotificationRuleRequest: + type: object + description: NotificationRule Serializer + properties: + name: + type: string + minLength: 1 + transports: + type: array + items: + type: string + format: uuid + description: Select which transports should be used to notify the user. + If none are selected, the notification will only be shown in the authentik + UI. + severity: + allOf: + - $ref: '#/components/schemas/SeverityEnum' + description: Controls which severity level the created notifications will + have. + group: + type: string + format: uuid + nullable: true + description: Define which group of users this notification should be sent + and shown to. If left empty, Notification won't ben sent. + required: + - name + NotificationTransport: + type: object + description: NotificationTransport Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Uuid + name: + type: string + mode: + $ref: '#/components/schemas/NotificationTransportModeEnum' + mode_verbose: + type: string + description: Return selected mode with a UI Label + readOnly: true + webhook_url: + type: string + format: uri + webhook_mapping: + type: string + format: uuid + nullable: true + send_once: + type: boolean + description: Only send notification once, for example when sending a webhook + into a chat channel. + required: + - mode_verbose + - name + - pk + NotificationTransportModeEnum: + enum: + - local + - webhook + - webhook_slack + - email + type: string + NotificationTransportRequest: + type: object + description: NotificationTransport Serializer + properties: + name: + type: string + minLength: 1 + mode: + $ref: '#/components/schemas/NotificationTransportModeEnum' + webhook_url: + type: string + format: uri + webhook_mapping: + type: string + format: uuid + nullable: true + send_once: + type: boolean + description: Only send notification once, for example when sending a webhook + into a chat channel. + required: + - name + NotificationTransportTest: + type: object + description: Notification test serializer + properties: + messages: + type: array + items: + type: string + required: + - messages + NotificationWebhookMapping: + type: object + description: NotificationWebhookMapping Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Pm uuid + name: + type: string + expression: + type: string + required: + - expression + - name + - pk + NotificationWebhookMappingRequest: + type: object + description: NotificationWebhookMapping Serializer + properties: + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + required: + - expression + - name + OAuth2Provider: + type: object + description: OAuth2Provider Serializer + properties: + pk: + type: integer + readOnly: true + title: ID + name: + type: string + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow used for authentication when the associated application + is accessed by an un-authenticated user. + authorization_flow: + type: string + format: uuid + description: Flow used when authorizing this provider. + property_mappings: + type: array + items: + type: string + format: uuid + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + assigned_application_slug: + type: string + description: Internal application name, used in URLs. + readOnly: true + assigned_application_name: + type: string + description: Application's display Name. + readOnly: true + assigned_backchannel_application_slug: + type: string + description: Internal application name, used in URLs. + readOnly: true + assigned_backchannel_application_name: + type: string + description: Application's display Name. + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + client_type: + allOf: + - $ref: '#/components/schemas/ClientTypeEnum' + description: Confidential clients are capable of maintaining the confidentiality + of their credentials. Public clients are incapable + client_id: + type: string + maxLength: 255 + client_secret: + type: string + maxLength: 255 + access_code_validity: + type: string + description: 'Access codes not valid on or after current time + this value + (Format: hours=1;minutes=2;seconds=3).' + access_token_validity: + type: string + description: 'Tokens not valid on or after current time + this value (Format: + hours=1;minutes=2;seconds=3).' + refresh_token_validity: + type: string + description: 'Tokens not valid on or after current time + this value (Format: + hours=1;minutes=2;seconds=3).' + include_claims_in_id_token: + type: boolean + description: Include User claims from scopes in the id_token, for applications + that don't access the userinfo endpoint. + signing_key: + type: string + format: uuid + nullable: true + description: Key used to sign the tokens. Only required when JWT Algorithm + is set to RS256. + redirect_uris: + type: string + description: Enter each URI on a new line. + sub_mode: + allOf: + - $ref: '#/components/schemas/SubModeEnum' + description: Configure what data should be used as unique User Identifier. + For most cases, the default should be fine. + issuer_mode: + allOf: + - $ref: '#/components/schemas/IssuerModeEnum' + description: Configure how the issuer field of the ID Token should be filled. + jwks_sources: + type: array + items: + type: string + format: uuid + title: Any JWT signed by the JWK of the selected source can be used to + authenticate. + title: Any JWT signed by the JWK of the selected source can be used to authenticate. + required: + - assigned_application_name + - assigned_application_slug + - assigned_backchannel_application_name + - assigned_backchannel_application_slug + - authorization_flow + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + OAuth2ProviderRequest: + type: object + description: OAuth2Provider Serializer + properties: + name: + type: string + minLength: 1 + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow used for authentication when the associated application + is accessed by an un-authenticated user. + authorization_flow: + type: string + format: uuid + description: Flow used when authorizing this provider. + property_mappings: + type: array + items: + type: string + format: uuid + client_type: + allOf: + - $ref: '#/components/schemas/ClientTypeEnum' + description: Confidential clients are capable of maintaining the confidentiality + of their credentials. Public clients are incapable + client_id: + type: string + minLength: 1 + maxLength: 255 + client_secret: + type: string + maxLength: 255 + access_code_validity: + type: string + minLength: 1 + description: 'Access codes not valid on or after current time + this value + (Format: hours=1;minutes=2;seconds=3).' + access_token_validity: + type: string + minLength: 1 + description: 'Tokens not valid on or after current time + this value (Format: + hours=1;minutes=2;seconds=3).' + refresh_token_validity: + type: string + minLength: 1 + description: 'Tokens not valid on or after current time + this value (Format: + hours=1;minutes=2;seconds=3).' + include_claims_in_id_token: + type: boolean + description: Include User claims from scopes in the id_token, for applications + that don't access the userinfo endpoint. + signing_key: + type: string + format: uuid + nullable: true + description: Key used to sign the tokens. Only required when JWT Algorithm + is set to RS256. + redirect_uris: + type: string + description: Enter each URI on a new line. + sub_mode: + allOf: + - $ref: '#/components/schemas/SubModeEnum' + description: Configure what data should be used as unique User Identifier. + For most cases, the default should be fine. + issuer_mode: + allOf: + - $ref: '#/components/schemas/IssuerModeEnum' + description: Configure how the issuer field of the ID Token should be filled. + jwks_sources: + type: array + items: + type: string + format: uuid + title: Any JWT signed by the JWK of the selected source can be used to + authenticate. + title: Any JWT signed by the JWK of the selected source can be used to authenticate. + required: + - authorization_flow + - name + OAuth2ProviderSetupURLs: + type: object + description: OAuth2 Provider Metadata serializer + properties: + issuer: + type: string + readOnly: true + authorize: + type: string + readOnly: true + token: + type: string + readOnly: true + user_info: + type: string + readOnly: true + provider_info: + type: string + readOnly: true + logout: + type: string + readOnly: true + jwks: + type: string + readOnly: true + required: + - authorize + - issuer + - jwks + - logout + - provider_info + - token + - user_info + OAuthDeviceCodeChallenge: + type: object + description: OAuth Device code challenge + properties: + flow_info: + $ref: '#/components/schemas/ContextualFlowInfo' + component: + type: string + default: ak-provider-oauth2-device-code + response_errors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + OAuthDeviceCodeChallengeResponseRequest: + type: object + description: Response that includes the user-entered device code + properties: + component: + type: string + minLength: 1 + default: ak-provider-oauth2-device-code + code: + type: integer + required: + - code + OAuthDeviceCodeFinishChallenge: + type: object + description: Final challenge after user enters their code + properties: + flow_info: + $ref: '#/components/schemas/ContextualFlowInfo' + component: + type: string + default: ak-provider-oauth2-device-code-finish + response_errors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + OAuthDeviceCodeFinishChallengeResponseRequest: + type: object + description: Response that device has been authenticated and tab can be closed + properties: + component: + type: string + minLength: 1 + default: ak-provider-oauth2-device-code-finish + OAuthSource: + type: object + description: OAuth Source Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Pbm uuid + name: + type: string + description: Source's display Name. + slug: + type: string + description: Internal source name, used in URLs. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + enabled: + type: boolean + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow to use when authenticating existing users. + enrollment_flow: + type: string + format: uuid + nullable: true + description: Flow to use when enrolling new users. + user_property_mappings: + type: array + items: + type: string + format: uuid + group_property_mappings: + type: array + items: + type: string + format: uuid + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + user_matching_mode: + allOf: + - $ref: '#/components/schemas/UserMatchingModeEnum' + description: How the source determines if an existing user should be authenticated + or a new user enrolled. + managed: + type: string + nullable: true + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + readOnly: true + user_path_template: + type: string + icon: + type: string + nullable: true + readOnly: true + group_matching_mode: + allOf: + - $ref: '#/components/schemas/GroupMatchingModeEnum' + description: How the source determines if an existing group should be used + or a new group created. + provider_type: + $ref: '#/components/schemas/ProviderTypeEnum' + request_token_url: + type: string + nullable: true + description: URL used to request the initial token. This URL is only required + for OAuth 1. + maxLength: 255 + authorization_url: + type: string + nullable: true + description: URL the user is redirect to to conest the flow. + maxLength: 255 + access_token_url: + type: string + nullable: true + description: URL used by authentik to retrieve tokens. + maxLength: 255 + profile_url: + type: string + nullable: true + description: URL used by authentik to get user information. + maxLength: 255 + consumer_key: + type: string + callback_url: + type: string + description: Get OAuth Callback URL + readOnly: true + additional_scopes: + type: string + type: + allOf: + - $ref: '#/components/schemas/SourceType' + readOnly: true + oidc_well_known_url: + type: string + oidc_jwks_url: + type: string + oidc_jwks: {} + required: + - callback_url + - component + - consumer_key + - icon + - managed + - meta_model_name + - name + - pk + - provider_type + - slug + - type + - verbose_name + - verbose_name_plural + OAuthSourcePropertyMapping: + type: object + description: OAuthSourcePropertyMapping Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Pm uuid + managed: + type: string + nullable: true + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + expression: + type: string + component: + type: string + description: Get object's component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + required: + - component + - expression + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + OAuthSourcePropertyMappingRequest: + type: object + description: OAuthSourcePropertyMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + required: + - expression + - name + OAuthSourceRequest: + type: object + description: OAuth Source Serializer + properties: + name: + type: string + minLength: 1 + description: Source's display Name. + slug: + type: string + minLength: 1 + description: Internal source name, used in URLs. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + enabled: + type: boolean + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow to use when authenticating existing users. + enrollment_flow: + type: string + format: uuid + nullable: true + description: Flow to use when enrolling new users. + user_property_mappings: + type: array + items: + type: string + format: uuid + group_property_mappings: + type: array + items: + type: string + format: uuid + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + user_matching_mode: + allOf: + - $ref: '#/components/schemas/UserMatchingModeEnum' + description: How the source determines if an existing user should be authenticated + or a new user enrolled. + user_path_template: + type: string + minLength: 1 + group_matching_mode: + allOf: + - $ref: '#/components/schemas/GroupMatchingModeEnum' + description: How the source determines if an existing group should be used + or a new group created. + provider_type: + $ref: '#/components/schemas/ProviderTypeEnum' + request_token_url: + type: string + nullable: true + description: URL used to request the initial token. This URL is only required + for OAuth 1. + maxLength: 255 + authorization_url: + type: string + nullable: true + description: URL the user is redirect to to conest the flow. + maxLength: 255 + access_token_url: + type: string + nullable: true + description: URL used by authentik to retrieve tokens. + maxLength: 255 + profile_url: + type: string + nullable: true + description: URL used by authentik to get user information. + maxLength: 255 + consumer_key: + type: string + minLength: 1 + consumer_secret: + type: string + writeOnly: true + minLength: 1 + additional_scopes: + type: string + oidc_well_known_url: + type: string + oidc_jwks_url: + type: string + oidc_jwks: {} + required: + - consumer_key + - consumer_secret + - name + - provider_type + - slug + OpenIDConnectConfiguration: + type: object + description: rest_framework Serializer for OIDC Configuration + properties: + issuer: + type: string + authorization_endpoint: + type: string + token_endpoint: + type: string + userinfo_endpoint: + type: string + end_session_endpoint: + type: string + introspection_endpoint: + type: string + jwks_uri: + type: string + response_types_supported: + type: array + items: + type: string + id_token_signing_alg_values_supported: + type: array + items: + type: string + subject_types_supported: + type: array + items: + type: string + token_endpoint_auth_methods_supported: + type: array + items: + type: string + required: + - authorization_endpoint + - end_session_endpoint + - id_token_signing_alg_values_supported + - introspection_endpoint + - issuer + - jwks_uri + - response_types_supported + - subject_types_supported + - token_endpoint + - token_endpoint_auth_methods_supported + - userinfo_endpoint + OutgoingSyncDeleteAction: + enum: + - do_nothing + - delete + - suspend + type: string + Outpost: + type: object + description: Outpost Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Uuid + name: + type: string + type: + $ref: '#/components/schemas/OutpostTypeEnum' + providers: + type: array + items: + type: integer + providers_obj: + type: array + items: + $ref: '#/components/schemas/Provider' + readOnly: true + service_connection: + type: string + format: uuid + nullable: true + description: Select Service-Connection authentik should use to manage this + outpost. Leave empty if authentik should not handle the deployment. + service_connection_obj: + allOf: + - $ref: '#/components/schemas/ServiceConnection' + readOnly: true + refresh_interval_s: + type: integer + readOnly: true + token_identifier: + type: string + description: Get Token identifier + readOnly: true + config: + type: object + additionalProperties: {} + managed: + type: string + nullable: true + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + required: + - config + - name + - pk + - providers + - providers_obj + - refresh_interval_s + - service_connection_obj + - token_identifier + - type + OutpostDefaultConfig: + type: object + description: Global default outpost config + properties: + config: + type: object + additionalProperties: {} + readOnly: true + required: + - config + OutpostHealth: + type: object + description: Outpost health status + properties: + uid: + type: string + readOnly: true + last_seen: + type: string + format: date-time + readOnly: true + version: + type: string + readOnly: true + golang_version: + type: string + readOnly: true + openssl_enabled: + type: boolean + readOnly: true + openssl_version: + type: string + readOnly: true + fips_enabled: + type: boolean + nullable: true + description: Get FIPS enabled + readOnly: true + version_should: + type: string + readOnly: true + version_outdated: + type: boolean + readOnly: true + build_hash: + type: string + readOnly: true + build_hash_should: + type: string + readOnly: true + hostname: + type: string + readOnly: true + required: + - build_hash + - build_hash_should + - fips_enabled + - golang_version + - hostname + - last_seen + - openssl_enabled + - openssl_version + - uid + - version + - version_outdated + - version_should + OutpostRequest: + type: object + description: Outpost Serializer + properties: + name: + type: string + minLength: 1 + type: + $ref: '#/components/schemas/OutpostTypeEnum' + providers: + type: array + items: + type: integer + service_connection: + type: string + format: uuid + nullable: true + description: Select Service-Connection authentik should use to manage this + outpost. Leave empty if authentik should not handle the deployment. + config: + type: object + additionalProperties: {} + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + required: + - config + - name + - providers + - type + OutpostTypeEnum: + enum: + - proxy + - ldap + - radius + - rac + type: string + PaginatedApplicationList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/Application' + required: + - pagination + - results + PaginatedAuthenticatedSessionList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/AuthenticatedSession' + required: + - pagination + - results + PaginatedAuthenticatorDuoStageList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/AuthenticatorDuoStage' + required: + - pagination + - results + PaginatedAuthenticatorSMSStageList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/AuthenticatorSMSStage' + required: + - pagination + - results + PaginatedAuthenticatorStaticStageList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/AuthenticatorStaticStage' + required: + - pagination + - results + PaginatedAuthenticatorTOTPStageList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/AuthenticatorTOTPStage' + required: + - pagination + - results + PaginatedAuthenticatorValidateStageList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/AuthenticatorValidateStage' + required: + - pagination + - results + PaginatedAuthenticatorWebAuthnStageList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/AuthenticatorWebAuthnStage' + required: + - pagination + - results + PaginatedBlueprintInstanceList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/BlueprintInstance' + required: + - pagination + - results + PaginatedBrandList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/Brand' + required: + - pagination + - results + PaginatedCaptchaStageList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/CaptchaStage' + required: + - pagination + - results + PaginatedCertificateKeyPairList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/CertificateKeyPair' + required: + - pagination + - results + PaginatedConnectionTokenList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/ConnectionToken' + required: + - pagination + - results + PaginatedConsentStageList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/ConsentStage' + required: + - pagination + - results + PaginatedDenyStageList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/DenyStage' + required: + - pagination + - results + PaginatedDockerServiceConnectionList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/DockerServiceConnection' + required: + - pagination + - results + PaginatedDomainList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/Domain' + required: + - pagination + - results + PaginatedDummyPolicyList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/DummyPolicy' + required: + - pagination + - results + PaginatedDummyStageList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/DummyStage' + required: + - pagination + - results + PaginatedDuoDeviceList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/DuoDevice' + required: + - pagination + - results + PaginatedEmailStageList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/EmailStage' + required: + - pagination + - results + PaginatedEndpointList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/Endpoint' + required: + - pagination + - results + PaginatedEventList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/Event' + required: + - pagination + - results + PaginatedEventMatcherPolicyList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/EventMatcherPolicy' + required: + - pagination + - results + PaginatedExpiringBaseGrantModelList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/ExpiringBaseGrantModel' + required: + - pagination + - results + PaginatedExpressionPolicyList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/ExpressionPolicy' + required: + - pagination + - results + PaginatedExtraRoleObjectPermissionList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/ExtraRoleObjectPermission' + required: + - pagination + - results + PaginatedExtraUserObjectPermissionList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/ExtraUserObjectPermission' + required: + - pagination + - results + PaginatedFlowList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/Flow' + required: + - pagination + - results + PaginatedFlowStageBindingList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/FlowStageBinding' + required: + - pagination + - results + PaginatedGeoIPPolicyList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/GeoIPPolicy' + required: + - pagination + - results + PaginatedGoogleWorkspaceProviderGroupList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/GoogleWorkspaceProviderGroup' + required: + - pagination + - results + PaginatedGoogleWorkspaceProviderList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/GoogleWorkspaceProvider' + required: + - pagination + - results + PaginatedGoogleWorkspaceProviderMappingList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/GoogleWorkspaceProviderMapping' + required: + - pagination + - results + PaginatedGoogleWorkspaceProviderUserList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/GoogleWorkspaceProviderUser' + required: + - pagination + - results + PaginatedGroupList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/Group' + required: + - pagination + - results + PaginatedGroupOAuthSourceConnectionList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/GroupOAuthSourceConnection' + required: + - pagination + - results + PaginatedGroupPlexSourceConnectionList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/GroupPlexSourceConnection' + required: + - pagination + - results + PaginatedGroupSAMLSourceConnectionList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/GroupSAMLSourceConnection' + required: + - pagination + - results + PaginatedIdentificationStageList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/IdentificationStage' + required: + - pagination + - results + PaginatedInvitationList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/Invitation' + required: + - pagination + - results + PaginatedInvitationStageList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/InvitationStage' + required: + - pagination + - results + PaginatedKubernetesServiceConnectionList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/KubernetesServiceConnection' + required: + - pagination + - results + PaginatedLDAPOutpostConfigList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/LDAPOutpostConfig' + required: + - pagination + - results + PaginatedLDAPProviderList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/LDAPProvider' + required: + - pagination + - results + PaginatedLDAPSourceList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/LDAPSource' + required: + - pagination + - results + PaginatedLDAPSourcePropertyMappingList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/LDAPSourcePropertyMapping' + required: + - pagination + - results + PaginatedLicenseList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/License' + required: + - pagination + - results + PaginatedMicrosoftEntraProviderGroupList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/MicrosoftEntraProviderGroup' + required: + - pagination + - results + PaginatedMicrosoftEntraProviderList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/MicrosoftEntraProvider' + required: + - pagination + - results + PaginatedMicrosoftEntraProviderMappingList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/MicrosoftEntraProviderMapping' + required: + - pagination + - results + PaginatedMicrosoftEntraProviderUserList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/MicrosoftEntraProviderUser' + required: + - pagination + - results + PaginatedNotificationList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/Notification' + required: + - pagination + - results + PaginatedNotificationRuleList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/NotificationRule' + required: + - pagination + - results + PaginatedNotificationTransportList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/NotificationTransport' + required: + - pagination + - results + PaginatedNotificationWebhookMappingList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/NotificationWebhookMapping' + required: + - pagination + - results + PaginatedOAuth2ProviderList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/OAuth2Provider' + required: + - pagination + - results + PaginatedOAuthSourceList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/OAuthSource' + required: + - pagination + - results + PaginatedOAuthSourcePropertyMappingList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/OAuthSourcePropertyMapping' + required: + - pagination + - results + PaginatedOutpostList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/Outpost' + required: + - pagination + - results + PaginatedPasswordExpiryPolicyList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/PasswordExpiryPolicy' + required: + - pagination + - results + PaginatedPasswordPolicyList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/PasswordPolicy' + required: + - pagination + - results + PaginatedPasswordStageList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/PasswordStage' + required: + - pagination + - results + PaginatedPermissionList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/Permission' + required: + - pagination + - results + PaginatedPlexSourceList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/PlexSource' + required: + - pagination + - results + PaginatedPlexSourcePropertyMappingList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/PlexSourcePropertyMapping' + required: + - pagination + - results + PaginatedPolicyBindingList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/PolicyBinding' + required: + - pagination + - results + PaginatedPolicyList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/Policy' + required: + - pagination + - results + PaginatedPromptList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/Prompt' + required: + - pagination + - results + PaginatedPromptStageList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/PromptStage' + required: + - pagination + - results + PaginatedPropertyMappingList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/PropertyMapping' + required: + - pagination + - results + PaginatedProviderList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/Provider' + required: + - pagination + - results + PaginatedProxyOutpostConfigList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/ProxyOutpostConfig' + required: + - pagination + - results + PaginatedProxyProviderList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/ProxyProvider' + required: + - pagination + - results + PaginatedRACPropertyMappingList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/RACPropertyMapping' + required: + - pagination + - results + PaginatedRACProviderList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/RACProvider' + required: + - pagination + - results + PaginatedRadiusOutpostConfigList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/RadiusOutpostConfig' + required: + - pagination + - results + PaginatedRadiusProviderList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/RadiusProvider' + required: + - pagination + - results + PaginatedRadiusProviderPropertyMappingList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/RadiusProviderPropertyMapping' + required: + - pagination + - results + PaginatedReputationList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/Reputation' + required: + - pagination + - results + PaginatedReputationPolicyList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/ReputationPolicy' + required: + - pagination + - results + PaginatedRoleAssignedObjectPermissionList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/RoleAssignedObjectPermission' + required: + - pagination + - results + PaginatedRoleList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/Role' + required: + - pagination + - results + PaginatedSAMLPropertyMappingList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/SAMLPropertyMapping' + required: + - pagination + - results + PaginatedSAMLProviderList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/SAMLProvider' + required: + - pagination + - results + PaginatedSAMLSourceList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/SAMLSource' + required: + - pagination + - results + PaginatedSAMLSourcePropertyMappingList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/SAMLSourcePropertyMapping' + required: + - pagination + - results + PaginatedSCIMMappingList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/SCIMMapping' + required: + - pagination + - results + PaginatedSCIMProviderGroupList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/SCIMProviderGroup' + required: + - pagination + - results + PaginatedSCIMProviderList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/SCIMProvider' + required: + - pagination + - results + PaginatedSCIMProviderUserList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/SCIMProviderUser' + required: + - pagination + - results + PaginatedSCIMSourceGroupList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/SCIMSourceGroup' + required: + - pagination + - results + PaginatedSCIMSourceList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/SCIMSource' + required: + - pagination + - results + PaginatedSCIMSourcePropertyMappingList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/SCIMSourcePropertyMapping' + required: + - pagination + - results + PaginatedSCIMSourceUserList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/SCIMSourceUser' + required: + - pagination + - results + PaginatedSMSDeviceList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/SMSDevice' + required: + - pagination + - results + PaginatedScopeMappingList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/ScopeMapping' + required: + - pagination + - results + PaginatedServiceConnectionList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/ServiceConnection' + required: + - pagination + - results + PaginatedSourceList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/Source' + required: + - pagination + - results + PaginatedSourceStageList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/SourceStage' + required: + - pagination + - results + PaginatedStageList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/Stage' + required: + - pagination + - results + PaginatedStaticDeviceList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/StaticDevice' + required: + - pagination + - results + PaginatedSystemTaskList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/SystemTask' + required: + - pagination + - results + PaginatedTOTPDeviceList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/TOTPDevice' + required: + - pagination + - results + PaginatedTenantList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/Tenant' + required: + - pagination + - results + PaginatedTokenList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/Token' + required: + - pagination + - results + PaginatedTokenModelList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/TokenModel' + required: + - pagination + - results + PaginatedUserAssignedObjectPermissionList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/UserAssignedObjectPermission' + required: + - pagination + - results + PaginatedUserConsentList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/UserConsent' + required: + - pagination + - results + PaginatedUserDeleteStageList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/UserDeleteStage' + required: + - pagination + - results + PaginatedUserList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/User' + required: + - pagination + - results + PaginatedUserLoginStageList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/UserLoginStage' + required: + - pagination + - results + PaginatedUserLogoutStageList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/UserLogoutStage' + required: + - pagination + - results + PaginatedUserOAuthSourceConnectionList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/UserOAuthSourceConnection' + required: + - pagination + - results + PaginatedUserPlexSourceConnectionList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/UserPlexSourceConnection' + required: + - pagination + - results + PaginatedUserSAMLSourceConnectionList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/UserSAMLSourceConnection' + required: + - pagination + - results + PaginatedUserSourceConnectionList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/UserSourceConnection' + required: + - pagination + - results + PaginatedUserWriteStageList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/UserWriteStage' + required: + - pagination + - results + PaginatedWebAuthnDeviceList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/WebAuthnDevice' + required: + - pagination + - results + PaginatedWebAuthnDeviceTypeList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/WebAuthnDeviceType' + required: + - pagination + - results + Pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index + PasswordChallenge: + type: object + description: Password challenge UI fields + properties: + flow_info: + $ref: '#/components/schemas/ContextualFlowInfo' + component: + type: string + default: ak-stage-password + response_errors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + pending_user: + type: string + pending_user_avatar: + type: string + recovery_url: + type: string + allow_show_password: + type: boolean + default: false + required: + - pending_user + - pending_user_avatar + PasswordChallengeResponseRequest: + type: object + description: Password challenge response + properties: + component: + type: string + minLength: 1 + default: ak-stage-password + password: + type: string + minLength: 1 + required: + - password + PasswordExpiryPolicy: + type: object + description: Password Expiry Policy Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Policy uuid + name: + type: string + execution_logging: + type: boolean + description: When this option is enabled, all executions of this policy + will be logged. By default, only execution errors are logged. + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + bound_to: + type: integer + description: Return objects policy is bound to + readOnly: true + days: + type: integer + maximum: 2147483647 + minimum: -2147483648 + deny_only: + type: boolean + required: + - bound_to + - component + - days + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + PasswordExpiryPolicyRequest: + type: object + description: Password Expiry Policy Serializer + properties: + name: + type: string + minLength: 1 + execution_logging: + type: boolean + description: When this option is enabled, all executions of this policy + will be logged. By default, only execution errors are logged. + days: + type: integer + maximum: 2147483647 + minimum: -2147483648 + deny_only: + type: boolean + required: + - days + - name + PasswordPolicy: + type: object + description: Password Policy Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Policy uuid + name: + type: string + execution_logging: + type: boolean + description: When this option is enabled, all executions of this policy + will be logged. By default, only execution errors are logged. + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + bound_to: + type: integer + description: Return objects policy is bound to + readOnly: true + password_field: + type: string + description: Field key to check, field keys defined in Prompt stages are + available. + amount_digits: + type: integer + maximum: 2147483647 + minimum: 0 + amount_uppercase: + type: integer + maximum: 2147483647 + minimum: 0 + amount_lowercase: + type: integer + maximum: 2147483647 + minimum: 0 + amount_symbols: + type: integer + maximum: 2147483647 + minimum: 0 + length_min: + type: integer + maximum: 2147483647 + minimum: 0 + symbol_charset: + type: string + error_message: + type: string + check_static_rules: + type: boolean + check_have_i_been_pwned: + type: boolean + check_zxcvbn: + type: boolean + hibp_allowed_count: + type: integer + maximum: 2147483647 + minimum: 0 + description: How many times the password hash is allowed to be on haveibeenpwned + zxcvbn_score_threshold: + type: integer + maximum: 2147483647 + minimum: 0 + description: If the zxcvbn score is equal or less than this value, the policy + will fail. + required: + - bound_to + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + PasswordPolicyRequest: + type: object + description: Password Policy Serializer + properties: + name: + type: string + minLength: 1 + execution_logging: + type: boolean + description: When this option is enabled, all executions of this policy + will be logged. By default, only execution errors are logged. + password_field: + type: string + minLength: 1 + description: Field key to check, field keys defined in Prompt stages are + available. + amount_digits: + type: integer + maximum: 2147483647 + minimum: 0 + amount_uppercase: + type: integer + maximum: 2147483647 + minimum: 0 + amount_lowercase: + type: integer + maximum: 2147483647 + minimum: 0 + amount_symbols: + type: integer + maximum: 2147483647 + minimum: 0 + length_min: + type: integer + maximum: 2147483647 + minimum: 0 + symbol_charset: + type: string + minLength: 1 + error_message: + type: string + check_static_rules: + type: boolean + check_have_i_been_pwned: + type: boolean + check_zxcvbn: + type: boolean + hibp_allowed_count: + type: integer + maximum: 2147483647 + minimum: 0 + description: How many times the password hash is allowed to be on haveibeenpwned + zxcvbn_score_threshold: + type: integer + maximum: 2147483647 + minimum: 0 + description: If the zxcvbn score is equal or less than this value, the policy + will fail. + required: + - name + PasswordStage: + type: object + description: PasswordStage Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Stage uuid + name: + type: string + component: + type: string + description: Get object type so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSet' + backends: + type: array + items: + $ref: '#/components/schemas/BackendsEnum' + description: Selection of backends to test the password against. + configure_flow: + type: string + format: uuid + nullable: true + description: Flow used by an authenticated user to configure this Stage. + If empty, user will not be able to configure this stage. + failed_attempts_before_cancel: + type: integer + maximum: 2147483647 + minimum: -2147483648 + description: How many attempts a user has before the flow is canceled. To + lock the user out, use a reputation policy and a user_write stage. + allow_show_password: + type: boolean + description: When enabled, provides a 'show password' button with the password + input field. + required: + - backends + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + PasswordStageRequest: + type: object + description: PasswordStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + backends: + type: array + items: + $ref: '#/components/schemas/BackendsEnum' + description: Selection of backends to test the password against. + configure_flow: + type: string + format: uuid + nullable: true + description: Flow used by an authenticated user to configure this Stage. + If empty, user will not be able to configure this stage. + failed_attempts_before_cancel: + type: integer + maximum: 2147483647 + minimum: -2147483648 + description: How many attempts a user has before the flow is canceled. To + lock the user out, use a reputation policy and a user_write stage. + allow_show_password: + type: boolean + description: When enabled, provides a 'show password' button with the password + input field. + required: + - backends + - name + PatchedApplicationRequest: + type: object + description: Application Serializer + properties: + name: + type: string + minLength: 1 + description: Application's display Name. + slug: + type: string + minLength: 1 + description: Internal application name, used in URLs. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + provider: + type: integer + nullable: true + backchannel_providers: + type: array + items: + type: integer + open_in_new_tab: + type: boolean + description: Open launch URL in a new browser tab or window. + meta_launch_url: + type: string + format: uri + meta_description: + type: string + meta_publisher: + type: string + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + group: + type: string + PatchedAuthenticatorDuoStageRequest: + type: object + description: AuthenticatorDuoStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + configure_flow: + type: string + format: uuid + nullable: true + description: Flow used by an authenticated user to configure this Stage. + If empty, user will not be able to configure this stage. + friendly_name: + type: string + nullable: true + minLength: 1 + client_id: + type: string + minLength: 1 + client_secret: + type: string + writeOnly: true + minLength: 1 + api_hostname: + type: string + minLength: 1 + admin_integration_key: + type: string + admin_secret_key: + type: string + writeOnly: true + PatchedAuthenticatorSMSStageRequest: + type: object + description: AuthenticatorSMSStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + configure_flow: + type: string + format: uuid + nullable: true + description: Flow used by an authenticated user to configure this Stage. + If empty, user will not be able to configure this stage. + friendly_name: + type: string + nullable: true + minLength: 1 + provider: + $ref: '#/components/schemas/ProviderEnum' + from_number: + type: string + minLength: 1 + account_sid: + type: string + minLength: 1 + auth: + type: string + minLength: 1 + auth_password: + type: string + auth_type: + $ref: '#/components/schemas/AuthTypeEnum' + verify_only: + type: boolean + description: When enabled, the Phone number is only used during enrollment + to verify the users authenticity. Only a hash of the phone number is saved + to ensure it is not reused in the future. + mapping: + type: string + format: uuid + nullable: true + description: Optionally modify the payload being sent to custom providers. + PatchedAuthenticatorStaticStageRequest: + type: object + description: AuthenticatorStaticStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + configure_flow: + type: string + format: uuid + nullable: true + description: Flow used by an authenticated user to configure this Stage. + If empty, user will not be able to configure this stage. + friendly_name: + type: string + nullable: true + minLength: 1 + token_count: + type: integer + maximum: 2147483647 + minimum: 0 + token_length: + type: integer + maximum: 2147483647 + minimum: 0 + PatchedAuthenticatorTOTPStageRequest: + type: object + description: AuthenticatorTOTPStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + configure_flow: + type: string + format: uuid + nullable: true + description: Flow used by an authenticated user to configure this Stage. + If empty, user will not be able to configure this stage. + friendly_name: + type: string + nullable: true + minLength: 1 + digits: + $ref: '#/components/schemas/DigitsEnum' + PatchedAuthenticatorValidateStageRequest: + type: object + description: AuthenticatorValidateStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + not_configured_action: + $ref: '#/components/schemas/NotConfiguredActionEnum' + device_classes: + type: array + items: + $ref: '#/components/schemas/DeviceClassesEnum' + description: Device classes which can be used to authenticate + configuration_stages: + type: array + items: + type: string + format: uuid + description: Stages used to configure Authenticator when user doesn't have + any compatible devices. After this configuration Stage passes, the user + is not prompted again. + last_auth_threshold: + type: string + minLength: 1 + description: If any of the user's device has been used within this threshold, + this stage will be skipped + webauthn_user_verification: + allOf: + - $ref: '#/components/schemas/UserVerificationEnum' + description: Enforce user verification for WebAuthn devices. + webauthn_allowed_device_types: + type: array + items: + type: string + format: uuid + PatchedAuthenticatorWebAuthnStageRequest: + type: object + description: AuthenticatorWebAuthnStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + configure_flow: + type: string + format: uuid + nullable: true + description: Flow used by an authenticated user to configure this Stage. + If empty, user will not be able to configure this stage. + friendly_name: + type: string + nullable: true + minLength: 1 + user_verification: + $ref: '#/components/schemas/UserVerificationEnum' + authenticator_attachment: + allOf: + - $ref: '#/components/schemas/AuthenticatorAttachmentEnum' + nullable: true + resident_key_requirement: + $ref: '#/components/schemas/ResidentKeyRequirementEnum' + device_type_restrictions: + type: array + items: + type: string + format: uuid + PatchedBlueprintInstanceRequest: + type: object + description: Info about a single blueprint instance file + properties: + name: + type: string + minLength: 1 + path: + type: string + default: '' + context: {} + enabled: + type: boolean + content: + type: string + PatchedBrandRequest: + type: object + description: Brand Serializer + properties: + domain: + type: string + minLength: 1 + description: Domain that activates this brand. Can be a superset, i.e. `a.b` + for `aa.b` and `ba.b` + default: + type: boolean + branding_title: + type: string + minLength: 1 + branding_logo: + type: string + minLength: 1 + branding_favicon: + type: string + minLength: 1 + flow_authentication: + type: string + format: uuid + nullable: true + flow_invalidation: + type: string + format: uuid + nullable: true + flow_recovery: + type: string + format: uuid + nullable: true + flow_unenrollment: + type: string + format: uuid + nullable: true + flow_user_settings: + type: string + format: uuid + nullable: true + flow_device_code: + type: string + format: uuid + nullable: true + default_application: + type: string + format: uuid + nullable: true + description: When set, external users will be redirected to this application + after authenticating. + web_certificate: + type: string + format: uuid + nullable: true + description: Web Certificate used by the authentik Core webserver. + attributes: {} + PatchedCaptchaStageRequest: + type: object + description: CaptchaStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + public_key: + type: string + minLength: 1 + description: Public key, acquired your captcha Provider. + private_key: + type: string + writeOnly: true + minLength: 1 + description: Private key, acquired your captcha Provider. + js_url: + type: string + minLength: 1 + api_url: + type: string + minLength: 1 + score_min_threshold: + type: number + format: double + score_max_threshold: + type: number + format: double + error_on_invalid_score: + type: boolean + description: When enabled and the received captcha score is outside of the + given threshold, the stage will show an error message. When not enabled, + the flow will continue, but the data from the captcha will be available + in the context for policy decisions + PatchedCertificateKeyPairRequest: + type: object + description: CertificateKeyPair Serializer + properties: + name: + type: string + minLength: 1 + certificate_data: + type: string + writeOnly: true + minLength: 1 + description: PEM-encoded Certificate data + key_data: + type: string + writeOnly: true + description: Optional Private Key. If this is set, you can use this keypair + for encryption. + PatchedConnectionTokenRequest: + type: object + description: ConnectionToken Serializer + properties: + pk: + type: string + format: uuid + title: Connection token uuid + provider: + type: integer + endpoint: + type: string + format: uuid + PatchedConsentStageRequest: + type: object + description: ConsentStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + mode: + $ref: '#/components/schemas/ConsentStageModeEnum' + consent_expire_in: + type: string + minLength: 1 + title: Consent expires in + description: 'Offset after which consent expires. (Format: hours=1;minutes=2;seconds=3).' + PatchedDenyStageRequest: + type: object + description: DenyStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + deny_message: + type: string + PatchedDockerServiceConnectionRequest: + type: object + description: DockerServiceConnection Serializer + properties: + name: + type: string + minLength: 1 + local: + type: boolean + description: If enabled, use the local connection. Required Docker socket/Kubernetes + Integration + url: + type: string + minLength: 1 + description: Can be in the format of 'unix://' when connecting to + a local docker daemon, or 'https://:2376' when connecting to + a remote system. + tls_verification: + type: string + format: uuid + nullable: true + description: CA which the endpoint's Certificate is verified against. Can + be left empty for no validation. + tls_authentication: + type: string + format: uuid + nullable: true + description: Certificate/Key used for authentication. Can be left empty + for no authentication. + PatchedDomainRequest: + type: object + description: Domain Serializer + properties: + domain: + type: string + minLength: 1 + maxLength: 253 + is_primary: + type: boolean + tenant: + type: string + format: uuid + PatchedDummyPolicyRequest: + type: object + description: Dummy Policy Serializer + properties: + name: + type: string + minLength: 1 + execution_logging: + type: boolean + description: When this option is enabled, all executions of this policy + will be logged. By default, only execution errors are logged. + result: + type: boolean + wait_min: + type: integer + maximum: 2147483647 + minimum: -2147483648 + wait_max: + type: integer + maximum: 2147483647 + minimum: -2147483648 + PatchedDummyStageRequest: + type: object + description: DummyStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + throw_error: + type: boolean + PatchedDuoDeviceRequest: + type: object + description: Serializer for Duo authenticator devices + properties: + name: + type: string + minLength: 1 + description: The human-readable name of this device. + maxLength: 64 + PatchedEmailStageRequest: + type: object + description: EmailStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + use_global_settings: + type: boolean + description: When enabled, global Email connection settings will be used + and connection settings below will be ignored. + host: + type: string + minLength: 1 + port: + type: integer + maximum: 2147483647 + minimum: -2147483648 + username: + type: string + password: + type: string + writeOnly: true + use_tls: + type: boolean + use_ssl: + type: boolean + timeout: + type: integer + maximum: 2147483647 + minimum: -2147483648 + from_address: + type: string + format: email + minLength: 1 + maxLength: 254 + token_expiry: + type: integer + maximum: 2147483647 + minimum: -2147483648 + description: Time in minutes the token sent is valid. + subject: + type: string + minLength: 1 + template: + type: string + minLength: 1 + activate_user_on_success: + type: boolean + description: Activate users upon completion of stage. + PatchedEndpointRequest: + type: object + description: Endpoint Serializer + properties: + name: + type: string + minLength: 1 + provider: + type: integer + protocol: + $ref: '#/components/schemas/ProtocolEnum' + host: + type: string + minLength: 1 + settings: {} + property_mappings: + type: array + items: + type: string + format: uuid + auth_mode: + $ref: '#/components/schemas/AuthModeEnum' + maximum_connections: + type: integer + maximum: 2147483647 + minimum: -2147483648 + PatchedEventMatcherPolicyRequest: + type: object + description: Event Matcher Policy Serializer + properties: + name: + type: string + minLength: 1 + execution_logging: + type: boolean + description: When this option is enabled, all executions of this policy + will be logged. By default, only execution errors are logged. + action: + allOf: + - $ref: '#/components/schemas/EventActions' + nullable: true + description: Match created events with this action type. When left empty, + all action types will be matched. + client_ip: + type: string + nullable: true + minLength: 1 + description: Matches Event's Client IP (strict matching, for network matching + use an Expression Policy) + app: + allOf: + - $ref: '#/components/schemas/AppEnum' + nullable: true + description: Match events created by selected application. When left empty, + all applications are matched. + model: + allOf: + - $ref: '#/components/schemas/ModelEnum' + nullable: true + description: Match events created by selected model. When left empty, all + models are matched. When an app is selected, all the application's models + are matched. + PatchedEventRequest: + type: object + description: Event Serializer + properties: + user: {} + action: + $ref: '#/components/schemas/EventActions' + app: + type: string + minLength: 1 + context: {} + client_ip: + type: string + nullable: true + minLength: 1 + expires: + type: string + format: date-time + brand: {} + PatchedExpressionPolicyRequest: + type: object + description: Group Membership Policy Serializer + properties: + name: + type: string + minLength: 1 + execution_logging: + type: boolean + description: When this option is enabled, all executions of this policy + will be logged. By default, only execution errors are logged. + expression: + type: string + minLength: 1 + PatchedExtraRoleObjectPermissionRequest: + type: object + description: User permission with additional object-related data + properties: + object_pk: + type: string + minLength: 1 + PatchedExtraUserObjectPermissionRequest: + type: object + description: User permission with additional object-related data + properties: + object_pk: + type: string + minLength: 1 + PatchedFlowRequest: + type: object + description: Flow Serializer + properties: + name: + type: string + minLength: 1 + slug: + type: string + minLength: 1 + description: Visible in the URL. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + title: + type: string + minLength: 1 + description: Shown as the Title in Flow pages. + designation: + allOf: + - $ref: '#/components/schemas/FlowDesignationEnum' + description: Decides what this Flow is used for. For example, the Authentication + flow is redirect to when an un-authenticated user visits authentik. + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + compatibility_mode: + type: boolean + description: Enable compatibility mode, increases compatibility with password + managers on mobile devices. + layout: + $ref: '#/components/schemas/FlowLayoutEnum' + denied_action: + allOf: + - $ref: '#/components/schemas/DeniedActionEnum' + description: Configure what should happen when a flow denies access to a + user. + authentication: + allOf: + - $ref: '#/components/schemas/AuthenticationEnum' + description: Required level of authentication and authorization to access + a flow. + PatchedFlowStageBindingRequest: + type: object + description: FlowStageBinding Serializer + properties: + target: + type: string + format: uuid + stage: + type: string + format: uuid + evaluate_on_plan: + type: boolean + description: Evaluate policies during the Flow planning process. + re_evaluate_policies: + type: boolean + description: Evaluate policies when the Stage is present to the user. + order: + type: integer + maximum: 2147483647 + minimum: -2147483648 + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + invalid_response_action: + allOf: + - $ref: '#/components/schemas/InvalidResponseActionEnum' + description: Configure how the flow executor should handle an invalid response + to a challenge. RETRY returns the error message and a similar challenge + to the executor. RESTART restarts the flow from the beginning, and RESTART_WITH_CONTEXT + restarts the flow while keeping the current context. + PatchedGeoIPPolicyRequest: + type: object + description: GeoIP Policy Serializer + properties: + name: + type: string + minLength: 1 + execution_logging: + type: boolean + description: When this option is enabled, all executions of this policy + will be logged. By default, only execution errors are logged. + asns: + type: array + items: + type: integer + maximum: 2147483647 + minimum: -2147483648 + countries: + type: array + items: + $ref: '#/components/schemas/CountryCodeEnum' + maxItems: 249 + PatchedGoogleWorkspaceProviderMappingRequest: + type: object + description: GoogleWorkspaceProviderMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + PatchedGoogleWorkspaceProviderRequest: + type: object + description: GoogleWorkspaceProvider Serializer + properties: + name: + type: string + minLength: 1 + property_mappings: + type: array + items: + type: string + format: uuid + property_mappings_group: + type: array + items: + type: string + format: uuid + description: Property mappings used for group creation/updating. + delegated_subject: + type: string + format: email + minLength: 1 + maxLength: 254 + credentials: {} + scopes: + type: string + minLength: 1 + exclude_users_service_account: + type: boolean + filter_group: + type: string + format: uuid + nullable: true + user_delete_action: + $ref: '#/components/schemas/OutgoingSyncDeleteAction' + group_delete_action: + $ref: '#/components/schemas/OutgoingSyncDeleteAction' + default_group_email_domain: + type: string + minLength: 1 + PatchedGroupRequest: + type: object + description: Group Serializer + properties: + name: + type: string + minLength: 1 + is_superuser: + type: boolean + description: Users added to this group will be superusers. + parent: + type: string + format: uuid + nullable: true + users: + type: array + items: + type: integer + attributes: + type: object + additionalProperties: {} + roles: + type: array + items: + type: string + format: uuid + PatchedIdentificationStageRequest: + type: object + description: IdentificationStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + user_fields: + type: array + items: + $ref: '#/components/schemas/UserFieldsEnum' + description: Fields of the user object to match against. (Hold shift to + select multiple options) + password_stage: + type: string + format: uuid + nullable: true + description: When set, shows a password field, instead of showing the password + field as separate step. + case_insensitive_matching: + type: boolean + description: When enabled, user fields are matched regardless of their casing. + show_matched_user: + type: boolean + description: When a valid username/email has been entered, and this option + is enabled, the user's username and avatar will be shown. Otherwise, the + text that the user entered will be shown + enrollment_flow: + type: string + format: uuid + nullable: true + description: Optional enrollment flow, which is linked at the bottom of + the page. + recovery_flow: + type: string + format: uuid + nullable: true + description: Optional recovery flow, which is linked at the bottom of the + page. + passwordless_flow: + type: string + format: uuid + nullable: true + description: Optional passwordless flow, which is linked at the bottom of + the page. + sources: + type: array + items: + type: string + format: uuid + description: Specify which sources should be shown. + show_source_labels: + type: boolean + pretend_user_exists: + type: boolean + description: When enabled, the stage will succeed and continue even when + incorrect user info is entered. + PatchedInvitationRequest: + type: object + description: Invitation Serializer + properties: + name: + type: string + minLength: 1 + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + expires: + type: string + format: date-time + nullable: true + fixed_data: + type: object + additionalProperties: {} + single_use: + type: boolean + description: When enabled, the invitation will be deleted after usage. + flow: + type: string + format: uuid + nullable: true + description: When set, only the configured flow can use this invitation. + PatchedInvitationStageRequest: + type: object + description: InvitationStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + continue_flow_without_invitation: + type: boolean + description: If this flag is set, this Stage will jump to the next Stage + when no Invitation is given. By default this Stage will cancel the Flow + when no invitation is given. + PatchedKubernetesServiceConnectionRequest: + type: object + description: KubernetesServiceConnection Serializer + properties: + name: + type: string + minLength: 1 + local: + type: boolean + description: If enabled, use the local connection. Required Docker socket/Kubernetes + Integration + kubeconfig: + description: Paste your kubeconfig here. authentik will automatically use + the currently selected context. + verify_ssl: + type: boolean + description: Verify SSL Certificates of the Kubernetes API endpoint + PatchedLDAPProviderRequest: + type: object + description: LDAPProvider Serializer + properties: + name: + type: string + minLength: 1 + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow used for authentication when the associated application + is accessed by an un-authenticated user. + authorization_flow: + type: string + format: uuid + description: Flow used when authorizing this provider. + property_mappings: + type: array + items: + type: string + format: uuid + base_dn: + type: string + minLength: 1 + description: DN under which objects are accessible. + certificate: + type: string + format: uuid + nullable: true + tls_server_name: + type: string + uid_start_number: + type: integer + maximum: 2147483647 + minimum: -2147483648 + description: The start for uidNumbers, this number is added to the user.pk + to make sure that the numbers aren't too low for POSIX users. Default + is 2000 to ensure that we don't collide with local users uidNumber + gid_start_number: + type: integer + maximum: 2147483647 + minimum: -2147483648 + description: The start for gidNumbers, this number is added to a number + generated from the group.pk to make sure that the numbers aren't too low + for POSIX groups. Default is 4000 to ensure that we don't collide with + local groups or users primary groups gidNumber + search_mode: + $ref: '#/components/schemas/LDAPAPIAccessMode' + bind_mode: + $ref: '#/components/schemas/LDAPAPIAccessMode' + mfa_support: + type: boolean + description: When enabled, code-based multi-factor authentication can be + used by appending a semicolon and the TOTP code to the password. This + should only be enabled if all users that will bind to this provider have + a TOTP device configured, as otherwise a password may incorrectly be rejected + if it contains a semicolon. + PatchedLDAPSourcePropertyMappingRequest: + type: object + description: LDAP PropertyMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + PatchedLDAPSourceRequest: + type: object + description: LDAP Source Serializer + properties: + name: + type: string + minLength: 1 + description: Source's display Name. + slug: + type: string + minLength: 1 + description: Internal source name, used in URLs. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + enabled: + type: boolean + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow to use when authenticating existing users. + enrollment_flow: + type: string + format: uuid + nullable: true + description: Flow to use when enrolling new users. + user_property_mappings: + type: array + items: + type: string + format: uuid + group_property_mappings: + type: array + items: + type: string + format: uuid + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + user_matching_mode: + allOf: + - $ref: '#/components/schemas/UserMatchingModeEnum' + description: How the source determines if an existing user should be authenticated + or a new user enrolled. + user_path_template: + type: string + minLength: 1 + server_uri: + type: string + minLength: 1 + format: uri + peer_certificate: + type: string + format: uuid + nullable: true + description: Optionally verify the LDAP Server's Certificate against the + CA Chain in this keypair. + client_certificate: + type: string + format: uuid + nullable: true + description: Client certificate to authenticate against the LDAP Server's + Certificate. + bind_cn: + type: string + bind_password: + type: string + writeOnly: true + start_tls: + type: boolean + title: Enable Start TLS + sni: + type: boolean + title: Use Server URI for SNI verification + base_dn: + type: string + minLength: 1 + additional_user_dn: + type: string + title: Addition User DN + description: Prepended to Base DN for User-queries. + additional_group_dn: + type: string + title: Addition Group DN + description: Prepended to Base DN for Group-queries. + user_object_filter: + type: string + minLength: 1 + description: Consider Objects matching this filter to be Users. + group_object_filter: + type: string + minLength: 1 + description: Consider Objects matching this filter to be Groups. + group_membership_field: + type: string + minLength: 1 + description: Field which contains members of a group. + object_uniqueness_field: + type: string + minLength: 1 + description: Field which contains a unique Identifier. + password_login_update_internal_password: + type: boolean + description: Update internal authentik password when login succeeds with + LDAP + sync_users: + type: boolean + sync_users_password: + type: boolean + description: When a user changes their password, sync it back to LDAP. This + can only be enabled on a single LDAP source. + sync_groups: + type: boolean + sync_parent_group: + type: string + format: uuid + nullable: true + PatchedLicenseRequest: + type: object + description: License Serializer + properties: + key: + type: string + minLength: 1 + PatchedMicrosoftEntraProviderMappingRequest: + type: object + description: MicrosoftEntraProviderMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + PatchedMicrosoftEntraProviderRequest: + type: object + description: MicrosoftEntraProvider Serializer + properties: + name: + type: string + minLength: 1 + property_mappings: + type: array + items: + type: string + format: uuid + property_mappings_group: + type: array + items: + type: string + format: uuid + description: Property mappings used for group creation/updating. + client_id: + type: string + minLength: 1 + client_secret: + type: string + minLength: 1 + tenant_id: + type: string + minLength: 1 + exclude_users_service_account: + type: boolean + filter_group: + type: string + format: uuid + nullable: true + user_delete_action: + $ref: '#/components/schemas/OutgoingSyncDeleteAction' + group_delete_action: + $ref: '#/components/schemas/OutgoingSyncDeleteAction' + PatchedNotificationRequest: + type: object + description: Notification Serializer + properties: + event: + $ref: '#/components/schemas/EventRequest' + seen: + type: boolean + PatchedNotificationRuleRequest: + type: object + description: NotificationRule Serializer + properties: + name: + type: string + minLength: 1 + transports: + type: array + items: + type: string + format: uuid + description: Select which transports should be used to notify the user. + If none are selected, the notification will only be shown in the authentik + UI. + severity: + allOf: + - $ref: '#/components/schemas/SeverityEnum' + description: Controls which severity level the created notifications will + have. + group: + type: string + format: uuid + nullable: true + description: Define which group of users this notification should be sent + and shown to. If left empty, Notification won't ben sent. + PatchedNotificationTransportRequest: + type: object + description: NotificationTransport Serializer + properties: + name: + type: string + minLength: 1 + mode: + $ref: '#/components/schemas/NotificationTransportModeEnum' + webhook_url: + type: string + format: uri + webhook_mapping: + type: string + format: uuid + nullable: true + send_once: + type: boolean + description: Only send notification once, for example when sending a webhook + into a chat channel. + PatchedNotificationWebhookMappingRequest: + type: object + description: NotificationWebhookMapping Serializer + properties: + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + PatchedOAuth2ProviderRequest: + type: object + description: OAuth2Provider Serializer + properties: + name: + type: string + minLength: 1 + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow used for authentication when the associated application + is accessed by an un-authenticated user. + authorization_flow: + type: string + format: uuid + description: Flow used when authorizing this provider. + property_mappings: + type: array + items: + type: string + format: uuid + client_type: + allOf: + - $ref: '#/components/schemas/ClientTypeEnum' + description: Confidential clients are capable of maintaining the confidentiality + of their credentials. Public clients are incapable + client_id: + type: string + minLength: 1 + maxLength: 255 + client_secret: + type: string + maxLength: 255 + access_code_validity: + type: string + minLength: 1 + description: 'Access codes not valid on or after current time + this value + (Format: hours=1;minutes=2;seconds=3).' + access_token_validity: + type: string + minLength: 1 + description: 'Tokens not valid on or after current time + this value (Format: + hours=1;minutes=2;seconds=3).' + refresh_token_validity: + type: string + minLength: 1 + description: 'Tokens not valid on or after current time + this value (Format: + hours=1;minutes=2;seconds=3).' + include_claims_in_id_token: + type: boolean + description: Include User claims from scopes in the id_token, for applications + that don't access the userinfo endpoint. + signing_key: + type: string + format: uuid + nullable: true + description: Key used to sign the tokens. Only required when JWT Algorithm + is set to RS256. + redirect_uris: + type: string + description: Enter each URI on a new line. + sub_mode: + allOf: + - $ref: '#/components/schemas/SubModeEnum' + description: Configure what data should be used as unique User Identifier. + For most cases, the default should be fine. + issuer_mode: + allOf: + - $ref: '#/components/schemas/IssuerModeEnum' + description: Configure how the issuer field of the ID Token should be filled. + jwks_sources: + type: array + items: + type: string + format: uuid + title: Any JWT signed by the JWK of the selected source can be used to + authenticate. + title: Any JWT signed by the JWK of the selected source can be used to authenticate. + PatchedOAuthSourcePropertyMappingRequest: + type: object + description: OAuthSourcePropertyMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + PatchedOAuthSourceRequest: + type: object + description: OAuth Source Serializer + properties: + name: + type: string + minLength: 1 + description: Source's display Name. + slug: + type: string + minLength: 1 + description: Internal source name, used in URLs. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + enabled: + type: boolean + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow to use when authenticating existing users. + enrollment_flow: + type: string + format: uuid + nullable: true + description: Flow to use when enrolling new users. + user_property_mappings: + type: array + items: + type: string + format: uuid + group_property_mappings: + type: array + items: + type: string + format: uuid + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + user_matching_mode: + allOf: + - $ref: '#/components/schemas/UserMatchingModeEnum' + description: How the source determines if an existing user should be authenticated + or a new user enrolled. + user_path_template: + type: string + minLength: 1 + group_matching_mode: + allOf: + - $ref: '#/components/schemas/GroupMatchingModeEnum' + description: How the source determines if an existing group should be used + or a new group created. + provider_type: + $ref: '#/components/schemas/ProviderTypeEnum' + request_token_url: + type: string + nullable: true + description: URL used to request the initial token. This URL is only required + for OAuth 1. + maxLength: 255 + authorization_url: + type: string + nullable: true + description: URL the user is redirect to to conest the flow. + maxLength: 255 + access_token_url: + type: string + nullable: true + description: URL used by authentik to retrieve tokens. + maxLength: 255 + profile_url: + type: string + nullable: true + description: URL used by authentik to get user information. + maxLength: 255 + consumer_key: + type: string + minLength: 1 + consumer_secret: + type: string + writeOnly: true + minLength: 1 + additional_scopes: + type: string + oidc_well_known_url: + type: string + oidc_jwks_url: + type: string + oidc_jwks: {} + PatchedOutpostRequest: + type: object + description: Outpost Serializer + properties: + name: + type: string + minLength: 1 + type: + $ref: '#/components/schemas/OutpostTypeEnum' + providers: + type: array + items: + type: integer + service_connection: + type: string + format: uuid + nullable: true + description: Select Service-Connection authentik should use to manage this + outpost. Leave empty if authentik should not handle the deployment. + config: + type: object + additionalProperties: {} + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + PatchedPasswordExpiryPolicyRequest: + type: object + description: Password Expiry Policy Serializer + properties: + name: + type: string + minLength: 1 + execution_logging: + type: boolean + description: When this option is enabled, all executions of this policy + will be logged. By default, only execution errors are logged. + days: + type: integer + maximum: 2147483647 + minimum: -2147483648 + deny_only: + type: boolean + PatchedPasswordPolicyRequest: + type: object + description: Password Policy Serializer + properties: + name: + type: string + minLength: 1 + execution_logging: + type: boolean + description: When this option is enabled, all executions of this policy + will be logged. By default, only execution errors are logged. + password_field: + type: string + minLength: 1 + description: Field key to check, field keys defined in Prompt stages are + available. + amount_digits: + type: integer + maximum: 2147483647 + minimum: 0 + amount_uppercase: + type: integer + maximum: 2147483647 + minimum: 0 + amount_lowercase: + type: integer + maximum: 2147483647 + minimum: 0 + amount_symbols: + type: integer + maximum: 2147483647 + minimum: 0 + length_min: + type: integer + maximum: 2147483647 + minimum: 0 + symbol_charset: + type: string + minLength: 1 + error_message: + type: string + check_static_rules: + type: boolean + check_have_i_been_pwned: + type: boolean + check_zxcvbn: + type: boolean + hibp_allowed_count: + type: integer + maximum: 2147483647 + minimum: 0 + description: How many times the password hash is allowed to be on haveibeenpwned + zxcvbn_score_threshold: + type: integer + maximum: 2147483647 + minimum: 0 + description: If the zxcvbn score is equal or less than this value, the policy + will fail. + PatchedPasswordStageRequest: + type: object + description: PasswordStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + backends: + type: array + items: + $ref: '#/components/schemas/BackendsEnum' + description: Selection of backends to test the password against. + configure_flow: + type: string + format: uuid + nullable: true + description: Flow used by an authenticated user to configure this Stage. + If empty, user will not be able to configure this stage. + failed_attempts_before_cancel: + type: integer + maximum: 2147483647 + minimum: -2147483648 + description: How many attempts a user has before the flow is canceled. To + lock the user out, use a reputation policy and a user_write stage. + allow_show_password: + type: boolean + description: When enabled, provides a 'show password' button with the password + input field. + PatchedPermissionAssignRequest: + type: object + description: Request to assign a new permission + properties: + permissions: + type: array + items: + type: string + minLength: 1 + model: + $ref: '#/components/schemas/ModelEnum' + object_pk: + type: string + minLength: 1 + PatchedPlexSourcePropertyMappingRequest: + type: object + description: PlexSourcePropertyMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + PatchedPlexSourceRequest: + type: object + description: Plex Source Serializer + properties: + name: + type: string + minLength: 1 + description: Source's display Name. + slug: + type: string + minLength: 1 + description: Internal source name, used in URLs. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + enabled: + type: boolean + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow to use when authenticating existing users. + enrollment_flow: + type: string + format: uuid + nullable: true + description: Flow to use when enrolling new users. + user_property_mappings: + type: array + items: + type: string + format: uuid + group_property_mappings: + type: array + items: + type: string + format: uuid + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + user_matching_mode: + allOf: + - $ref: '#/components/schemas/UserMatchingModeEnum' + description: How the source determines if an existing user should be authenticated + or a new user enrolled. + user_path_template: + type: string + minLength: 1 + group_matching_mode: + allOf: + - $ref: '#/components/schemas/GroupMatchingModeEnum' + description: How the source determines if an existing group should be used + or a new group created. + client_id: + type: string + minLength: 1 + description: Client identifier used to talk to Plex. + allowed_servers: + type: array + items: + type: string + minLength: 1 + description: Which servers a user has to be a member of to be granted access. + Empty list allows every server. + allow_friends: + type: boolean + description: Allow friends to authenticate, even if you don't share a server. + plex_token: + type: string + minLength: 1 + description: Plex token used to check friends + PatchedPolicyBindingRequest: + type: object + description: PolicyBinding Serializer + properties: + policy: + type: string + format: uuid + nullable: true + group: + type: string + format: uuid + nullable: true + user: + type: integer + nullable: true + target: + type: string + format: uuid + negate: + type: boolean + description: Negates the outcome of the policy. Messages are unaffected. + enabled: + type: boolean + order: + type: integer + maximum: 2147483647 + minimum: -2147483648 + timeout: + type: integer + maximum: 2147483647 + minimum: 0 + description: Timeout after which Policy execution is terminated. + failure_result: + type: boolean + description: Result if the Policy execution fails. + PatchedPromptRequest: + type: object + description: Prompt Serializer + properties: + name: + type: string + minLength: 1 + field_key: + type: string + minLength: 1 + description: Name of the form field, also used to store the value + label: + type: string + minLength: 1 + type: + $ref: '#/components/schemas/PromptTypeEnum' + required: + type: boolean + placeholder: + type: string + description: Optionally provide a short hint that describes the expected + input value. When creating a fixed choice field, enable interpreting as + expression and return a list to return multiple choices. + initial_value: + type: string + description: Optionally pre-fill the input with an initial value. When creating + a fixed choice field, enable interpreting as expression and return a list + to return multiple default choices. + order: + type: integer + maximum: 2147483647 + minimum: -2147483648 + promptstage_set: + type: array + items: + $ref: '#/components/schemas/StageRequest' + sub_text: + type: string + placeholder_expression: + type: boolean + initial_value_expression: + type: boolean + PatchedPromptStageRequest: + type: object + description: PromptStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + fields: + type: array + items: + type: string + format: uuid + validation_policies: + type: array + items: + type: string + format: uuid + PatchedProxyProviderRequest: + type: object + description: ProxyProvider Serializer + properties: + name: + type: string + minLength: 1 + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow used for authentication when the associated application + is accessed by an un-authenticated user. + authorization_flow: + type: string + format: uuid + description: Flow used when authorizing this provider. + property_mappings: + type: array + items: + type: string + format: uuid + internal_host: + type: string + format: uri + external_host: + type: string + minLength: 1 + format: uri + internal_host_ssl_validation: + type: boolean + description: Validate SSL Certificates of upstream servers + certificate: + type: string + format: uuid + nullable: true + skip_path_regex: + type: string + description: Regular expressions for which authentication is not required. + Each new line is interpreted as a new Regular Expression. + basic_auth_enabled: + type: boolean + title: Set HTTP-Basic Authentication + description: Set a custom HTTP-Basic Authentication header based on values + from authentik. + basic_auth_password_attribute: + type: string + title: HTTP-Basic Password Key + description: User/Group Attribute used for the password part of the HTTP-Basic + Header. + basic_auth_user_attribute: + type: string + title: HTTP-Basic Username Key + description: User/Group Attribute used for the user part of the HTTP-Basic + Header. If not set, the user's Email address is used. + mode: + allOf: + - $ref: '#/components/schemas/ProxyMode' + description: Enable support for forwardAuth in traefik and nginx auth_request. + Exclusive with internal_host. + intercept_header_auth: + type: boolean + description: When enabled, this provider will intercept the authorization + header and authenticate requests based on its value. + cookie_domain: + type: string + jwks_sources: + type: array + items: + type: string + format: uuid + title: Any JWT signed by the JWK of the selected source can be used to + authenticate. + title: Any JWT signed by the JWK of the selected source can be used to authenticate. + access_token_validity: + type: string + minLength: 1 + description: 'Tokens not valid on or after current time + this value (Format: + hours=1;minutes=2;seconds=3).' + refresh_token_validity: + type: string + minLength: 1 + description: 'Tokens not valid on or after current time + this value (Format: + hours=1;minutes=2;seconds=3).' + PatchedRACPropertyMappingRequest: + type: object + description: RACPropertyMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + static_settings: + type: object + additionalProperties: {} + PatchedRACProviderRequest: + type: object + description: RACProvider Serializer + properties: + name: + type: string + minLength: 1 + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow used for authentication when the associated application + is accessed by an un-authenticated user. + authorization_flow: + type: string + format: uuid + description: Flow used when authorizing this provider. + property_mappings: + type: array + items: + type: string + format: uuid + settings: {} + connection_expiry: + type: string + minLength: 1 + description: 'Determines how long a session lasts. Default of 0 means that + the sessions lasts until the browser is closed. (Format: hours=-1;minutes=-2;seconds=-3)' + delete_token_on_disconnect: + type: boolean + description: When set to true, connection tokens will be deleted upon disconnect. + PatchedRadiusProviderPropertyMappingRequest: + type: object + description: RadiusProviderPropertyMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + PatchedRadiusProviderRequest: + type: object + description: RadiusProvider Serializer + properties: + name: + type: string + minLength: 1 + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow used for authentication when the associated application + is accessed by an un-authenticated user. + authorization_flow: + type: string + format: uuid + description: Flow used when authorizing this provider. + property_mappings: + type: array + items: + type: string + format: uuid + client_networks: + type: string + minLength: 1 + description: List of CIDRs (comma-separated) that clients can connect from. + A more specific CIDR will match before a looser one. Clients connecting + from a non-specified CIDR will be dropped. + shared_secret: + type: string + minLength: 1 + description: Shared secret between clients and server to hash packets. + mfa_support: + type: boolean + description: When enabled, code-based multi-factor authentication can be + used by appending a semicolon and the TOTP code to the password. This + should only be enabled if all users that will bind to this provider have + a TOTP device configured, as otherwise a password may incorrectly be rejected + if it contains a semicolon. + PatchedReputationPolicyRequest: + type: object + description: Reputation Policy Serializer + properties: + name: + type: string + minLength: 1 + execution_logging: + type: boolean + description: When this option is enabled, all executions of this policy + will be logged. By default, only execution errors are logged. + check_ip: + type: boolean + check_username: + type: boolean + threshold: + type: integer + maximum: 2147483647 + minimum: -2147483648 + PatchedRoleRequest: + type: object + description: Role serializer + properties: + name: + type: string + minLength: 1 + maxLength: 150 + PatchedSAMLPropertyMappingRequest: + type: object + description: SAMLPropertyMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + saml_name: + type: string + minLength: 1 + friendly_name: + type: string + nullable: true + PatchedSAMLProviderRequest: + type: object + description: SAMLProvider Serializer + properties: + name: + type: string + minLength: 1 + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow used for authentication when the associated application + is accessed by an un-authenticated user. + authorization_flow: + type: string + format: uuid + description: Flow used when authorizing this provider. + property_mappings: + type: array + items: + type: string + format: uuid + acs_url: + type: string + format: uri + minLength: 1 + maxLength: 200 + audience: + type: string + description: Value of the audience restriction field of the assertion. When + left empty, no audience restriction will be added. + issuer: + type: string + minLength: 1 + description: Also known as EntityID + assertion_valid_not_before: + type: string + minLength: 1 + description: 'Assertion valid not before current time + this value (Format: + hours=-1;minutes=-2;seconds=-3).' + assertion_valid_not_on_or_after: + type: string + minLength: 1 + description: 'Assertion not valid on or after current time + this value + (Format: hours=1;minutes=2;seconds=3).' + session_valid_not_on_or_after: + type: string + minLength: 1 + description: 'Session not valid on or after current time + this value (Format: + hours=1;minutes=2;seconds=3).' + name_id_mapping: + type: string + format: uuid + nullable: true + title: NameID Property Mapping + description: Configure how the NameID value will be created. When left empty, + the NameIDPolicy of the incoming request will be considered + digest_algorithm: + $ref: '#/components/schemas/DigestAlgorithmEnum' + signature_algorithm: + $ref: '#/components/schemas/SignatureAlgorithmEnum' + signing_kp: + type: string + format: uuid + nullable: true + title: Signing Keypair + description: Keypair used to sign outgoing Responses going to the Service + Provider. + verification_kp: + type: string + format: uuid + nullable: true + title: Verification Certificate + description: When selected, incoming assertion's Signatures will be validated + against this certificate. To allow unsigned Requests, leave on default. + encryption_kp: + type: string + format: uuid + nullable: true + title: Encryption Keypair + description: When selected, incoming assertions are encrypted by the IdP + using the public key of the encryption keypair. The assertion is decrypted + by the SP using the the private key. + sign_assertion: + type: boolean + sign_response: + type: boolean + sp_binding: + allOf: + - $ref: '#/components/schemas/SpBindingEnum' + title: Service Provider Binding + description: This determines how authentik sends the response back to the + Service Provider. + default_relay_state: + type: string + description: Default relay_state value for IDP-initiated logins + PatchedSAMLSourcePropertyMappingRequest: + type: object + description: SAMLSourcePropertyMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + PatchedSAMLSourceRequest: + type: object + description: SAMLSource Serializer + properties: + name: + type: string + minLength: 1 + description: Source's display Name. + slug: + type: string + minLength: 1 + description: Internal source name, used in URLs. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + enabled: + type: boolean + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow to use when authenticating existing users. + enrollment_flow: + type: string + format: uuid + nullable: true + description: Flow to use when enrolling new users. + user_property_mappings: + type: array + items: + type: string + format: uuid + group_property_mappings: + type: array + items: + type: string + format: uuid + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + user_matching_mode: + allOf: + - $ref: '#/components/schemas/UserMatchingModeEnum' + description: How the source determines if an existing user should be authenticated + or a new user enrolled. + user_path_template: + type: string + minLength: 1 + group_matching_mode: + allOf: + - $ref: '#/components/schemas/GroupMatchingModeEnum' + description: How the source determines if an existing group should be used + or a new group created. + pre_authentication_flow: + type: string + format: uuid + description: Flow used before authentication. + issuer: + type: string + description: Also known as Entity ID. Defaults the Metadata URL. + sso_url: + type: string + format: uri + minLength: 1 + description: URL that the initial Login request is sent to. + maxLength: 200 + slo_url: + type: string + format: uri + nullable: true + description: Optional URL if your IDP supports Single-Logout. + maxLength: 200 + allow_idp_initiated: + type: boolean + description: Allows authentication flows initiated by the IdP. This can + be a security risk, as no validation of the request ID is done. + name_id_policy: + allOf: + - $ref: '#/components/schemas/NameIdPolicyEnum' + description: NameID Policy sent to the IdP. Can be unset, in which case + no Policy is sent. + binding_type: + $ref: '#/components/schemas/BindingTypeEnum' + verification_kp: + type: string + format: uuid + nullable: true + title: Verification Certificate + description: When selected, incoming assertion's Signatures will be validated + against this certificate. To allow unsigned Requests, leave on default. + signing_kp: + type: string + format: uuid + nullable: true + title: Signing Keypair + description: Keypair used to sign outgoing Responses going to the Identity + Provider. + digest_algorithm: + $ref: '#/components/schemas/DigestAlgorithmEnum' + signature_algorithm: + $ref: '#/components/schemas/SignatureAlgorithmEnum' + temporary_user_delete_after: + type: string + minLength: 1 + title: Delete temporary users after + description: 'Time offset when temporary users should be deleted. This only + applies if your IDP uses the NameID Format ''transient'', and the user + doesn''t log out manually. (Format: hours=1;minutes=2;seconds=3).' + encryption_kp: + type: string + format: uuid + nullable: true + title: Encryption Keypair + description: When selected, incoming assertions are encrypted by the IdP + using the public key of the encryption keypair. The assertion is decrypted + by the SP using the the private key. + PatchedSCIMMappingRequest: + type: object + description: SCIMMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + PatchedSCIMProviderRequest: + type: object + description: SCIMProvider Serializer + properties: + name: + type: string + minLength: 1 + property_mappings: + type: array + items: + type: string + format: uuid + property_mappings_group: + type: array + items: + type: string + format: uuid + description: Property mappings used for group creation/updating. + url: + type: string + minLength: 1 + description: Base URL to SCIM requests, usually ends in /v2 + token: + type: string + minLength: 1 + description: Authentication token + exclude_users_service_account: + type: boolean + filter_group: + type: string + format: uuid + nullable: true + PatchedSCIMSourceGroupRequest: + type: object + description: SCIMSourceGroup Serializer + properties: + id: + type: string + minLength: 1 + group: + type: string + format: uuid + source: + type: string + format: uuid + attributes: {} + PatchedSCIMSourcePropertyMappingRequest: + type: object + description: SCIMSourcePropertyMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + PatchedSCIMSourceRequest: + type: object + description: SCIMSource Serializer + properties: + name: + type: string + minLength: 1 + description: Source's display Name. + slug: + type: string + minLength: 1 + description: Internal source name, used in URLs. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + enabled: + type: boolean + user_property_mappings: + type: array + items: + type: string + format: uuid + group_property_mappings: + type: array + items: + type: string + format: uuid + user_path_template: + type: string + minLength: 1 + PatchedSCIMSourceUserRequest: + type: object + description: SCIMSourceUser Serializer + properties: + id: + type: string + minLength: 1 + user: + type: integer + source: + type: string + format: uuid + attributes: {} + PatchedSMSDeviceRequest: + type: object + description: Serializer for sms authenticator devices + properties: + name: + type: string + minLength: 1 + description: The human-readable name of this device. + maxLength: 64 + PatchedScopeMappingRequest: + type: object + description: ScopeMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + scope_name: + type: string + minLength: 1 + description: Scope name requested by the client + description: + type: string + description: Description shown to the user when consenting. If left empty, + the user won't be informed. + PatchedSettingsRequest: + type: object + description: Settings Serializer + properties: + avatars: + type: string + minLength: 1 + description: Configure how authentik should show avatars for users. + default_user_change_name: + type: boolean + description: Enable the ability for users to change their name. + default_user_change_email: + type: boolean + description: Enable the ability for users to change their email address. + default_user_change_username: + type: boolean + description: Enable the ability for users to change their username. + event_retention: + type: string + minLength: 1 + description: 'Events will be deleted after this duration.(Format: weeks=3;days=2;hours=3,seconds=2).' + footer_links: + description: The option configures the footer links on the flow executor + pages. + gdpr_compliance: + type: boolean + description: When enabled, all the events caused by a user will be deleted + upon the user's deletion. + impersonation: + type: boolean + description: Globally enable/disable impersonation. + default_token_duration: + type: string + minLength: 1 + description: Default token duration + default_token_length: + type: integer + maximum: 2147483647 + minimum: 1 + description: Default token length + PatchedSourceStageRequest: + type: object + description: SourceStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + source: + type: string + format: uuid + resume_timeout: + type: string + minLength: 1 + description: 'Amount of time a user can take to return from the source to + continue the flow (Format: hours=-1;minutes=-2;seconds=-3)' + PatchedStaticDeviceRequest: + type: object + description: Serializer for static authenticator devices + properties: + name: + type: string + minLength: 1 + description: The human-readable name of this device. + maxLength: 64 + PatchedTOTPDeviceRequest: + type: object + description: Serializer for totp authenticator devices + properties: + name: + type: string + minLength: 1 + description: The human-readable name of this device. + maxLength: 64 + PatchedTenantRequest: + type: object + description: Tenant Serializer + properties: + schema_name: + type: string + minLength: 1 + maxLength: 63 + name: + type: string + minLength: 1 + ready: + type: boolean + PatchedTokenRequest: + type: object + description: Token Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + identifier: + type: string + minLength: 1 + maxLength: 255 + pattern: ^[-a-zA-Z0-9_]+$ + intent: + $ref: '#/components/schemas/IntentEnum' + user: + type: integer + description: + type: string + expires: + type: string + format: date-time + nullable: true + expiring: + type: boolean + PatchedUserDeleteStageRequest: + type: object + description: UserDeleteStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + PatchedUserLoginStageRequest: + type: object + description: UserLoginStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + session_duration: + type: string + minLength: 1 + description: 'Determines how long a session lasts. Default of 0 means that + the sessions lasts until the browser is closed. (Format: hours=-1;minutes=-2;seconds=-3)' + terminate_other_sessions: + type: boolean + description: Terminate all other sessions of the user logging in. + remember_me_offset: + type: string + minLength: 1 + description: 'Offset the session will be extended by when the user picks + the remember me option. Default of 0 means that the remember me option + will not be shown. (Format: hours=-1;minutes=-2;seconds=-3)' + network_binding: + allOf: + - $ref: '#/components/schemas/NetworkBindingEnum' + description: Bind sessions created by this stage to the configured network + geoip_binding: + allOf: + - $ref: '#/components/schemas/GeoipBindingEnum' + description: Bind sessions created by this stage to the configured GeoIP + location + PatchedUserLogoutStageRequest: + type: object + description: UserLogoutStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + PatchedUserOAuthSourceConnectionRequest: + type: object + description: OAuth Source Serializer + properties: + identifier: + type: string + minLength: 1 + maxLength: 255 + access_token: + type: string + writeOnly: true + nullable: true + PatchedUserPlexSourceConnectionRequest: + type: object + description: Plex Source connection Serializer + properties: + identifier: + type: string + minLength: 1 + plex_token: + type: string + writeOnly: true + minLength: 1 + PatchedUserRequest: + type: object + description: User Serializer + properties: + username: + type: string + minLength: 1 + maxLength: 150 + name: + type: string + description: User's display name. + is_active: + type: boolean + title: Active + description: Designates whether this user should be treated as active. Unselect + this instead of deleting accounts. + last_login: + type: string + format: date-time + nullable: true + groups: + type: array + items: + type: string + format: uuid + email: + type: string + format: email + title: Email address + maxLength: 254 + attributes: + type: object + additionalProperties: {} + path: + type: string + minLength: 1 + type: + $ref: '#/components/schemas/UserTypeEnum' + PatchedUserSAMLSourceConnectionRequest: + type: object + description: SAML Source Serializer + properties: + identifier: + type: string + minLength: 1 + PatchedUserWriteStageRequest: + type: object + description: UserWriteStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + user_creation_mode: + $ref: '#/components/schemas/UserCreationModeEnum' + create_users_as_inactive: + type: boolean + description: When set, newly created users are inactive and cannot login. + create_users_group: + type: string + format: uuid + nullable: true + description: Optionally add newly created users to this group. + user_type: + $ref: '#/components/schemas/UserTypeEnum' + user_path_template: + type: string + PatchedWebAuthnDeviceRequest: + type: object + description: Serializer for WebAuthn authenticator devices + properties: + name: + type: string + minLength: 1 + maxLength: 200 + Permission: + type: object + description: Global permission + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 255 + codename: + type: string + maxLength: 100 + model: + type: string + title: Python model class name + readOnly: true + app_label: + type: string + readOnly: true + app_label_verbose: + type: string + description: Human-readable app label + readOnly: true + model_verbose: + type: string + description: Human-readable model name + readOnly: true + required: + - app_label + - app_label_verbose + - codename + - id + - model + - model_verbose + - name + PermissionAssignRequest: + type: object + description: Request to assign a new permission + properties: + permissions: + type: array + items: + type: string + minLength: 1 + model: + $ref: '#/components/schemas/ModelEnum' + object_pk: + type: string + minLength: 1 + required: + - permissions + PermissionAssignResult: + type: object + description: Result from assigning permissions to a user/role + properties: + id: + type: string + required: + - id + PlexAuthenticationChallenge: + type: object + description: Challenge shown to the user in identification stage + properties: + flow_info: + $ref: '#/components/schemas/ContextualFlowInfo' + component: + type: string + default: ak-source-plex + response_errors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + client_id: + type: string + slug: + type: string + required: + - client_id + - slug + PlexAuthenticationChallengeResponseRequest: + type: object + description: Pseudo class for plex response + properties: + component: + type: string + minLength: 1 + default: ak-source-plex + PlexSource: + type: object + description: Plex Source Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Pbm uuid + name: + type: string + description: Source's display Name. + slug: + type: string + description: Internal source name, used in URLs. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + enabled: + type: boolean + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow to use when authenticating existing users. + enrollment_flow: + type: string + format: uuid + nullable: true + description: Flow to use when enrolling new users. + user_property_mappings: + type: array + items: + type: string + format: uuid + group_property_mappings: + type: array + items: + type: string + format: uuid + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + user_matching_mode: + allOf: + - $ref: '#/components/schemas/UserMatchingModeEnum' + description: How the source determines if an existing user should be authenticated + or a new user enrolled. + managed: + type: string + nullable: true + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + readOnly: true + user_path_template: + type: string + icon: + type: string + readOnly: true + group_matching_mode: + allOf: + - $ref: '#/components/schemas/GroupMatchingModeEnum' + description: How the source determines if an existing group should be used + or a new group created. + client_id: + type: string + description: Client identifier used to talk to Plex. + allowed_servers: + type: array + items: + type: string + description: Which servers a user has to be a member of to be granted access. + Empty list allows every server. + allow_friends: + type: boolean + description: Allow friends to authenticate, even if you don't share a server. + plex_token: + type: string + description: Plex token used to check friends + required: + - component + - icon + - managed + - meta_model_name + - name + - pk + - plex_token + - slug + - verbose_name + - verbose_name_plural + PlexSourcePropertyMapping: + type: object + description: PlexSourcePropertyMapping Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Pm uuid + managed: + type: string + nullable: true + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + expression: + type: string + component: + type: string + description: Get object's component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + required: + - component + - expression + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + PlexSourcePropertyMappingRequest: + type: object + description: PlexSourcePropertyMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + required: + - expression + - name + PlexSourceRequest: + type: object + description: Plex Source Serializer + properties: + name: + type: string + minLength: 1 + description: Source's display Name. + slug: + type: string + minLength: 1 + description: Internal source name, used in URLs. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + enabled: + type: boolean + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow to use when authenticating existing users. + enrollment_flow: + type: string + format: uuid + nullable: true + description: Flow to use when enrolling new users. + user_property_mappings: + type: array + items: + type: string + format: uuid + group_property_mappings: + type: array + items: + type: string + format: uuid + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + user_matching_mode: + allOf: + - $ref: '#/components/schemas/UserMatchingModeEnum' + description: How the source determines if an existing user should be authenticated + or a new user enrolled. + user_path_template: + type: string + minLength: 1 + group_matching_mode: + allOf: + - $ref: '#/components/schemas/GroupMatchingModeEnum' + description: How the source determines if an existing group should be used + or a new group created. + client_id: + type: string + minLength: 1 + description: Client identifier used to talk to Plex. + allowed_servers: + type: array + items: + type: string + minLength: 1 + description: Which servers a user has to be a member of to be granted access. + Empty list allows every server. + allow_friends: + type: boolean + description: Allow friends to authenticate, even if you don't share a server. + plex_token: + type: string + minLength: 1 + description: Plex token used to check friends + required: + - name + - plex_token + - slug + PlexTokenRedeemRequest: + type: object + description: Serializer to redeem a plex token + properties: + plex_token: + type: string + minLength: 1 + required: + - plex_token + Policy: + type: object + description: Policy Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Policy uuid + name: + type: string + execution_logging: + type: boolean + description: When this option is enabled, all executions of this policy + will be logged. By default, only execution errors are logged. + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + bound_to: + type: integer + description: Return objects policy is bound to + readOnly: true + required: + - bound_to + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + PolicyBinding: + type: object + description: PolicyBinding Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Policy binding uuid + policy: + type: string + format: uuid + nullable: true + group: + type: string + format: uuid + nullable: true + user: + type: integer + nullable: true + policy_obj: + allOf: + - $ref: '#/components/schemas/Policy' + readOnly: true + group_obj: + allOf: + - $ref: '#/components/schemas/Group' + readOnly: true + user_obj: + allOf: + - $ref: '#/components/schemas/User' + readOnly: true + target: + type: string + format: uuid + negate: + type: boolean + description: Negates the outcome of the policy. Messages are unaffected. + enabled: + type: boolean + order: + type: integer + maximum: 2147483647 + minimum: -2147483648 + timeout: + type: integer + maximum: 2147483647 + minimum: 0 + description: Timeout after which Policy execution is terminated. + failure_result: + type: boolean + description: Result if the Policy execution fails. + required: + - group_obj + - order + - pk + - policy_obj + - target + - user_obj + PolicyBindingRequest: + type: object + description: PolicyBinding Serializer + properties: + policy: + type: string + format: uuid + nullable: true + group: + type: string + format: uuid + nullable: true + user: + type: integer + nullable: true + target: + type: string + format: uuid + negate: + type: boolean + description: Negates the outcome of the policy. Messages are unaffected. + enabled: + type: boolean + order: + type: integer + maximum: 2147483647 + minimum: -2147483648 + timeout: + type: integer + maximum: 2147483647 + minimum: 0 + description: Timeout after which Policy execution is terminated. + failure_result: + type: boolean + description: Result if the Policy execution fails. + required: + - order + - target + PolicyEngineMode: + enum: + - all + - any + type: string + PolicyRequest: + type: object + description: Policy Serializer + properties: + name: + type: string + minLength: 1 + execution_logging: + type: boolean + description: When this option is enabled, all executions of this policy + will be logged. By default, only execution errors are logged. + required: + - name + PolicyTestRequest: + type: object + description: Test policy execution for a user with context + properties: + user: + type: integer + context: + type: object + additionalProperties: {} + required: + - user + PolicyTestResult: + type: object + description: result of a policy test + properties: + passing: + type: boolean + messages: + type: array + items: + type: string + readOnly: true + log_messages: + type: array + items: + $ref: '#/components/schemas/LogEvent' + readOnly: true + required: + - log_messages + - messages + - passing + Prompt: + type: object + description: Prompt Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Prompt uuid + name: + type: string + field_key: + type: string + description: Name of the form field, also used to store the value + label: + type: string + type: + $ref: '#/components/schemas/PromptTypeEnum' + required: + type: boolean + placeholder: + type: string + description: Optionally provide a short hint that describes the expected + input value. When creating a fixed choice field, enable interpreting as + expression and return a list to return multiple choices. + initial_value: + type: string + description: Optionally pre-fill the input with an initial value. When creating + a fixed choice field, enable interpreting as expression and return a list + to return multiple default choices. + order: + type: integer + maximum: 2147483647 + minimum: -2147483648 + promptstage_set: + type: array + items: + $ref: '#/components/schemas/Stage' + sub_text: + type: string + placeholder_expression: + type: boolean + initial_value_expression: + type: boolean + required: + - field_key + - label + - name + - pk + - type + PromptChallenge: + type: object + description: Initial challenge being sent, define fields + properties: + flow_info: + $ref: '#/components/schemas/ContextualFlowInfo' + component: + type: string + default: ak-stage-prompt + response_errors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + fields: + type: array + items: + $ref: '#/components/schemas/StagePrompt' + required: + - fields + PromptChallengeResponseRequest: + type: object + description: |- + Validate response, fields are dynamically created based + on the stage + properties: + component: + type: string + minLength: 1 + default: ak-stage-prompt + additionalProperties: {} + PromptRequest: + type: object + description: Prompt Serializer + properties: + name: + type: string + minLength: 1 + field_key: + type: string + minLength: 1 + description: Name of the form field, also used to store the value + label: + type: string + minLength: 1 + type: + $ref: '#/components/schemas/PromptTypeEnum' + required: + type: boolean + placeholder: + type: string + description: Optionally provide a short hint that describes the expected + input value. When creating a fixed choice field, enable interpreting as + expression and return a list to return multiple choices. + initial_value: + type: string + description: Optionally pre-fill the input with an initial value. When creating + a fixed choice field, enable interpreting as expression and return a list + to return multiple default choices. + order: + type: integer + maximum: 2147483647 + minimum: -2147483648 + promptstage_set: + type: array + items: + $ref: '#/components/schemas/StageRequest' + sub_text: + type: string + placeholder_expression: + type: boolean + initial_value_expression: + type: boolean + required: + - field_key + - label + - name + - type + PromptStage: + type: object + description: PromptStage Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Stage uuid + name: + type: string + component: + type: string + description: Get object type so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSet' + fields: + type: array + items: + type: string + format: uuid + validation_policies: + type: array + items: + type: string + format: uuid + required: + - component + - fields + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + PromptStageRequest: + type: object + description: PromptStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + fields: + type: array + items: + type: string + format: uuid + validation_policies: + type: array + items: + type: string + format: uuid + required: + - fields + - name + PromptTypeEnum: + enum: + - text + - text_area + - text_read_only + - text_area_read_only + - username + - email + - password + - number + - checkbox + - radio-button-group + - dropdown + - date + - date-time + - file + - separator + - hidden + - static + - ak-locale + type: string + PropertyMapping: + type: object + description: PropertyMapping Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Pm uuid + managed: + type: string + nullable: true + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + expression: + type: string + component: + type: string + description: Get object's component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + required: + - component + - expression + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + PropertyMappingPreview: + type: object + description: Preview how the current user is mapped via the property mappings + selected in a provider + properties: + preview: + type: object + additionalProperties: {} + readOnly: true + required: + - preview + PropertyMappingTestRequest: + type: object + description: Test property mapping execution for a user/group with context + properties: + user: + type: integer + nullable: true + context: + type: object + additionalProperties: {} + group: + type: string + format: uuid + nullable: true + PropertyMappingTestResult: + type: object + description: Result of a Property-mapping test + properties: + result: + type: string + readOnly: true + successful: + type: boolean + readOnly: true + required: + - result + - successful + ProtocolEnum: + enum: + - rdp + - vnc + - ssh + type: string + Provider: + type: object + description: Provider Serializer + properties: + pk: + type: integer + readOnly: true + title: ID + name: + type: string + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow used for authentication when the associated application + is accessed by an un-authenticated user. + authorization_flow: + type: string + format: uuid + description: Flow used when authorizing this provider. + property_mappings: + type: array + items: + type: string + format: uuid + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + assigned_application_slug: + type: string + description: Internal application name, used in URLs. + readOnly: true + assigned_application_name: + type: string + description: Application's display Name. + readOnly: true + assigned_backchannel_application_slug: + type: string + description: Internal application name, used in URLs. + readOnly: true + assigned_backchannel_application_name: + type: string + description: Application's display Name. + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + required: + - assigned_application_name + - assigned_application_slug + - assigned_backchannel_application_name + - assigned_backchannel_application_slug + - authorization_flow + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + ProviderEnum: + enum: + - twilio + - generic + type: string + ProviderModelEnum: + enum: + - authentik_providers_google_workspace.googleworkspaceprovider + - authentik_providers_ldap.ldapprovider + - authentik_providers_microsoft_entra.microsoftentraprovider + - authentik_providers_oauth2.oauth2provider + - authentik_providers_proxy.proxyprovider + - authentik_providers_rac.racprovider + - authentik_providers_radius.radiusprovider + - authentik_providers_saml.samlprovider + - authentik_providers_scim.scimprovider + type: string + ProviderRequest: + type: object + description: Provider Serializer + properties: + name: + type: string + minLength: 1 + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow used for authentication when the associated application + is accessed by an un-authenticated user. + authorization_flow: + type: string + format: uuid + description: Flow used when authorizing this provider. + property_mappings: + type: array + items: + type: string + format: uuid + required: + - authorization_flow + - name + ProviderTypeEnum: + enum: + - apple + - openidconnect + - azuread + - discord + - facebook + - github + - gitlab + - google + - mailcow + - okta + - patreon + - reddit + - twitch + - twitter + type: string + ProxyMode: + enum: + - proxy + - forward_single + - forward_domain + type: string + ProxyOutpostConfig: + type: object + description: Proxy provider serializer for outposts + properties: + pk: + type: integer + readOnly: true + title: ID + name: + type: string + internal_host: + type: string + format: uri + external_host: + type: string + format: uri + internal_host_ssl_validation: + type: boolean + description: Validate SSL Certificates of upstream servers + client_id: + type: string + maxLength: 255 + client_secret: + type: string + maxLength: 255 + oidc_configuration: + allOf: + - $ref: '#/components/schemas/OpenIDConnectConfiguration' + readOnly: true + cookie_secret: + type: string + certificate: + type: string + format: uuid + nullable: true + skip_path_regex: + type: string + description: Regular expressions for which authentication is not required. + Each new line is interpreted as a new Regular Expression. + basic_auth_enabled: + type: boolean + title: Set HTTP-Basic Authentication + description: Set a custom HTTP-Basic Authentication header based on values + from authentik. + basic_auth_password_attribute: + type: string + title: HTTP-Basic Password Key + description: User/Group Attribute used for the password part of the HTTP-Basic + Header. + basic_auth_user_attribute: + type: string + title: HTTP-Basic Username Key + description: User/Group Attribute used for the user part of the HTTP-Basic + Header. If not set, the user's Email address is used. + mode: + allOf: + - $ref: '#/components/schemas/ProxyMode' + description: Enable support for forwardAuth in traefik and nginx auth_request. + Exclusive with internal_host. + cookie_domain: + type: string + access_token_validity: + type: number + format: double + nullable: true + description: Get token validity as second count + readOnly: true + intercept_header_auth: + type: boolean + description: When enabled, this provider will intercept the authorization + header and authenticate requests based on its value. + scopes_to_request: + type: array + items: + type: string + description: |- + Get all the scope names the outpost should request, + including custom-defined ones + readOnly: true + assigned_application_slug: + type: string + description: Internal application name, used in URLs. + readOnly: true + assigned_application_name: + type: string + description: Application's display Name. + readOnly: true + required: + - access_token_validity + - assigned_application_name + - assigned_application_slug + - external_host + - name + - oidc_configuration + - pk + - scopes_to_request + ProxyProvider: + type: object + description: ProxyProvider Serializer + properties: + pk: + type: integer + readOnly: true + title: ID + name: + type: string + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow used for authentication when the associated application + is accessed by an un-authenticated user. + authorization_flow: + type: string + format: uuid + description: Flow used when authorizing this provider. + property_mappings: + type: array + items: + type: string + format: uuid + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + assigned_application_slug: + type: string + description: Internal application name, used in URLs. + readOnly: true + assigned_application_name: + type: string + description: Application's display Name. + readOnly: true + assigned_backchannel_application_slug: + type: string + description: Internal application name, used in URLs. + readOnly: true + assigned_backchannel_application_name: + type: string + description: Application's display Name. + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + client_id: + type: string + readOnly: true + internal_host: + type: string + format: uri + external_host: + type: string + format: uri + internal_host_ssl_validation: + type: boolean + description: Validate SSL Certificates of upstream servers + certificate: + type: string + format: uuid + nullable: true + skip_path_regex: + type: string + description: Regular expressions for which authentication is not required. + Each new line is interpreted as a new Regular Expression. + basic_auth_enabled: + type: boolean + title: Set HTTP-Basic Authentication + description: Set a custom HTTP-Basic Authentication header based on values + from authentik. + basic_auth_password_attribute: + type: string + title: HTTP-Basic Password Key + description: User/Group Attribute used for the password part of the HTTP-Basic + Header. + basic_auth_user_attribute: + type: string + title: HTTP-Basic Username Key + description: User/Group Attribute used for the user part of the HTTP-Basic + Header. If not set, the user's Email address is used. + mode: + allOf: + - $ref: '#/components/schemas/ProxyMode' + description: Enable support for forwardAuth in traefik and nginx auth_request. + Exclusive with internal_host. + intercept_header_auth: + type: boolean + description: When enabled, this provider will intercept the authorization + header and authenticate requests based on its value. + redirect_uris: + type: string + readOnly: true + cookie_domain: + type: string + jwks_sources: + type: array + items: + type: string + format: uuid + title: Any JWT signed by the JWK of the selected source can be used to + authenticate. + title: Any JWT signed by the JWK of the selected source can be used to authenticate. + access_token_validity: + type: string + description: 'Tokens not valid on or after current time + this value (Format: + hours=1;minutes=2;seconds=3).' + refresh_token_validity: + type: string + description: 'Tokens not valid on or after current time + this value (Format: + hours=1;minutes=2;seconds=3).' + outpost_set: + type: array + items: + type: string + readOnly: true + required: + - assigned_application_name + - assigned_application_slug + - assigned_backchannel_application_name + - assigned_backchannel_application_slug + - authorization_flow + - client_id + - component + - external_host + - meta_model_name + - name + - outpost_set + - pk + - redirect_uris + - verbose_name + - verbose_name_plural + ProxyProviderRequest: + type: object + description: ProxyProvider Serializer + properties: + name: + type: string + minLength: 1 + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow used for authentication when the associated application + is accessed by an un-authenticated user. + authorization_flow: + type: string + format: uuid + description: Flow used when authorizing this provider. + property_mappings: + type: array + items: + type: string + format: uuid + internal_host: + type: string + format: uri + external_host: + type: string + minLength: 1 + format: uri + internal_host_ssl_validation: + type: boolean + description: Validate SSL Certificates of upstream servers + certificate: + type: string + format: uuid + nullable: true + skip_path_regex: + type: string + description: Regular expressions for which authentication is not required. + Each new line is interpreted as a new Regular Expression. + basic_auth_enabled: + type: boolean + title: Set HTTP-Basic Authentication + description: Set a custom HTTP-Basic Authentication header based on values + from authentik. + basic_auth_password_attribute: + type: string + title: HTTP-Basic Password Key + description: User/Group Attribute used for the password part of the HTTP-Basic + Header. + basic_auth_user_attribute: + type: string + title: HTTP-Basic Username Key + description: User/Group Attribute used for the user part of the HTTP-Basic + Header. If not set, the user's Email address is used. + mode: + allOf: + - $ref: '#/components/schemas/ProxyMode' + description: Enable support for forwardAuth in traefik and nginx auth_request. + Exclusive with internal_host. + intercept_header_auth: + type: boolean + description: When enabled, this provider will intercept the authorization + header and authenticate requests based on its value. + cookie_domain: + type: string + jwks_sources: + type: array + items: + type: string + format: uuid + title: Any JWT signed by the JWK of the selected source can be used to + authenticate. + title: Any JWT signed by the JWK of the selected source can be used to authenticate. + access_token_validity: + type: string + minLength: 1 + description: 'Tokens not valid on or after current time + this value (Format: + hours=1;minutes=2;seconds=3).' + refresh_token_validity: + type: string + minLength: 1 + description: 'Tokens not valid on or after current time + this value (Format: + hours=1;minutes=2;seconds=3).' + required: + - authorization_flow + - external_host + - name + RACPropertyMapping: + type: object + description: RACPropertyMapping Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Pm uuid + managed: + type: string + nullable: true + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + expression: + type: string + component: + type: string + description: Get object's component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + static_settings: + type: object + additionalProperties: {} + required: + - component + - meta_model_name + - name + - pk + - static_settings + - verbose_name + - verbose_name_plural + RACPropertyMappingRequest: + type: object + description: RACPropertyMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + static_settings: + type: object + additionalProperties: {} + required: + - name + - static_settings + RACProvider: + type: object + description: RACProvider Serializer + properties: + pk: + type: integer + readOnly: true + title: ID + name: + type: string + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow used for authentication when the associated application + is accessed by an un-authenticated user. + authorization_flow: + type: string + format: uuid + description: Flow used when authorizing this provider. + property_mappings: + type: array + items: + type: string + format: uuid + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + assigned_application_slug: + type: string + description: Internal application name, used in URLs. + readOnly: true + assigned_application_name: + type: string + description: Application's display Name. + readOnly: true + assigned_backchannel_application_slug: + type: string + description: Internal application name, used in URLs. + readOnly: true + assigned_backchannel_application_name: + type: string + description: Application's display Name. + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + settings: {} + outpost_set: + type: array + items: + type: string + readOnly: true + connection_expiry: + type: string + description: 'Determines how long a session lasts. Default of 0 means that + the sessions lasts until the browser is closed. (Format: hours=-1;minutes=-2;seconds=-3)' + delete_token_on_disconnect: + type: boolean + description: When set to true, connection tokens will be deleted upon disconnect. + required: + - assigned_application_name + - assigned_application_slug + - assigned_backchannel_application_name + - assigned_backchannel_application_slug + - authorization_flow + - component + - meta_model_name + - name + - outpost_set + - pk + - verbose_name + - verbose_name_plural + RACProviderRequest: + type: object + description: RACProvider Serializer + properties: + name: + type: string + minLength: 1 + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow used for authentication when the associated application + is accessed by an un-authenticated user. + authorization_flow: + type: string + format: uuid + description: Flow used when authorizing this provider. + property_mappings: + type: array + items: + type: string + format: uuid + settings: {} + connection_expiry: + type: string + minLength: 1 + description: 'Determines how long a session lasts. Default of 0 means that + the sessions lasts until the browser is closed. (Format: hours=-1;minutes=-2;seconds=-3)' + delete_token_on_disconnect: + type: boolean + description: When set to true, connection tokens will be deleted upon disconnect. + required: + - authorization_flow + - name + RadiusCheckAccess: + type: object + description: Base serializer class which doesn't implement create/update methods + properties: + attributes: + type: string + access: + $ref: '#/components/schemas/PolicyTestResult' + required: + - access + RadiusOutpostConfig: + type: object + description: RadiusProvider Serializer + properties: + pk: + type: integer + readOnly: true + title: ID + name: + type: string + application_slug: + type: string + auth_flow_slug: + type: string + client_networks: + type: string + description: List of CIDRs (comma-separated) that clients can connect from. + A more specific CIDR will match before a looser one. Clients connecting + from a non-specified CIDR will be dropped. + shared_secret: + type: string + description: Shared secret between clients and server to hash packets. + mfa_support: + type: boolean + description: When enabled, code-based multi-factor authentication can be + used by appending a semicolon and the TOTP code to the password. This + should only be enabled if all users that will bind to this provider have + a TOTP device configured, as otherwise a password may incorrectly be rejected + if it contains a semicolon. + required: + - application_slug + - auth_flow_slug + - name + - pk + RadiusProvider: + type: object + description: RadiusProvider Serializer + properties: + pk: + type: integer + readOnly: true + title: ID + name: + type: string + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow used for authentication when the associated application + is accessed by an un-authenticated user. + authorization_flow: + type: string + format: uuid + description: Flow used when authorizing this provider. + property_mappings: + type: array + items: + type: string + format: uuid + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + assigned_application_slug: + type: string + description: Internal application name, used in URLs. + readOnly: true + assigned_application_name: + type: string + description: Application's display Name. + readOnly: true + assigned_backchannel_application_slug: + type: string + description: Internal application name, used in URLs. + readOnly: true + assigned_backchannel_application_name: + type: string + description: Application's display Name. + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + client_networks: + type: string + description: List of CIDRs (comma-separated) that clients can connect from. + A more specific CIDR will match before a looser one. Clients connecting + from a non-specified CIDR will be dropped. + shared_secret: + type: string + description: Shared secret between clients and server to hash packets. + outpost_set: + type: array + items: + type: string + readOnly: true + mfa_support: + type: boolean + description: When enabled, code-based multi-factor authentication can be + used by appending a semicolon and the TOTP code to the password. This + should only be enabled if all users that will bind to this provider have + a TOTP device configured, as otherwise a password may incorrectly be rejected + if it contains a semicolon. + required: + - assigned_application_name + - assigned_application_slug + - assigned_backchannel_application_name + - assigned_backchannel_application_slug + - authorization_flow + - component + - meta_model_name + - name + - outpost_set + - pk + - verbose_name + - verbose_name_plural + RadiusProviderPropertyMapping: + type: object + description: RadiusProviderPropertyMapping Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Pm uuid + managed: + type: string + nullable: true + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + expression: + type: string + component: + type: string + description: Get object's component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + required: + - component + - expression + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + RadiusProviderPropertyMappingRequest: + type: object + description: RadiusProviderPropertyMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + required: + - expression + - name + RadiusProviderRequest: + type: object + description: RadiusProvider Serializer + properties: + name: + type: string + minLength: 1 + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow used for authentication when the associated application + is accessed by an un-authenticated user. + authorization_flow: + type: string + format: uuid + description: Flow used when authorizing this provider. + property_mappings: + type: array + items: + type: string + format: uuid + client_networks: + type: string + minLength: 1 + description: List of CIDRs (comma-separated) that clients can connect from. + A more specific CIDR will match before a looser one. Clients connecting + from a non-specified CIDR will be dropped. + shared_secret: + type: string + minLength: 1 + description: Shared secret between clients and server to hash packets. + mfa_support: + type: boolean + description: When enabled, code-based multi-factor authentication can be + used by appending a semicolon and the TOTP code to the password. This + should only be enabled if all users that will bind to this provider have + a TOTP device configured, as otherwise a password may incorrectly be rejected + if it contains a semicolon. + required: + - authorization_flow + - name + RedirectChallenge: + type: object + description: Challenge type to redirect the client + properties: + flow_info: + $ref: '#/components/schemas/ContextualFlowInfo' + component: + type: string + default: xak-flow-redirect + response_errors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + to: + type: string + required: + - to + Reputation: + type: object + description: Reputation Serializer + properties: + pk: + type: string + format: uuid + title: Reputation uuid + identifier: + type: string + ip: + type: string + ip_geo_data: {} + ip_asn_data: {} + score: + type: integer + maximum: 9223372036854775807 + minimum: -9223372036854775808 + format: int64 + updated: + type: string + format: date-time + readOnly: true + required: + - identifier + - ip + - updated + ReputationPolicy: + type: object + description: Reputation Policy Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Policy uuid + name: + type: string + execution_logging: + type: boolean + description: When this option is enabled, all executions of this policy + will be logged. By default, only execution errors are logged. + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + bound_to: + type: integer + description: Return objects policy is bound to + readOnly: true + check_ip: + type: boolean + check_username: + type: boolean + threshold: + type: integer + maximum: 2147483647 + minimum: -2147483648 + required: + - bound_to + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + ReputationPolicyRequest: + type: object + description: Reputation Policy Serializer + properties: + name: + type: string + minLength: 1 + execution_logging: + type: boolean + description: When this option is enabled, all executions of this policy + will be logged. By default, only execution errors are logged. + check_ip: + type: boolean + check_username: + type: boolean + threshold: + type: integer + maximum: 2147483647 + minimum: -2147483648 + required: + - name + ResidentKeyRequirementEnum: + enum: + - discouraged + - preferred + - required + type: string + Role: + type: object + description: Role serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Uuid + name: + type: string + maxLength: 150 + required: + - name + - pk + RoleAssignedObjectPermission: + type: object + description: Roles assigned object permission serializer + properties: + role_pk: + type: string + readOnly: true + name: + type: string + readOnly: true + permissions: + type: array + items: + $ref: '#/components/schemas/RoleObjectPermission' + required: + - name + - permissions + - role_pk + RoleObjectPermission: + type: object + description: Role-bound object level permission + properties: + id: + type: integer + readOnly: true + codename: + type: string + readOnly: true + model: + type: string + title: Python model class name + readOnly: true + app_label: + type: string + readOnly: true + object_pk: + type: string + name: + type: string + readOnly: true + required: + - app_label + - codename + - id + - model + - name + - object_pk + RoleRequest: + type: object + description: Role serializer + properties: + name: + type: string + minLength: 1 + maxLength: 150 + required: + - name + SAMLMetadata: + type: object + description: SAML Provider Metadata serializer + properties: + metadata: + type: string + readOnly: true + download_url: + type: string + readOnly: true + required: + - download_url + - metadata + SAMLPropertyMapping: + type: object + description: SAMLPropertyMapping Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Pm uuid + managed: + type: string + nullable: true + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + expression: + type: string + component: + type: string + description: Get object's component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + saml_name: + type: string + friendly_name: + type: string + nullable: true + required: + - component + - expression + - meta_model_name + - name + - pk + - saml_name + - verbose_name + - verbose_name_plural + SAMLPropertyMappingRequest: + type: object + description: SAMLPropertyMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + saml_name: + type: string + minLength: 1 + friendly_name: + type: string + nullable: true + required: + - expression + - name + - saml_name + SAMLProvider: + type: object + description: SAMLProvider Serializer + properties: + pk: + type: integer + readOnly: true + title: ID + name: + type: string + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow used for authentication when the associated application + is accessed by an un-authenticated user. + authorization_flow: + type: string + format: uuid + description: Flow used when authorizing this provider. + property_mappings: + type: array + items: + type: string + format: uuid + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + assigned_application_slug: + type: string + description: Internal application name, used in URLs. + readOnly: true + assigned_application_name: + type: string + description: Application's display Name. + readOnly: true + assigned_backchannel_application_slug: + type: string + description: Internal application name, used in URLs. + readOnly: true + assigned_backchannel_application_name: + type: string + description: Application's display Name. + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + acs_url: + type: string + format: uri + maxLength: 200 + audience: + type: string + description: Value of the audience restriction field of the assertion. When + left empty, no audience restriction will be added. + issuer: + type: string + description: Also known as EntityID + assertion_valid_not_before: + type: string + description: 'Assertion valid not before current time + this value (Format: + hours=-1;minutes=-2;seconds=-3).' + assertion_valid_not_on_or_after: + type: string + description: 'Assertion not valid on or after current time + this value + (Format: hours=1;minutes=2;seconds=3).' + session_valid_not_on_or_after: + type: string + description: 'Session not valid on or after current time + this value (Format: + hours=1;minutes=2;seconds=3).' + name_id_mapping: + type: string + format: uuid + nullable: true + title: NameID Property Mapping + description: Configure how the NameID value will be created. When left empty, + the NameIDPolicy of the incoming request will be considered + digest_algorithm: + $ref: '#/components/schemas/DigestAlgorithmEnum' + signature_algorithm: + $ref: '#/components/schemas/SignatureAlgorithmEnum' + signing_kp: + type: string + format: uuid + nullable: true + title: Signing Keypair + description: Keypair used to sign outgoing Responses going to the Service + Provider. + verification_kp: + type: string + format: uuid + nullable: true + title: Verification Certificate + description: When selected, incoming assertion's Signatures will be validated + against this certificate. To allow unsigned Requests, leave on default. + encryption_kp: + type: string + format: uuid + nullable: true + title: Encryption Keypair + description: When selected, incoming assertions are encrypted by the IdP + using the public key of the encryption keypair. The assertion is decrypted + by the SP using the the private key. + sign_assertion: + type: boolean + sign_response: + type: boolean + sp_binding: + allOf: + - $ref: '#/components/schemas/SpBindingEnum' + title: Service Provider Binding + description: This determines how authentik sends the response back to the + Service Provider. + default_relay_state: + type: string + description: Default relay_state value for IDP-initiated logins + url_download_metadata: + type: string + description: Get metadata download URL + readOnly: true + url_sso_post: + type: string + description: Get SSO Post URL + readOnly: true + url_sso_redirect: + type: string + description: Get SSO Redirect URL + readOnly: true + url_sso_init: + type: string + description: Get SSO IDP-Initiated URL + readOnly: true + url_slo_post: + type: string + description: Get SLO POST URL + readOnly: true + url_slo_redirect: + type: string + description: Get SLO redirect URL + readOnly: true + required: + - acs_url + - assigned_application_name + - assigned_application_slug + - assigned_backchannel_application_name + - assigned_backchannel_application_slug + - authorization_flow + - component + - meta_model_name + - name + - pk + - url_download_metadata + - url_slo_post + - url_slo_redirect + - url_sso_init + - url_sso_post + - url_sso_redirect + - verbose_name + - verbose_name_plural + SAMLProviderImportRequest: + type: object + description: Import saml provider from XML Metadata + properties: + name: + type: string + minLength: 1 + authorization_flow: + type: string + format: uuid + file: + type: string + format: binary + required: + - authorization_flow + - file + - name + SAMLProviderRequest: + type: object + description: SAMLProvider Serializer + properties: + name: + type: string + minLength: 1 + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow used for authentication when the associated application + is accessed by an un-authenticated user. + authorization_flow: + type: string + format: uuid + description: Flow used when authorizing this provider. + property_mappings: + type: array + items: + type: string + format: uuid + acs_url: + type: string + format: uri + minLength: 1 + maxLength: 200 + audience: + type: string + description: Value of the audience restriction field of the assertion. When + left empty, no audience restriction will be added. + issuer: + type: string + minLength: 1 + description: Also known as EntityID + assertion_valid_not_before: + type: string + minLength: 1 + description: 'Assertion valid not before current time + this value (Format: + hours=-1;minutes=-2;seconds=-3).' + assertion_valid_not_on_or_after: + type: string + minLength: 1 + description: 'Assertion not valid on or after current time + this value + (Format: hours=1;minutes=2;seconds=3).' + session_valid_not_on_or_after: + type: string + minLength: 1 + description: 'Session not valid on or after current time + this value (Format: + hours=1;minutes=2;seconds=3).' + name_id_mapping: + type: string + format: uuid + nullable: true + title: NameID Property Mapping + description: Configure how the NameID value will be created. When left empty, + the NameIDPolicy of the incoming request will be considered + digest_algorithm: + $ref: '#/components/schemas/DigestAlgorithmEnum' + signature_algorithm: + $ref: '#/components/schemas/SignatureAlgorithmEnum' + signing_kp: + type: string + format: uuid + nullable: true + title: Signing Keypair + description: Keypair used to sign outgoing Responses going to the Service + Provider. + verification_kp: + type: string + format: uuid + nullable: true + title: Verification Certificate + description: When selected, incoming assertion's Signatures will be validated + against this certificate. To allow unsigned Requests, leave on default. + encryption_kp: + type: string + format: uuid + nullable: true + title: Encryption Keypair + description: When selected, incoming assertions are encrypted by the IdP + using the public key of the encryption keypair. The assertion is decrypted + by the SP using the the private key. + sign_assertion: + type: boolean + sign_response: + type: boolean + sp_binding: + allOf: + - $ref: '#/components/schemas/SpBindingEnum' + title: Service Provider Binding + description: This determines how authentik sends the response back to the + Service Provider. + default_relay_state: + type: string + description: Default relay_state value for IDP-initiated logins + required: + - acs_url + - authorization_flow + - name + SAMLSource: + type: object + description: SAMLSource Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Pbm uuid + name: + type: string + description: Source's display Name. + slug: + type: string + description: Internal source name, used in URLs. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + enabled: + type: boolean + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow to use when authenticating existing users. + enrollment_flow: + type: string + format: uuid + nullable: true + description: Flow to use when enrolling new users. + user_property_mappings: + type: array + items: + type: string + format: uuid + group_property_mappings: + type: array + items: + type: string + format: uuid + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + user_matching_mode: + allOf: + - $ref: '#/components/schemas/UserMatchingModeEnum' + description: How the source determines if an existing user should be authenticated + or a new user enrolled. + managed: + type: string + nullable: true + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + readOnly: true + user_path_template: + type: string + icon: + type: string + readOnly: true + group_matching_mode: + allOf: + - $ref: '#/components/schemas/GroupMatchingModeEnum' + description: How the source determines if an existing group should be used + or a new group created. + pre_authentication_flow: + type: string + format: uuid + description: Flow used before authentication. + issuer: + type: string + description: Also known as Entity ID. Defaults the Metadata URL. + sso_url: + type: string + format: uri + description: URL that the initial Login request is sent to. + maxLength: 200 + slo_url: + type: string + format: uri + nullable: true + description: Optional URL if your IDP supports Single-Logout. + maxLength: 200 + allow_idp_initiated: + type: boolean + description: Allows authentication flows initiated by the IdP. This can + be a security risk, as no validation of the request ID is done. + name_id_policy: + allOf: + - $ref: '#/components/schemas/NameIdPolicyEnum' + description: NameID Policy sent to the IdP. Can be unset, in which case + no Policy is sent. + binding_type: + $ref: '#/components/schemas/BindingTypeEnum' + verification_kp: + type: string + format: uuid + nullable: true + title: Verification Certificate + description: When selected, incoming assertion's Signatures will be validated + against this certificate. To allow unsigned Requests, leave on default. + signing_kp: + type: string + format: uuid + nullable: true + title: Signing Keypair + description: Keypair used to sign outgoing Responses going to the Identity + Provider. + digest_algorithm: + $ref: '#/components/schemas/DigestAlgorithmEnum' + signature_algorithm: + $ref: '#/components/schemas/SignatureAlgorithmEnum' + temporary_user_delete_after: + type: string + title: Delete temporary users after + description: 'Time offset when temporary users should be deleted. This only + applies if your IDP uses the NameID Format ''transient'', and the user + doesn''t log out manually. (Format: hours=1;minutes=2;seconds=3).' + encryption_kp: + type: string + format: uuid + nullable: true + title: Encryption Keypair + description: When selected, incoming assertions are encrypted by the IdP + using the public key of the encryption keypair. The assertion is decrypted + by the SP using the the private key. + required: + - component + - icon + - managed + - meta_model_name + - name + - pk + - pre_authentication_flow + - slug + - sso_url + - verbose_name + - verbose_name_plural + SAMLSourcePropertyMapping: + type: object + description: SAMLSourcePropertyMapping Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Pm uuid + managed: + type: string + nullable: true + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + expression: + type: string + component: + type: string + description: Get object's component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + required: + - component + - expression + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + SAMLSourcePropertyMappingRequest: + type: object + description: SAMLSourcePropertyMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + required: + - expression + - name + SAMLSourceRequest: + type: object + description: SAMLSource Serializer + properties: + name: + type: string + minLength: 1 + description: Source's display Name. + slug: + type: string + minLength: 1 + description: Internal source name, used in URLs. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + enabled: + type: boolean + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow to use when authenticating existing users. + enrollment_flow: + type: string + format: uuid + nullable: true + description: Flow to use when enrolling new users. + user_property_mappings: + type: array + items: + type: string + format: uuid + group_property_mappings: + type: array + items: + type: string + format: uuid + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + user_matching_mode: + allOf: + - $ref: '#/components/schemas/UserMatchingModeEnum' + description: How the source determines if an existing user should be authenticated + or a new user enrolled. + user_path_template: + type: string + minLength: 1 + group_matching_mode: + allOf: + - $ref: '#/components/schemas/GroupMatchingModeEnum' + description: How the source determines if an existing group should be used + or a new group created. + pre_authentication_flow: + type: string + format: uuid + description: Flow used before authentication. + issuer: + type: string + description: Also known as Entity ID. Defaults the Metadata URL. + sso_url: + type: string + format: uri + minLength: 1 + description: URL that the initial Login request is sent to. + maxLength: 200 + slo_url: + type: string + format: uri + nullable: true + description: Optional URL if your IDP supports Single-Logout. + maxLength: 200 + allow_idp_initiated: + type: boolean + description: Allows authentication flows initiated by the IdP. This can + be a security risk, as no validation of the request ID is done. + name_id_policy: + allOf: + - $ref: '#/components/schemas/NameIdPolicyEnum' + description: NameID Policy sent to the IdP. Can be unset, in which case + no Policy is sent. + binding_type: + $ref: '#/components/schemas/BindingTypeEnum' + verification_kp: + type: string + format: uuid + nullable: true + title: Verification Certificate + description: When selected, incoming assertion's Signatures will be validated + against this certificate. To allow unsigned Requests, leave on default. + signing_kp: + type: string + format: uuid + nullable: true + title: Signing Keypair + description: Keypair used to sign outgoing Responses going to the Identity + Provider. + digest_algorithm: + $ref: '#/components/schemas/DigestAlgorithmEnum' + signature_algorithm: + $ref: '#/components/schemas/SignatureAlgorithmEnum' + temporary_user_delete_after: + type: string + minLength: 1 + title: Delete temporary users after + description: 'Time offset when temporary users should be deleted. This only + applies if your IDP uses the NameID Format ''transient'', and the user + doesn''t log out manually. (Format: hours=1;minutes=2;seconds=3).' + encryption_kp: + type: string + format: uuid + nullable: true + title: Encryption Keypair + description: When selected, incoming assertions are encrypted by the IdP + using the public key of the encryption keypair. The assertion is decrypted + by the SP using the the private key. + required: + - name + - pre_authentication_flow + - slug + - sso_url + SCIMMapping: + type: object + description: SCIMMapping Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Pm uuid + managed: + type: string + nullable: true + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + expression: + type: string + component: + type: string + description: Get object's component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + required: + - component + - expression + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + SCIMMappingRequest: + type: object + description: SCIMMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + required: + - expression + - name + SCIMProvider: + type: object + description: SCIMProvider Serializer + properties: + pk: + type: integer + readOnly: true + title: ID + name: + type: string + property_mappings: + type: array + items: + type: string + format: uuid + property_mappings_group: + type: array + items: + type: string + format: uuid + description: Property mappings used for group creation/updating. + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + assigned_backchannel_application_slug: + type: string + description: Internal application name, used in URLs. + readOnly: true + assigned_backchannel_application_name: + type: string + description: Application's display Name. + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + url: + type: string + description: Base URL to SCIM requests, usually ends in /v2 + token: + type: string + description: Authentication token + exclude_users_service_account: + type: boolean + filter_group: + type: string + format: uuid + nullable: true + required: + - assigned_backchannel_application_name + - assigned_backchannel_application_slug + - component + - meta_model_name + - name + - pk + - token + - url + - verbose_name + - verbose_name_plural + SCIMProviderGroup: + type: object + description: SCIMProviderGroup Serializer + properties: + id: + type: string + format: uuid + readOnly: true + scim_id: + type: string + group: + type: string + format: uuid + group_obj: + allOf: + - $ref: '#/components/schemas/UserGroup' + readOnly: true + provider: + type: integer + required: + - group + - group_obj + - id + - provider + - scim_id + SCIMProviderGroupRequest: + type: object + description: SCIMProviderGroup Serializer + properties: + scim_id: + type: string + minLength: 1 + group: + type: string + format: uuid + provider: + type: integer + required: + - group + - provider + - scim_id + SCIMProviderRequest: + type: object + description: SCIMProvider Serializer + properties: + name: + type: string + minLength: 1 + property_mappings: + type: array + items: + type: string + format: uuid + property_mappings_group: + type: array + items: + type: string + format: uuid + description: Property mappings used for group creation/updating. + url: + type: string + minLength: 1 + description: Base URL to SCIM requests, usually ends in /v2 + token: + type: string + minLength: 1 + description: Authentication token + exclude_users_service_account: + type: boolean + filter_group: + type: string + format: uuid + nullable: true + required: + - name + - token + - url + SCIMProviderUser: + type: object + description: SCIMProviderUser Serializer + properties: + id: + type: string + format: uuid + readOnly: true + scim_id: + type: string + user: + type: integer + user_obj: + allOf: + - $ref: '#/components/schemas/GroupMember' + readOnly: true + provider: + type: integer + required: + - id + - provider + - scim_id + - user + - user_obj + SCIMProviderUserRequest: + type: object + description: SCIMProviderUser Serializer + properties: + scim_id: + type: string + minLength: 1 + user: + type: integer + provider: + type: integer + required: + - provider + - scim_id + - user + SCIMSource: + type: object + description: SCIMSource Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Pbm uuid + name: + type: string + description: Source's display Name. + slug: + type: string + description: Internal source name, used in URLs. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + enabled: + type: boolean + user_property_mappings: + type: array + items: + type: string + format: uuid + group_property_mappings: + type: array + items: + type: string + format: uuid + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + managed: + type: string + nullable: true + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + readOnly: true + user_path_template: + type: string + root_url: + type: string + description: Get Root URL + readOnly: true + token_obj: + allOf: + - $ref: '#/components/schemas/Token' + readOnly: true + required: + - component + - managed + - meta_model_name + - name + - pk + - root_url + - slug + - token_obj + - verbose_name + - verbose_name_plural + SCIMSourceGroup: + type: object + description: SCIMSourceGroup Serializer + properties: + id: + type: string + group: + type: string + format: uuid + group_obj: + allOf: + - $ref: '#/components/schemas/UserGroup' + readOnly: true + source: + type: string + format: uuid + attributes: {} + required: + - group + - group_obj + - id + - source + SCIMSourceGroupRequest: + type: object + description: SCIMSourceGroup Serializer + properties: + id: + type: string + minLength: 1 + group: + type: string + format: uuid + source: + type: string + format: uuid + attributes: {} + required: + - group + - id + - source + SCIMSourcePropertyMapping: + type: object + description: SCIMSourcePropertyMapping Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Pm uuid + managed: + type: string + nullable: true + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + expression: + type: string + component: + type: string + description: Get object's component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + required: + - component + - expression + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + SCIMSourcePropertyMappingRequest: + type: object + description: SCIMSourcePropertyMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + required: + - expression + - name + SCIMSourceRequest: + type: object + description: SCIMSource Serializer + properties: + name: + type: string + minLength: 1 + description: Source's display Name. + slug: + type: string + minLength: 1 + description: Internal source name, used in URLs. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + enabled: + type: boolean + user_property_mappings: + type: array + items: + type: string + format: uuid + group_property_mappings: + type: array + items: + type: string + format: uuid + user_path_template: + type: string + minLength: 1 + required: + - name + - slug + SCIMSourceUser: + type: object + description: SCIMSourceUser Serializer + properties: + id: + type: string + user: + type: integer + user_obj: + allOf: + - $ref: '#/components/schemas/GroupMember' + readOnly: true + source: + type: string + format: uuid + attributes: {} + required: + - id + - source + - user + - user_obj + SCIMSourceUserRequest: + type: object + description: SCIMSourceUser Serializer + properties: + id: + type: string + minLength: 1 + user: + type: integer + source: + type: string + format: uuid + attributes: {} + required: + - id + - source + - user + SMSDevice: + type: object + description: Serializer for sms authenticator devices + properties: + name: + type: string + description: The human-readable name of this device. + maxLength: 64 + pk: + type: integer + readOnly: true + title: ID + phone_number: + type: string + readOnly: true + required: + - name + - phone_number + - pk + SMSDeviceRequest: + type: object + description: Serializer for sms authenticator devices + properties: + name: + type: string + minLength: 1 + description: The human-readable name of this device. + maxLength: 64 + required: + - name + ScopeMapping: + type: object + description: ScopeMapping Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Pm uuid + managed: + type: string + nullable: true + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + expression: + type: string + component: + type: string + description: Get object's component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + scope_name: + type: string + description: Scope name requested by the client + description: + type: string + description: Description shown to the user when consenting. If left empty, + the user won't be informed. + required: + - component + - expression + - meta_model_name + - name + - pk + - scope_name + - verbose_name + - verbose_name_plural + ScopeMappingRequest: + type: object + description: ScopeMapping Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + name: + type: string + minLength: 1 + expression: + type: string + minLength: 1 + scope_name: + type: string + minLength: 1 + description: Scope name requested by the client + description: + type: string + description: Description shown to the user when consenting. If left empty, + the user won't be informed. + required: + - expression + - name + - scope_name + SelectableStage: + type: object + description: Serializer for stages which can be selected by users + properties: + pk: + type: string + format: uuid + name: + type: string + verbose_name: + type: string + meta_model_name: + type: string + required: + - meta_model_name + - name + - pk + - verbose_name + ServiceConnection: + type: object + description: ServiceConnection Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Uuid + name: + type: string + local: + type: boolean + description: If enabled, use the local connection. Required Docker socket/Kubernetes + Integration + component: + type: string + description: Return component used to edit this object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + required: + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + ServiceConnectionRequest: + type: object + description: ServiceConnection Serializer + properties: + name: + type: string + minLength: 1 + local: + type: boolean + description: If enabled, use the local connection. Required Docker socket/Kubernetes + Integration + required: + - name + ServiceConnectionState: + type: object + description: Serializer for Service connection state + properties: + healthy: + type: boolean + readOnly: true + version: + type: string + readOnly: true + required: + - healthy + - version + SessionUser: + type: object + description: |- + Response for the /user/me endpoint, returns the currently active user (as `user` property) + and, if this user is being impersonated, the original user in the `original` property. + properties: + user: + $ref: '#/components/schemas/UserSelf' + original: + $ref: '#/components/schemas/UserSelf' + required: + - user + Settings: + type: object + description: Settings Serializer + properties: + avatars: + type: string + description: Configure how authentik should show avatars for users. + default_user_change_name: + type: boolean + description: Enable the ability for users to change their name. + default_user_change_email: + type: boolean + description: Enable the ability for users to change their email address. + default_user_change_username: + type: boolean + description: Enable the ability for users to change their username. + event_retention: + type: string + description: 'Events will be deleted after this duration.(Format: weeks=3;days=2;hours=3,seconds=2).' + footer_links: + description: The option configures the footer links on the flow executor + pages. + gdpr_compliance: + type: boolean + description: When enabled, all the events caused by a user will be deleted + upon the user's deletion. + impersonation: + type: boolean + description: Globally enable/disable impersonation. + default_token_duration: + type: string + description: Default token duration + default_token_length: + type: integer + maximum: 2147483647 + minimum: 1 + description: Default token length + SettingsRequest: + type: object + description: Settings Serializer + properties: + avatars: + type: string + minLength: 1 + description: Configure how authentik should show avatars for users. + default_user_change_name: + type: boolean + description: Enable the ability for users to change their name. + default_user_change_email: + type: boolean + description: Enable the ability for users to change their email address. + default_user_change_username: + type: boolean + description: Enable the ability for users to change their username. + event_retention: + type: string + minLength: 1 + description: 'Events will be deleted after this duration.(Format: weeks=3;days=2;hours=3,seconds=2).' + footer_links: + description: The option configures the footer links on the flow executor + pages. + gdpr_compliance: + type: boolean + description: When enabled, all the events caused by a user will be deleted + upon the user's deletion. + impersonation: + type: boolean + description: Globally enable/disable impersonation. + default_token_duration: + type: string + minLength: 1 + description: Default token duration + default_token_length: + type: integer + maximum: 2147483647 + minimum: 1 + description: Default token length + SeverityEnum: + enum: + - notice + - warning + - alert + type: string + ShellChallenge: + type: object + description: challenge type to render HTML as-is + properties: + flow_info: + $ref: '#/components/schemas/ContextualFlowInfo' + component: + type: string + default: xak-flow-shell + response_errors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + body: + type: string + required: + - body + SignatureAlgorithmEnum: + enum: + - http://www.w3.org/2000/09/xmldsig#rsa-sha1 + - http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 + - http://www.w3.org/2001/04/xmldsig-more#rsa-sha384 + - http://www.w3.org/2001/04/xmldsig-more#rsa-sha512 + - http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1 + - http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256 + - http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha384 + - http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512 + - http://www.w3.org/2000/09/xmldsig#dsa-sha1 + type: string + Source: + type: object + description: Source Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Pbm uuid + name: + type: string + description: Source's display Name. + slug: + type: string + description: Internal source name, used in URLs. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + enabled: + type: boolean + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow to use when authenticating existing users. + enrollment_flow: + type: string + format: uuid + nullable: true + description: Flow to use when enrolling new users. + user_property_mappings: + type: array + items: + type: string + format: uuid + group_property_mappings: + type: array + items: + type: string + format: uuid + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + user_matching_mode: + allOf: + - $ref: '#/components/schemas/UserMatchingModeEnum' + description: How the source determines if an existing user should be authenticated + or a new user enrolled. + managed: + type: string + nullable: true + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + readOnly: true + user_path_template: + type: string + icon: + type: string + nullable: true + description: |- + Get the URL to the Icon. If the name is /static or + starts with http it is returned as-is + readOnly: true + required: + - component + - icon + - managed + - meta_model_name + - name + - pk + - slug + - verbose_name + - verbose_name_plural + SourceRequest: + type: object + description: Source Serializer + properties: + name: + type: string + minLength: 1 + description: Source's display Name. + slug: + type: string + minLength: 1 + description: Internal source name, used in URLs. + maxLength: 50 + pattern: ^[-a-zA-Z0-9_]+$ + enabled: + type: boolean + authentication_flow: + type: string + format: uuid + nullable: true + description: Flow to use when authenticating existing users. + enrollment_flow: + type: string + format: uuid + nullable: true + description: Flow to use when enrolling new users. + user_property_mappings: + type: array + items: + type: string + format: uuid + group_property_mappings: + type: array + items: + type: string + format: uuid + policy_engine_mode: + $ref: '#/components/schemas/PolicyEngineMode' + user_matching_mode: + allOf: + - $ref: '#/components/schemas/UserMatchingModeEnum' + description: How the source determines if an existing user should be authenticated + or a new user enrolled. + user_path_template: + type: string + minLength: 1 + required: + - name + - slug + SourceStage: + type: object + description: SourceStage Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Stage uuid + name: + type: string + component: + type: string + description: Get object type so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSet' + source: + type: string + format: uuid + resume_timeout: + type: string + description: 'Amount of time a user can take to return from the source to + continue the flow (Format: hours=-1;minutes=-2;seconds=-3)' + required: + - component + - meta_model_name + - name + - pk + - source + - verbose_name + - verbose_name_plural + SourceStageRequest: + type: object + description: SourceStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + source: + type: string + format: uuid + resume_timeout: + type: string + minLength: 1 + description: 'Amount of time a user can take to return from the source to + continue the flow (Format: hours=-1;minutes=-2;seconds=-3)' + required: + - name + - source + SourceType: + type: object + description: Serializer for SourceType + properties: + name: + type: string + verbose_name: + type: string + urls_customizable: + type: boolean + request_token_url: + type: string + readOnly: true + nullable: true + authorization_url: + type: string + readOnly: true + nullable: true + access_token_url: + type: string + readOnly: true + nullable: true + profile_url: + type: string + readOnly: true + nullable: true + oidc_well_known_url: + type: string + readOnly: true + nullable: true + oidc_jwks_url: + type: string + readOnly: true + nullable: true + required: + - access_token_url + - authorization_url + - name + - oidc_jwks_url + - oidc_well_known_url + - profile_url + - request_token_url + - urls_customizable + - verbose_name + SpBindingEnum: + enum: + - redirect + - post + type: string + Stage: + type: object + description: Stage Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Stage uuid + name: + type: string + component: + type: string + description: Get object type so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSet' + required: + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + StagePrompt: + type: object + description: Serializer for a single Prompt field + properties: + field_key: + type: string + label: + type: string + type: + $ref: '#/components/schemas/PromptTypeEnum' + required: + type: boolean + placeholder: + type: string + initial_value: + type: string + order: + type: integer + sub_text: + type: string + choices: + type: array + items: + type: string + nullable: true + required: + - choices + - field_key + - initial_value + - label + - order + - placeholder + - required + - sub_text + - type + StageRequest: + type: object + description: Stage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + required: + - name + StaticDevice: + type: object + description: Serializer for static authenticator devices + properties: + name: + type: string + description: The human-readable name of this device. + maxLength: 64 + token_set: + type: array + items: + $ref: '#/components/schemas/StaticDeviceToken' + readOnly: true + pk: + type: integer + readOnly: true + title: ID + required: + - name + - pk + - token_set + StaticDeviceRequest: + type: object + description: Serializer for static authenticator devices + properties: + name: + type: string + minLength: 1 + description: The human-readable name of this device. + maxLength: 64 + required: + - name + StaticDeviceToken: + type: object + description: Serializer for static device's tokens + properties: + token: + type: string + maxLength: 16 + required: + - token + StaticDeviceTokenRequest: + type: object + description: Serializer for static device's tokens + properties: + token: + type: string + minLength: 1 + maxLength: 16 + required: + - token + SubModeEnum: + enum: + - hashed_user_id + - user_id + - user_uuid + - user_username + - user_email + - user_upn + type: string + SyncObjectModelEnum: + enum: + - authentik.core.models.User + - authentik.core.models.Group + type: string + SyncObjectRequest: + type: object + description: Sync object serializer + properties: + sync_object_model: + $ref: '#/components/schemas/SyncObjectModelEnum' + sync_object_id: + type: string + minLength: 1 + required: + - sync_object_id + - sync_object_model + SyncObjectResult: + type: object + description: Result of a single object sync + properties: + messages: + type: array + items: + $ref: '#/components/schemas/LogEvent' + readOnly: true + required: + - messages + SyncStatus: + type: object + description: Provider sync status + properties: + is_running: + type: boolean + readOnly: true + tasks: + type: array + items: + $ref: '#/components/schemas/SystemTask' + readOnly: true + required: + - is_running + - tasks + SystemInfo: + type: object + description: Get system information. + properties: + http_headers: + type: object + additionalProperties: + type: string + description: Get HTTP Request headers + readOnly: true + http_host: + type: string + description: Get HTTP host + readOnly: true + http_is_secure: + type: boolean + description: Get HTTP Secure flag + readOnly: true + runtime: + type: object + description: Get versions + properties: + python_version: + type: string + environment: + type: string + architecture: + type: string + platform: + type: string + uname: + type: string + openssl_version: + type: string + openssl_fips_enabled: + type: boolean + nullable: true + authentik_version: + type: string + required: + - architecture + - authentik_version + - environment + - openssl_fips_enabled + - openssl_version + - platform + - python_version + - uname + readOnly: true + brand: + type: string + description: Currently active brand + readOnly: true + server_time: + type: string + format: date-time + description: Current server time + readOnly: true + embedded_outpost_disabled: + type: boolean + description: Whether the embedded outpost is disabled + readOnly: true + embedded_outpost_host: + type: string + description: Get the FQDN configured on the embedded outpost + readOnly: true + required: + - brand + - embedded_outpost_disabled + - embedded_outpost_host + - http_headers + - http_host + - http_is_secure + - runtime + - server_time + SystemTask: + type: object + description: Serialize TaskInfo and TaskResult + properties: + uuid: + type: string + format: uuid + readOnly: true + name: + type: string + full_name: + type: string + description: Get full name with UID + readOnly: true + uid: + type: string + description: + type: string + start_timestamp: + type: string + format: date-time + readOnly: true + finish_timestamp: + type: string + format: date-time + readOnly: true + duration: + type: number + format: double + readOnly: true + status: + $ref: '#/components/schemas/SystemTaskStatusEnum' + messages: + type: array + items: + $ref: '#/components/schemas/LogEvent' + expires: + type: string + format: date-time + nullable: true + expiring: + type: boolean + required: + - description + - duration + - finish_timestamp + - full_name + - messages + - name + - start_timestamp + - status + - uuid + SystemTaskStatusEnum: + enum: + - unknown + - successful + - warning + - error + type: string + TOTPDevice: + type: object + description: Serializer for totp authenticator devices + properties: + name: + type: string + description: The human-readable name of this device. + maxLength: 64 + pk: + type: integer + readOnly: true + title: ID + required: + - name + - pk + TOTPDeviceRequest: + type: object + description: Serializer for totp authenticator devices + properties: + name: + type: string + minLength: 1 + description: The human-readable name of this device. + maxLength: 64 + required: + - name + Tenant: + type: object + description: Tenant Serializer + properties: + tenant_uuid: + type: string + format: uuid + readOnly: true + schema_name: + type: string + maxLength: 63 + name: + type: string + ready: + type: boolean + required: + - name + - schema_name + - tenant_uuid + TenantAdminGroupRequestRequest: + type: object + description: Tenant admin group creation request serializer + properties: + user: + type: string + minLength: 1 + required: + - user + TenantRecoveryKeyRequestRequest: + type: object + description: Tenant recovery key creation request serializer + properties: + user: + type: string + minLength: 1 + duration_days: + type: integer + required: + - duration_days + - user + TenantRecoveryKeyResponse: + type: object + description: Tenant recovery key creation response serializer + properties: + expiry: + type: string + format: date-time + url: + type: string + required: + - expiry + - url + TenantRequest: + type: object + description: Tenant Serializer + properties: + schema_name: + type: string + minLength: 1 + maxLength: 63 + name: + type: string + minLength: 1 + ready: + type: boolean + required: + - name + - schema_name + Token: + type: object + description: Token Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Token uuid + managed: + type: string + nullable: true + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + identifier: + type: string + maxLength: 255 + pattern: ^[-a-zA-Z0-9_]+$ + intent: + $ref: '#/components/schemas/IntentEnum' + user: + type: integer + user_obj: + allOf: + - $ref: '#/components/schemas/User' + readOnly: true + description: + type: string + expires: + type: string + format: date-time + nullable: true + expiring: + type: boolean + required: + - identifier + - pk + - user_obj + TokenModel: + type: object + description: Serializer for BaseGrantModel and RefreshToken + properties: + pk: + type: integer + readOnly: true + title: ID + provider: + $ref: '#/components/schemas/OAuth2Provider' + user: + $ref: '#/components/schemas/User' + is_expired: + type: boolean + description: Check if token is expired yet. + readOnly: true + expires: + type: string + format: date-time + nullable: true + scope: + type: array + items: + type: string + id_token: + type: string + description: Get the token's id_token as JSON String + readOnly: true + revoked: + type: boolean + required: + - id_token + - is_expired + - pk + - provider + - scope + - user + TokenRequest: + type: object + description: Token Serializer + properties: + managed: + type: string + nullable: true + minLength: 1 + title: Managed by authentik + description: Objects that are managed by authentik. These objects are created + and updated automatically. This flag only indicates that an object can + be overwritten by migrations. You can still modify the objects via the + API, but expect changes to be overwritten in a later update. + identifier: + type: string + minLength: 1 + maxLength: 255 + pattern: ^[-a-zA-Z0-9_]+$ + intent: + $ref: '#/components/schemas/IntentEnum' + user: + type: integer + description: + type: string + expires: + type: string + format: date-time + nullable: true + expiring: + type: boolean + required: + - identifier + TokenSetKeyRequest: + type: object + properties: + key: + type: string + minLength: 1 + required: + - key + TokenView: + type: object + description: Show token's current key + properties: + key: + type: string + readOnly: true + required: + - key + TransactionApplicationRequest: + type: object + description: Serializer for creating a provider and an application in one transaction + properties: + app: + $ref: '#/components/schemas/ApplicationRequest' + provider_model: + $ref: '#/components/schemas/ProviderModelEnum' + provider: + $ref: '#/components/schemas/modelRequest' + required: + - app + - provider + - provider_model + TransactionApplicationResponse: + type: object + description: Transactional creation response + properties: + applied: + type: boolean + logs: + type: array + items: + type: string + required: + - applied + - logs + TypeCreate: + type: object + description: Types of an object that can be created + properties: + name: + type: string + description: + type: string + component: + type: string + model_name: + type: string + icon_url: + type: string + requires_enterprise: + type: boolean + default: false + required: + - component + - description + - model_name + - name + UiThemeEnum: + enum: + - automatic + - light + - dark + type: string + UsedBy: + type: object + description: A list of all objects referencing the queried object + properties: + app: + type: string + model_name: + type: string + pk: + type: string + name: + type: string + action: + $ref: '#/components/schemas/UsedByActionEnum' + required: + - action + - app + - model_name + - name + - pk + UsedByActionEnum: + enum: + - cascade + - cascade_many + - set_null + - set_default + type: string + User: + type: object + description: User Serializer + properties: + pk: + type: integer + readOnly: true + title: ID + username: + type: string + maxLength: 150 + name: + type: string + description: User's display name. + is_active: + type: boolean + title: Active + description: Designates whether this user should be treated as active. Unselect + this instead of deleting accounts. + last_login: + type: string + format: date-time + nullable: true + is_superuser: + type: boolean + readOnly: true + groups: + type: array + items: + type: string + format: uuid + groups_obj: + type: array + items: + $ref: '#/components/schemas/UserGroup' + readOnly: true + nullable: true + email: + type: string + format: email + title: Email address + maxLength: 254 + avatar: + type: string + description: User's avatar, either a http/https URL or a data URI + readOnly: true + attributes: + type: object + additionalProperties: {} + uid: + type: string + readOnly: true + path: + type: string + type: + $ref: '#/components/schemas/UserTypeEnum' + uuid: + type: string + format: uuid + readOnly: true + required: + - avatar + - groups_obj + - is_superuser + - name + - pk + - uid + - username + - uuid + UserAccountRequest: + type: object + description: Account adding/removing operations + properties: + pk: + type: integer + required: + - pk + UserAssignedObjectPermission: + type: object + description: Users assigned object permission serializer + properties: + pk: + type: integer + readOnly: true + title: ID + username: + type: string + description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ + only. + pattern: ^[\w.@+-]+$ + maxLength: 150 + name: + type: string + description: User's display name. + is_active: + type: boolean + title: Active + description: Designates whether this user should be treated as active. Unselect + this instead of deleting accounts. + last_login: + type: string + format: date-time + nullable: true + email: + type: string + format: email + title: Email address + maxLength: 254 + attributes: + type: object + additionalProperties: {} + uid: + type: string + readOnly: true + permissions: + type: array + items: + $ref: '#/components/schemas/UserObjectPermission' + is_superuser: + type: boolean + required: + - is_superuser + - name + - permissions + - pk + - uid + - username + UserConsent: + type: object + description: UserConsent Serializer + properties: + pk: + type: integer + readOnly: true + title: ID + expires: + type: string + format: date-time + nullable: true + expiring: + type: boolean + user: + $ref: '#/components/schemas/User' + application: + $ref: '#/components/schemas/Application' + permissions: + type: string + default: '' + required: + - application + - pk + - user + UserCreationModeEnum: + enum: + - never_create + - create_when_required + - always_create + type: string + UserDeleteStage: + type: object + description: UserDeleteStage Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Stage uuid + name: + type: string + component: + type: string + description: Get object type so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSet' + required: + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + UserDeleteStageRequest: + type: object + description: UserDeleteStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + required: + - name + UserFieldsEnum: + enum: + - email + - username + - upn + type: string + UserGroup: + type: object + description: Simplified Group Serializer for user's groups + properties: + pk: + type: string + format: uuid + readOnly: true + title: Group uuid + num_pk: + type: integer + description: Get a numerical, int32 ID for the group + readOnly: true + name: + type: string + is_superuser: + type: boolean + description: Users added to this group will be superusers. + parent: + type: string + format: uuid + nullable: true + parent_name: + type: string + readOnly: true + nullable: true + attributes: + type: object + additionalProperties: {} + required: + - name + - num_pk + - parent_name + - pk + UserGroupRequest: + type: object + description: Simplified Group Serializer for user's groups + properties: + name: + type: string + minLength: 1 + is_superuser: + type: boolean + description: Users added to this group will be superusers. + parent: + type: string + format: uuid + nullable: true + attributes: + type: object + additionalProperties: {} + required: + - name + UserLoginChallenge: + type: object + description: Empty challenge + properties: + flow_info: + $ref: '#/components/schemas/ContextualFlowInfo' + component: + type: string + default: ak-stage-user-login + response_errors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + pending_user: + type: string + pending_user_avatar: + type: string + required: + - pending_user + - pending_user_avatar + UserLoginChallengeResponseRequest: + type: object + description: User login challenge + properties: + component: + type: string + minLength: 1 + default: ak-stage-user-login + remember_me: + type: boolean + required: + - remember_me + UserLoginStage: + type: object + description: UserLoginStage Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Stage uuid + name: + type: string + component: + type: string + description: Get object type so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSet' + session_duration: + type: string + description: 'Determines how long a session lasts. Default of 0 means that + the sessions lasts until the browser is closed. (Format: hours=-1;minutes=-2;seconds=-3)' + terminate_other_sessions: + type: boolean + description: Terminate all other sessions of the user logging in. + remember_me_offset: + type: string + description: 'Offset the session will be extended by when the user picks + the remember me option. Default of 0 means that the remember me option + will not be shown. (Format: hours=-1;minutes=-2;seconds=-3)' + network_binding: + allOf: + - $ref: '#/components/schemas/NetworkBindingEnum' + description: Bind sessions created by this stage to the configured network + geoip_binding: + allOf: + - $ref: '#/components/schemas/GeoipBindingEnum' + description: Bind sessions created by this stage to the configured GeoIP + location + required: + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + UserLoginStageRequest: + type: object + description: UserLoginStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + session_duration: + type: string + minLength: 1 + description: 'Determines how long a session lasts. Default of 0 means that + the sessions lasts until the browser is closed. (Format: hours=-1;minutes=-2;seconds=-3)' + terminate_other_sessions: + type: boolean + description: Terminate all other sessions of the user logging in. + remember_me_offset: + type: string + minLength: 1 + description: 'Offset the session will be extended by when the user picks + the remember me option. Default of 0 means that the remember me option + will not be shown. (Format: hours=-1;minutes=-2;seconds=-3)' + network_binding: + allOf: + - $ref: '#/components/schemas/NetworkBindingEnum' + description: Bind sessions created by this stage to the configured network + geoip_binding: + allOf: + - $ref: '#/components/schemas/GeoipBindingEnum' + description: Bind sessions created by this stage to the configured GeoIP + location + required: + - name + UserLogoutStage: + type: object + description: UserLogoutStage Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Stage uuid + name: + type: string + component: + type: string + description: Get object type so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSet' + required: + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + UserLogoutStageRequest: + type: object + description: UserLogoutStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + required: + - name + UserMatchingModeEnum: + enum: + - identifier + - email_link + - email_deny + - username_link + - username_deny + type: string + UserMetrics: + type: object + description: User Metrics + properties: + logins: + type: array + items: + $ref: '#/components/schemas/Coordinate' + readOnly: true + logins_failed: + type: array + items: + $ref: '#/components/schemas/Coordinate' + readOnly: true + authorizations: + type: array + items: + $ref: '#/components/schemas/Coordinate' + readOnly: true + required: + - authorizations + - logins + - logins_failed + UserOAuthSourceConnection: + type: object + description: OAuth Source Serializer + properties: + pk: + type: integer + readOnly: true + title: ID + user: + type: integer + readOnly: true + source: + allOf: + - $ref: '#/components/schemas/Source' + readOnly: true + created: + type: string + format: date-time + readOnly: true + identifier: + type: string + maxLength: 255 + required: + - created + - identifier + - pk + - source + - user + UserOAuthSourceConnectionRequest: + type: object + description: OAuth Source Serializer + properties: + identifier: + type: string + minLength: 1 + maxLength: 255 + access_token: + type: string + writeOnly: true + nullable: true + required: + - identifier + UserObjectPermission: + type: object + description: User-bound object level permission + properties: + id: + type: integer + readOnly: true + codename: + type: string + readOnly: true + model: + type: string + title: Python model class name + readOnly: true + app_label: + type: string + readOnly: true + object_pk: + type: string + name: + type: string + readOnly: true + required: + - app_label + - codename + - id + - model + - name + - object_pk + UserPasswordSetRequest: + type: object + properties: + password: + type: string + minLength: 1 + required: + - password + UserPath: + type: object + properties: + paths: + type: array + items: + type: string + readOnly: true + required: + - paths + UserPlexSourceConnection: + type: object + description: Plex Source connection Serializer + properties: + pk: + type: integer + readOnly: true + title: ID + user: + type: integer + readOnly: true + source: + allOf: + - $ref: '#/components/schemas/Source' + readOnly: true + created: + type: string + format: date-time + readOnly: true + identifier: + type: string + required: + - created + - identifier + - pk + - source + - user + UserPlexSourceConnectionRequest: + type: object + description: Plex Source connection Serializer + properties: + identifier: + type: string + minLength: 1 + plex_token: + type: string + writeOnly: true + minLength: 1 + required: + - identifier + - plex_token + UserRequest: + type: object + description: User Serializer + properties: + username: + type: string + minLength: 1 + maxLength: 150 + name: + type: string + description: User's display name. + is_active: + type: boolean + title: Active + description: Designates whether this user should be treated as active. Unselect + this instead of deleting accounts. + last_login: + type: string + format: date-time + nullable: true + groups: + type: array + items: + type: string + format: uuid + email: + type: string + format: email + title: Email address + maxLength: 254 + attributes: + type: object + additionalProperties: {} + path: + type: string + minLength: 1 + type: + $ref: '#/components/schemas/UserTypeEnum' + required: + - name + - username + UserSAMLSourceConnection: + type: object + description: SAML Source Serializer + properties: + pk: + type: integer + readOnly: true + title: ID + user: + type: integer + readOnly: true + source: + allOf: + - $ref: '#/components/schemas/Source' + readOnly: true + created: + type: string + format: date-time + readOnly: true + identifier: + type: string + required: + - created + - identifier + - pk + - source + - user + UserSAMLSourceConnectionRequest: + type: object + description: SAML Source Serializer + properties: + identifier: + type: string + minLength: 1 + required: + - identifier + UserSelf: + type: object + description: User Serializer for information a user can retrieve about themselves + properties: + pk: + type: integer + readOnly: true + title: ID + username: + type: string + description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ + only. + pattern: ^[\w.@+-]+$ + maxLength: 150 + name: + type: string + description: User's display name. + is_active: + type: boolean + readOnly: true + title: Active + description: Designates whether this user should be treated as active. Unselect + this instead of deleting accounts. + is_superuser: + type: boolean + readOnly: true + groups: + type: array + items: + $ref: '#/components/schemas/UserSelfGroups' + readOnly: true + email: + type: string + format: email + title: Email address + maxLength: 254 + avatar: + type: string + description: User's avatar, either a http/https URL or a data URI + readOnly: true + uid: + type: string + readOnly: true + settings: + type: object + additionalProperties: {} + description: Get user settings with brand and group settings applied + readOnly: true + type: + $ref: '#/components/schemas/UserTypeEnum' + system_permissions: + type: array + items: + type: string + description: Get all system permissions assigned to the user + readOnly: true + required: + - avatar + - groups + - is_active + - is_superuser + - name + - pk + - settings + - system_permissions + - uid + - username + UserSelfGroups: + type: object + properties: + name: + type: string + readOnly: true + pk: + type: string + readOnly: true + required: + - name + - pk + UserServiceAccountRequest: + type: object + properties: + name: + type: string + minLength: 1 + create_group: + type: boolean + default: false + expiring: + type: boolean + default: true + expires: + type: string + format: date-time + description: If not provided, valid for 360 days + required: + - name + UserServiceAccountResponse: + type: object + properties: + username: + type: string + token: + type: string + user_uid: + type: string + user_pk: + type: integer + group_pk: + type: string + required: + - token + - user_pk + - user_uid + - username + UserSetting: + type: object + description: Serializer for User settings for stages and sources + properties: + object_uid: + type: string + component: + type: string + title: + type: string + configure_url: + type: string + icon_url: + type: string + required: + - component + - object_uid + - title + UserSourceConnection: + type: object + description: OAuth Source Serializer + properties: + pk: + type: integer + readOnly: true + title: ID + user: + type: integer + readOnly: true + source: + allOf: + - $ref: '#/components/schemas/Source' + readOnly: true + created: + type: string + format: date-time + readOnly: true + required: + - created + - pk + - source + - user + UserTypeEnum: + enum: + - internal + - external + - service_account + - internal_service_account + type: string + UserVerificationEnum: + enum: + - required + - preferred + - discouraged + type: string + UserWriteStage: + type: object + description: UserWriteStage Serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Stage uuid + name: + type: string + component: + type: string + description: Get object type so that we know how to edit the object + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSet' + user_creation_mode: + $ref: '#/components/schemas/UserCreationModeEnum' + create_users_as_inactive: + type: boolean + description: When set, newly created users are inactive and cannot login. + create_users_group: + type: string + format: uuid + nullable: true + description: Optionally add newly created users to this group. + user_type: + $ref: '#/components/schemas/UserTypeEnum' + user_path_template: + type: string + required: + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + UserWriteStageRequest: + type: object + description: UserWriteStage Serializer + properties: + name: + type: string + minLength: 1 + flow_set: + type: array + items: + $ref: '#/components/schemas/FlowSetRequest' + user_creation_mode: + $ref: '#/components/schemas/UserCreationModeEnum' + create_users_as_inactive: + type: boolean + description: When set, newly created users are inactive and cannot login. + create_users_group: + type: string + format: uuid + nullable: true + description: Optionally add newly created users to this group. + user_type: + $ref: '#/components/schemas/UserTypeEnum' + user_path_template: + type: string + required: + - name + ValidationError: + type: object + description: Validation Error + properties: + non_field_errors: + type: array + items: + type: string + code: + type: string + additionalProperties: {} + Version: + type: object + description: Get running and latest version. + properties: + version_current: + type: string + description: Get current version + readOnly: true + version_latest: + type: string + description: Get latest version from cache + readOnly: true + version_latest_valid: + type: boolean + description: Check if latest version is valid + readOnly: true + build_hash: + type: string + description: Get build hash, if version is not latest or released + readOnly: true + outdated: + type: boolean + description: Check if we're running the latest version + readOnly: true + outpost_outdated: + type: boolean + description: Check if any outpost is outdated/has a version mismatch + readOnly: true + required: + - build_hash + - outdated + - outpost_outdated + - version_current + - version_latest + - version_latest_valid + WebAuthnDevice: + type: object + description: Serializer for WebAuthn authenticator devices + properties: + pk: + type: integer + readOnly: true + title: ID + name: + type: string + maxLength: 200 + created_on: + type: string + format: date-time + readOnly: true + device_type: + allOf: + - $ref: '#/components/schemas/WebAuthnDeviceType' + readOnly: true + nullable: true + aaguid: + type: string + readOnly: true + required: + - aaguid + - created_on + - device_type + - name + - pk + WebAuthnDeviceRequest: + type: object + description: Serializer for WebAuthn authenticator devices + properties: + name: + type: string + minLength: 1 + maxLength: 200 + required: + - name + WebAuthnDeviceType: + type: object + description: WebAuthnDeviceType Serializer + properties: + aaguid: + type: string + format: uuid + description: + type: string + required: + - aaguid + - description + WebAuthnDeviceTypeRequest: + type: object + description: WebAuthnDeviceType Serializer + properties: + aaguid: + type: string + format: uuid + description: + type: string + minLength: 1 + required: + - aaguid + - description + Workers: + type: object + properties: + count: + type: integer + required: + - count + modelRequest: + oneOf: + - $ref: '#/components/schemas/GoogleWorkspaceProviderRequest' + - $ref: '#/components/schemas/LDAPProviderRequest' + - $ref: '#/components/schemas/MicrosoftEntraProviderRequest' + - $ref: '#/components/schemas/OAuth2ProviderRequest' + - $ref: '#/components/schemas/ProxyProviderRequest' + - $ref: '#/components/schemas/RACProviderRequest' + - $ref: '#/components/schemas/RadiusProviderRequest' + - $ref: '#/components/schemas/SAMLProviderRequest' + - $ref: '#/components/schemas/SCIMProviderRequest' + discriminator: + propertyName: provider_model + mapping: + authentik_providers_google_workspace.googleworkspaceprovider: '#/components/schemas/GoogleWorkspaceProviderRequest' + authentik_providers_ldap.ldapprovider: '#/components/schemas/LDAPProviderRequest' + authentik_providers_microsoft_entra.microsoftentraprovider: '#/components/schemas/MicrosoftEntraProviderRequest' + authentik_providers_oauth2.oauth2provider: '#/components/schemas/OAuth2ProviderRequest' + authentik_providers_proxy.proxyprovider: '#/components/schemas/ProxyProviderRequest' + authentik_providers_rac.racprovider: '#/components/schemas/RACProviderRequest' + authentik_providers_radius.radiusprovider: '#/components/schemas/RadiusProviderRequest' + authentik_providers_saml.samlprovider: '#/components/schemas/SAMLProviderRequest' + authentik_providers_scim.scimprovider: '#/components/schemas/SCIMProviderRequest' + securitySchemes: + authentik: + type: http + scheme: bearer +servers: +- url: /api/v3/ diff --git a/src/apis/admin_api.rs b/src/apis/admin_api.rs new file mode 100644 index 0000000..f33c273 --- /dev/null +++ b/src/apis/admin_api.rs @@ -0,0 +1,478 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use super::{configuration, Error}; +use crate::{apis::ResponseContent, models}; +use reqwest; +use serde::{Deserialize, Serialize}; + +/// struct for typed errors of method [`admin_apps_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AdminAppsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`admin_metrics_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AdminMetricsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`admin_models_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AdminModelsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`admin_settings_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AdminSettingsPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`admin_settings_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AdminSettingsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`admin_settings_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AdminSettingsUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`admin_system_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AdminSystemCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`admin_system_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AdminSystemRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`admin_version_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AdminVersionRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`admin_workers_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AdminWorkersRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// Read-only view list all installed apps +pub async fn admin_apps_list( + configuration: &configuration::Configuration, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/admin/apps/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Login Metrics per 1h +pub async fn admin_metrics_retrieve( + configuration: &configuration::Configuration, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/admin/metrics/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Read-only view list all installed models +pub async fn admin_models_list( + configuration: &configuration::Configuration, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/admin/models/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Settings view +pub async fn admin_settings_partial_update( + configuration: &configuration::Configuration, + patched_settings_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/admin/settings/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_settings_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Settings view +pub async fn admin_settings_retrieve( + configuration: &configuration::Configuration, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/admin/settings/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Settings view +pub async fn admin_settings_update( + configuration: &configuration::Configuration, + settings_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/admin/settings/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&settings_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get system information. +pub async fn admin_system_create( + configuration: &configuration::Configuration, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/admin/system/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get system information. +pub async fn admin_system_retrieve( + configuration: &configuration::Configuration, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/admin/system/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get running and latest version. +pub async fn admin_version_retrieve( + configuration: &configuration::Configuration, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/admin/version/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get currently connected worker count. +pub async fn admin_workers_retrieve( + configuration: &configuration::Configuration, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/admin/workers/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} diff --git a/src/apis/authenticators_api.rs b/src/apis/authenticators_api.rs new file mode 100644 index 0000000..bb7d1a5 --- /dev/null +++ b/src/apis/authenticators_api.rs @@ -0,0 +1,3377 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use super::{configuration, Error}; +use crate::{apis::ResponseContent, models}; +use reqwest; +use serde::{Deserialize, Serialize}; + +/// struct for typed errors of method [`authenticators_admin_all_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminAllListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_duo_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminDuoCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_duo_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminDuoDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_duo_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminDuoListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_duo_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminDuoPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_duo_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminDuoRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_duo_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminDuoUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_sms_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminSmsCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_sms_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminSmsDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_sms_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminSmsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_sms_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminSmsPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_sms_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminSmsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_sms_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminSmsUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_static_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminStaticCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_static_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminStaticDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_static_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminStaticListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_static_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminStaticPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_static_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminStaticRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_static_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminStaticUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_totp_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminTotpCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_totp_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminTotpDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_totp_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminTotpListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_totp_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminTotpPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_totp_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminTotpRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_totp_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminTotpUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_webauthn_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminWebauthnCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_webauthn_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminWebauthnDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_webauthn_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminWebauthnListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_webauthn_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminWebauthnPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_webauthn_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminWebauthnRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_admin_webauthn_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAdminWebauthnUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_all_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsAllListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_duo_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsDuoDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_duo_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsDuoListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_duo_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsDuoPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_duo_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsDuoRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_duo_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsDuoUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_duo_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsDuoUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_sms_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsSmsDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_sms_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsSmsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_sms_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsSmsPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_sms_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsSmsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_sms_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsSmsUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_sms_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsSmsUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_static_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsStaticDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_static_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsStaticListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_static_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsStaticPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_static_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsStaticRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_static_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsStaticUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_static_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsStaticUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_totp_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsTotpDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_totp_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsTotpListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_totp_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsTotpPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_totp_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsTotpRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_totp_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsTotpUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_totp_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsTotpUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_webauthn_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsWebauthnDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_webauthn_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsWebauthnListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_webauthn_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsWebauthnPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_webauthn_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsWebauthnRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_webauthn_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsWebauthnUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`authenticators_webauthn_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AuthenticatorsWebauthnUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// Get all devices for current user +pub async fn authenticators_admin_all_list( + configuration: &configuration::Configuration, + user: Option, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/authenticators/admin/all/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = user { + local_var_req_builder = local_var_req_builder.query(&[("user", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for Duo authenticator devices (for admins) +pub async fn authenticators_admin_duo_create( + configuration: &configuration::Configuration, + duo_device_request: models::DuoDeviceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/authenticators/admin/duo/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&duo_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for Duo authenticator devices (for admins) +pub async fn authenticators_admin_duo_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/admin/duo/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for Duo authenticator devices (for admins) +pub async fn authenticators_admin_duo_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/authenticators/admin/duo/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for Duo authenticator devices (for admins) +pub async fn authenticators_admin_duo_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_duo_device_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/admin/duo/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_duo_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for Duo authenticator devices (for admins) +pub async fn authenticators_admin_duo_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/admin/duo/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for Duo authenticator devices (for admins) +pub async fn authenticators_admin_duo_update( + configuration: &configuration::Configuration, + id: i32, + duo_device_request: models::DuoDeviceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/admin/duo/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&duo_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for sms authenticator devices (for admins) +pub async fn authenticators_admin_sms_create( + configuration: &configuration::Configuration, + sms_device_request: models::SmsDeviceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/authenticators/admin/sms/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&sms_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for sms authenticator devices (for admins) +pub async fn authenticators_admin_sms_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/admin/sms/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for sms authenticator devices (for admins) +pub async fn authenticators_admin_sms_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/authenticators/admin/sms/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for sms authenticator devices (for admins) +pub async fn authenticators_admin_sms_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_sms_device_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/admin/sms/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_sms_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for sms authenticator devices (for admins) +pub async fn authenticators_admin_sms_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/admin/sms/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for sms authenticator devices (for admins) +pub async fn authenticators_admin_sms_update( + configuration: &configuration::Configuration, + id: i32, + sms_device_request: models::SmsDeviceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/admin/sms/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&sms_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for static authenticator devices (for admins) +pub async fn authenticators_admin_static_create( + configuration: &configuration::Configuration, + static_device_request: models::StaticDeviceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/authenticators/admin/static/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&static_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for static authenticator devices (for admins) +pub async fn authenticators_admin_static_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/admin/static/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for static authenticator devices (for admins) +pub async fn authenticators_admin_static_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/authenticators/admin/static/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for static authenticator devices (for admins) +pub async fn authenticators_admin_static_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_static_device_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/admin/static/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_static_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for static authenticator devices (for admins) +pub async fn authenticators_admin_static_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/admin/static/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for static authenticator devices (for admins) +pub async fn authenticators_admin_static_update( + configuration: &configuration::Configuration, + id: i32, + static_device_request: models::StaticDeviceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/admin/static/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&static_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for totp authenticator devices (for admins) +pub async fn authenticators_admin_totp_create( + configuration: &configuration::Configuration, + totp_device_request: models::TotpDeviceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/authenticators/admin/totp/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&totp_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for totp authenticator devices (for admins) +pub async fn authenticators_admin_totp_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/admin/totp/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for totp authenticator devices (for admins) +pub async fn authenticators_admin_totp_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/authenticators/admin/totp/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for totp authenticator devices (for admins) +pub async fn authenticators_admin_totp_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_totp_device_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/admin/totp/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_totp_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for totp authenticator devices (for admins) +pub async fn authenticators_admin_totp_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/admin/totp/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for totp authenticator devices (for admins) +pub async fn authenticators_admin_totp_update( + configuration: &configuration::Configuration, + id: i32, + totp_device_request: models::TotpDeviceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/admin/totp/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&totp_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for WebAuthn authenticator devices (for admins) +pub async fn authenticators_admin_webauthn_create( + configuration: &configuration::Configuration, + web_authn_device_request: models::WebAuthnDeviceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/authenticators/admin/webauthn/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&web_authn_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for WebAuthn authenticator devices (for admins) +pub async fn authenticators_admin_webauthn_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/admin/webauthn/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for WebAuthn authenticator devices (for admins) +pub async fn authenticators_admin_webauthn_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/authenticators/admin/webauthn/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for WebAuthn authenticator devices (for admins) +pub async fn authenticators_admin_webauthn_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_web_authn_device_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/admin/webauthn/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_web_authn_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for WebAuthn authenticator devices (for admins) +pub async fn authenticators_admin_webauthn_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/admin/webauthn/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for WebAuthn authenticator devices (for admins) +pub async fn authenticators_admin_webauthn_update( + configuration: &configuration::Configuration, + id: i32, + web_authn_device_request: models::WebAuthnDeviceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/admin/webauthn/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&web_authn_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get all devices for current user +pub async fn authenticators_all_list( + configuration: &configuration::Configuration, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/authenticators/all/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for Duo authenticator devices +pub async fn authenticators_duo_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/duo/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for Duo authenticator devices +pub async fn authenticators_duo_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/authenticators/duo/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for Duo authenticator devices +pub async fn authenticators_duo_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_duo_device_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/duo/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_duo_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for Duo authenticator devices +pub async fn authenticators_duo_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/duo/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for Duo authenticator devices +pub async fn authenticators_duo_update( + configuration: &configuration::Configuration, + id: i32, + duo_device_request: models::DuoDeviceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/duo/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&duo_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn authenticators_duo_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/duo/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for sms authenticator devices +pub async fn authenticators_sms_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/sms/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for sms authenticator devices +pub async fn authenticators_sms_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/authenticators/sms/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for sms authenticator devices +pub async fn authenticators_sms_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_sms_device_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/sms/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_sms_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for sms authenticator devices +pub async fn authenticators_sms_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/sms/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for sms authenticator devices +pub async fn authenticators_sms_update( + configuration: &configuration::Configuration, + id: i32, + sms_device_request: models::SmsDeviceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/sms/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&sms_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn authenticators_sms_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/sms/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for static authenticator devices +pub async fn authenticators_static_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/static/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for static authenticator devices +pub async fn authenticators_static_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/authenticators/static/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for static authenticator devices +pub async fn authenticators_static_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_static_device_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/static/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_static_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for static authenticator devices +pub async fn authenticators_static_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/static/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for static authenticator devices +pub async fn authenticators_static_update( + configuration: &configuration::Configuration, + id: i32, + static_device_request: models::StaticDeviceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/static/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&static_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn authenticators_static_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/static/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for totp authenticator devices +pub async fn authenticators_totp_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/totp/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for totp authenticator devices +pub async fn authenticators_totp_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/authenticators/totp/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for totp authenticator devices +pub async fn authenticators_totp_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_totp_device_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/totp/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_totp_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for totp authenticator devices +pub async fn authenticators_totp_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/totp/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for totp authenticator devices +pub async fn authenticators_totp_update( + configuration: &configuration::Configuration, + id: i32, + totp_device_request: models::TotpDeviceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/totp/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&totp_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn authenticators_totp_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/totp/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for WebAuthn authenticator devices +pub async fn authenticators_webauthn_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/webauthn/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for WebAuthn authenticator devices +pub async fn authenticators_webauthn_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/authenticators/webauthn/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for WebAuthn authenticator devices +pub async fn authenticators_webauthn_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_web_authn_device_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/webauthn/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_web_authn_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for WebAuthn authenticator devices +pub async fn authenticators_webauthn_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/webauthn/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Viewset for WebAuthn authenticator devices +pub async fn authenticators_webauthn_update( + configuration: &configuration::Configuration, + id: i32, + web_authn_device_request: models::WebAuthnDeviceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/webauthn/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&web_authn_device_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn authenticators_webauthn_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/authenticators/webauthn/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} diff --git a/src/apis/configuration.rs b/src/apis/configuration.rs new file mode 100644 index 0000000..02d33d7 --- /dev/null +++ b/src/apis/configuration.rs @@ -0,0 +1,49 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +#[derive(Debug, Clone)] +pub struct Configuration { + pub base_path: String, + pub user_agent: Option, + pub client: reqwest_middleware::ClientWithMiddleware, + pub basic_auth: Option, + pub oauth_access_token: Option, + pub bearer_access_token: Option, + pub api_key: Option, + // TODO: take an oauth2 token source, similar to the go one +} + +pub type BasicAuth = (String, Option); + +#[derive(Debug, Clone)] +pub struct ApiKey { + pub prefix: Option, + pub key: String, +} + +impl Configuration { + pub fn new() -> Configuration { + Configuration::default() + } +} + +impl Default for Configuration { + fn default() -> Self { + Configuration { + base_path: "http://localhost/api/v3".to_owned(), + user_agent: Some("OpenAPI-Generator/2024.8.3/rust".to_owned()), + client: reqwest_middleware::ClientBuilder::new(reqwest::Client::new()).build(), + basic_auth: None, + oauth_access_token: None, + bearer_access_token: None, + api_key: None, + } + } +} diff --git a/src/apis/core_api.rs b/src/apis/core_api.rs new file mode 100644 index 0000000..9377e4f --- /dev/null +++ b/src/apis/core_api.rs @@ -0,0 +1,3548 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use super::{configuration, Error}; +use crate::{apis::ResponseContent, models}; +use reqwest; +use serde::{Deserialize, Serialize}; + +/// struct for typed errors of method [`core_applications_check_access_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreApplicationsCheckAccessRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_applications_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreApplicationsCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_applications_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreApplicationsDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_applications_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreApplicationsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_applications_metrics_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreApplicationsMetricsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_applications_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreApplicationsPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_applications_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreApplicationsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_applications_set_icon_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreApplicationsSetIconCreateError { + Status400(), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_applications_set_icon_url_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreApplicationsSetIconUrlCreateError { + Status400(), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_applications_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreApplicationsUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_applications_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreApplicationsUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_authenticated_sessions_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreAuthenticatedSessionsDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_authenticated_sessions_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreAuthenticatedSessionsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_authenticated_sessions_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreAuthenticatedSessionsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_authenticated_sessions_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreAuthenticatedSessionsUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_brands_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreBrandsCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_brands_current_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreBrandsCurrentRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_brands_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreBrandsDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_brands_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreBrandsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_brands_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreBrandsPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_brands_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreBrandsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_brands_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreBrandsUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_brands_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreBrandsUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_groups_add_user_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreGroupsAddUserCreateError { + Status404(), + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_groups_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreGroupsCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_groups_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreGroupsDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_groups_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreGroupsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_groups_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreGroupsPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_groups_remove_user_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreGroupsRemoveUserCreateError { + Status404(), + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_groups_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreGroupsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_groups_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreGroupsUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_groups_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreGroupsUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_tokens_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreTokensCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_tokens_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreTokensDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_tokens_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreTokensListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_tokens_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreTokensPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_tokens_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreTokensRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_tokens_set_key_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreTokensSetKeyCreateError { + Status400(), + Status404(), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_tokens_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreTokensUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_tokens_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreTokensUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_tokens_view_key_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreTokensViewKeyRetrieveError { + Status404(), + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_transactional_applications_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreTransactionalApplicationsUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_user_consent_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreUserConsentDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_user_consent_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreUserConsentListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_user_consent_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreUserConsentRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_user_consent_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreUserConsentUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_users_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreUsersCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_users_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreUsersDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_users_impersonate_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreUsersImpersonateCreateError { + Status401(), + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_users_impersonate_end_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreUsersImpersonateEndRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_users_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreUsersListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_users_me_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreUsersMeRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_users_metrics_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreUsersMetricsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_users_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreUsersPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_users_paths_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreUsersPathsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_users_recovery_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreUsersRecoveryCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_users_recovery_email_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreUsersRecoveryEmailCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_users_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreUsersRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_users_service_account_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreUsersServiceAccountCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_users_set_password_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreUsersSetPasswordCreateError { + Status400(), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_users_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreUsersUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`core_users_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CoreUsersUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// Check access to a single application by slug +pub async fn core_applications_check_access_retrieve( + configuration: &configuration::Configuration, + slug: &str, + for_user: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/applications/{slug}/check_access/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = for_user { + local_var_req_builder = local_var_req_builder.query(&[("for_user", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Application Viewset +pub async fn core_applications_create( + configuration: &configuration::Configuration, + application_request: models::ApplicationRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/applications/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&application_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Application Viewset +pub async fn core_applications_destroy( + configuration: &configuration::Configuration, + slug: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/applications/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Custom list method that checks Policy based access instead of guardian +pub async fn core_applications_list( + configuration: &configuration::Configuration, + for_user: Option, + group: Option<&str>, + meta_description: Option<&str>, + meta_launch_url: Option<&str>, + meta_publisher: Option<&str>, + name: Option<&str>, + only_with_launch_url: Option, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + slug: Option<&str>, + superuser_full_list: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/applications/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = for_user { + local_var_req_builder = local_var_req_builder.query(&[("for_user", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = group { + local_var_req_builder = local_var_req_builder.query(&[("group", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = meta_description { + local_var_req_builder = local_var_req_builder.query(&[("meta_description", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = meta_launch_url { + local_var_req_builder = local_var_req_builder.query(&[("meta_launch_url", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = meta_publisher { + local_var_req_builder = local_var_req_builder.query(&[("meta_publisher", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = only_with_launch_url { + local_var_req_builder = local_var_req_builder.query(&[("only_with_launch_url", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = slug { + local_var_req_builder = local_var_req_builder.query(&[("slug", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = superuser_full_list { + local_var_req_builder = local_var_req_builder.query(&[("superuser_full_list", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Metrics for application logins +pub async fn core_applications_metrics_list( + configuration: &configuration::Configuration, + slug: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/applications/{slug}/metrics/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Application Viewset +pub async fn core_applications_partial_update( + configuration: &configuration::Configuration, + slug: &str, + patched_application_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/applications/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_application_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Application Viewset +pub async fn core_applications_retrieve( + configuration: &configuration::Configuration, + slug: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/applications/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Set application icon +pub async fn core_applications_set_icon_create( + configuration: &configuration::Configuration, + slug: &str, + file: Option, + clear: Option, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/applications/{slug}/set_icon/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + let mut local_var_form = reqwest::multipart::Form::new(); + // TODO: support file upload for 'file' parameter + if let Some(local_var_param_value) = clear { + local_var_form = local_var_form.text("clear", local_var_param_value.to_string()); + } + local_var_req_builder = local_var_req_builder.multipart(local_var_form); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Set application icon (as URL) +pub async fn core_applications_set_icon_url_create( + configuration: &configuration::Configuration, + slug: &str, + file_path_request: models::FilePathRequest, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/applications/{slug}/set_icon_url/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&file_path_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Application Viewset +pub async fn core_applications_update( + configuration: &configuration::Configuration, + slug: &str, + application_request: models::ApplicationRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/applications/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&application_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn core_applications_used_by_list( + configuration: &configuration::Configuration, + slug: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/applications/{slug}/used_by/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatedSession Viewset +pub async fn core_authenticated_sessions_destroy( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/authenticated_sessions/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatedSession Viewset +pub async fn core_authenticated_sessions_list( + configuration: &configuration::Configuration, + last_ip: Option<&str>, + last_user_agent: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + user__username: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/authenticated_sessions/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = last_ip { + local_var_req_builder = local_var_req_builder.query(&[("last_ip", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = last_user_agent { + local_var_req_builder = local_var_req_builder.query(&[("last_user_agent", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user__username { + local_var_req_builder = local_var_req_builder.query(&[("user__username", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatedSession Viewset +pub async fn core_authenticated_sessions_retrieve( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/authenticated_sessions/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn core_authenticated_sessions_used_by_list( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/authenticated_sessions/{uuid}/used_by/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Brand Viewset +pub async fn core_brands_create( + configuration: &configuration::Configuration, + brand_request: models::BrandRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/brands/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&brand_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get current brand +pub async fn core_brands_current_retrieve( + configuration: &configuration::Configuration, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/brands/current/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Brand Viewset +pub async fn core_brands_destroy( + configuration: &configuration::Configuration, + brand_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/brands/{brand_uuid}/", + local_var_configuration.base_path, + brand_uuid = crate::apis::urlencode(brand_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Brand Viewset +pub async fn core_brands_list( + configuration: &configuration::Configuration, + brand_uuid: Option<&str>, + branding_favicon: Option<&str>, + branding_logo: Option<&str>, + branding_title: Option<&str>, + default: Option, + domain: Option<&str>, + flow_authentication: Option<&str>, + flow_device_code: Option<&str>, + flow_invalidation: Option<&str>, + flow_recovery: Option<&str>, + flow_unenrollment: Option<&str>, + flow_user_settings: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + web_certificate: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/brands/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = brand_uuid { + local_var_req_builder = local_var_req_builder.query(&[("brand_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = branding_favicon { + local_var_req_builder = local_var_req_builder.query(&[("branding_favicon", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = branding_logo { + local_var_req_builder = local_var_req_builder.query(&[("branding_logo", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = branding_title { + local_var_req_builder = local_var_req_builder.query(&[("branding_title", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = default { + local_var_req_builder = local_var_req_builder.query(&[("default", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = domain { + local_var_req_builder = local_var_req_builder.query(&[("domain", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = flow_authentication { + local_var_req_builder = local_var_req_builder.query(&[("flow_authentication", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = flow_device_code { + local_var_req_builder = local_var_req_builder.query(&[("flow_device_code", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = flow_invalidation { + local_var_req_builder = local_var_req_builder.query(&[("flow_invalidation", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = flow_recovery { + local_var_req_builder = local_var_req_builder.query(&[("flow_recovery", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = flow_unenrollment { + local_var_req_builder = local_var_req_builder.query(&[("flow_unenrollment", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = flow_user_settings { + local_var_req_builder = local_var_req_builder.query(&[("flow_user_settings", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = web_certificate { + local_var_req_builder = local_var_req_builder.query(&[("web_certificate", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Brand Viewset +pub async fn core_brands_partial_update( + configuration: &configuration::Configuration, + brand_uuid: &str, + patched_brand_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/brands/{brand_uuid}/", + local_var_configuration.base_path, + brand_uuid = crate::apis::urlencode(brand_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_brand_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Brand Viewset +pub async fn core_brands_retrieve( + configuration: &configuration::Configuration, + brand_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/brands/{brand_uuid}/", + local_var_configuration.base_path, + brand_uuid = crate::apis::urlencode(brand_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Brand Viewset +pub async fn core_brands_update( + configuration: &configuration::Configuration, + brand_uuid: &str, + brand_request: models::BrandRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/brands/{brand_uuid}/", + local_var_configuration.base_path, + brand_uuid = crate::apis::urlencode(brand_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&brand_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn core_brands_used_by_list( + configuration: &configuration::Configuration, + brand_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/brands/{brand_uuid}/used_by/", + local_var_configuration.base_path, + brand_uuid = crate::apis::urlencode(brand_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Add user to group +pub async fn core_groups_add_user_create( + configuration: &configuration::Configuration, + group_uuid: &str, + user_account_request: models::UserAccountRequest, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/groups/{group_uuid}/add_user/", + local_var_configuration.base_path, + group_uuid = crate::apis::urlencode(group_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&user_account_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Group Viewset +pub async fn core_groups_create( + configuration: &configuration::Configuration, + group_request: models::GroupRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/groups/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&group_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Group Viewset +pub async fn core_groups_destroy( + configuration: &configuration::Configuration, + group_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/groups/{group_uuid}/", + local_var_configuration.base_path, + group_uuid = crate::apis::urlencode(group_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Group Viewset +pub async fn core_groups_list( + configuration: &configuration::Configuration, + attributes: Option<&str>, + include_users: Option, + is_superuser: Option, + members_by_pk: Option>, + members_by_username: Option>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/groups/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = attributes { + local_var_req_builder = local_var_req_builder.query(&[("attributes", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = include_users { + local_var_req_builder = local_var_req_builder.query(&[("include_users", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = is_superuser { + local_var_req_builder = local_var_req_builder.query(&[("is_superuser", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = members_by_pk { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("members_by_pk".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "members_by_pk", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = members_by_username { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("members_by_username".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "members_by_username", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Group Viewset +pub async fn core_groups_partial_update( + configuration: &configuration::Configuration, + group_uuid: &str, + patched_group_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/groups/{group_uuid}/", + local_var_configuration.base_path, + group_uuid = crate::apis::urlencode(group_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_group_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Add user to group +pub async fn core_groups_remove_user_create( + configuration: &configuration::Configuration, + group_uuid: &str, + user_account_request: models::UserAccountRequest, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/groups/{group_uuid}/remove_user/", + local_var_configuration.base_path, + group_uuid = crate::apis::urlencode(group_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&user_account_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Group Viewset +pub async fn core_groups_retrieve( + configuration: &configuration::Configuration, + group_uuid: &str, + include_users: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/groups/{group_uuid}/", + local_var_configuration.base_path, + group_uuid = crate::apis::urlencode(group_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = include_users { + local_var_req_builder = local_var_req_builder.query(&[("include_users", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Group Viewset +pub async fn core_groups_update( + configuration: &configuration::Configuration, + group_uuid: &str, + group_request: models::GroupRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/groups/{group_uuid}/", + local_var_configuration.base_path, + group_uuid = crate::apis::urlencode(group_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&group_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn core_groups_used_by_list( + configuration: &configuration::Configuration, + group_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/groups/{group_uuid}/used_by/", + local_var_configuration.base_path, + group_uuid = crate::apis::urlencode(group_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Token Viewset +pub async fn core_tokens_create( + configuration: &configuration::Configuration, + token_request: models::TokenRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/tokens/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&token_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Token Viewset +pub async fn core_tokens_destroy( + configuration: &configuration::Configuration, + identifier: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/tokens/{identifier}/", + local_var_configuration.base_path, + identifier = crate::apis::urlencode(identifier) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Token Viewset +pub async fn core_tokens_list( + configuration: &configuration::Configuration, + description: Option<&str>, + expires: Option, + expiring: Option, + identifier: Option<&str>, + intent: Option<&str>, + managed: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + user__username: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/tokens/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = description { + local_var_req_builder = local_var_req_builder.query(&[("description", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = expires { + local_var_req_builder = local_var_req_builder.query(&[("expires", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = expiring { + local_var_req_builder = local_var_req_builder.query(&[("expiring", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = identifier { + local_var_req_builder = local_var_req_builder.query(&[("identifier", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = intent { + local_var_req_builder = local_var_req_builder.query(&[("intent", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = managed { + local_var_req_builder = local_var_req_builder.query(&[("managed", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user__username { + local_var_req_builder = local_var_req_builder.query(&[("user__username", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Token Viewset +pub async fn core_tokens_partial_update( + configuration: &configuration::Configuration, + identifier: &str, + patched_token_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/tokens/{identifier}/", + local_var_configuration.base_path, + identifier = crate::apis::urlencode(identifier) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_token_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Token Viewset +pub async fn core_tokens_retrieve( + configuration: &configuration::Configuration, + identifier: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/tokens/{identifier}/", + local_var_configuration.base_path, + identifier = crate::apis::urlencode(identifier) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Set token key. Action is logged as event. `authentik_core.set_token_key` permission is required. +pub async fn core_tokens_set_key_create( + configuration: &configuration::Configuration, + identifier: &str, + token_set_key_request: models::TokenSetKeyRequest, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/tokens/{identifier}/set_key/", + local_var_configuration.base_path, + identifier = crate::apis::urlencode(identifier) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&token_set_key_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Token Viewset +pub async fn core_tokens_update( + configuration: &configuration::Configuration, + identifier: &str, + token_request: models::TokenRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/tokens/{identifier}/", + local_var_configuration.base_path, + identifier = crate::apis::urlencode(identifier) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&token_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn core_tokens_used_by_list( + configuration: &configuration::Configuration, + identifier: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/tokens/{identifier}/used_by/", + local_var_configuration.base_path, + identifier = crate::apis::urlencode(identifier) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Return token key and log access +pub async fn core_tokens_view_key_retrieve( + configuration: &configuration::Configuration, + identifier: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/tokens/{identifier}/view_key/", + local_var_configuration.base_path, + identifier = crate::apis::urlencode(identifier) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Convert data into a blueprint, validate it and apply it +pub async fn core_transactional_applications_update( + configuration: &configuration::Configuration, + transaction_application_request: models::TransactionApplicationRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/transactional/applications/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&transaction_application_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserConsent Viewset +pub async fn core_user_consent_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/user_consent/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserConsent Viewset +pub async fn core_user_consent_list( + configuration: &configuration::Configuration, + application: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + user: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/user_consent/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = application { + local_var_req_builder = local_var_req_builder.query(&[("application", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user { + local_var_req_builder = local_var_req_builder.query(&[("user", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserConsent Viewset +pub async fn core_user_consent_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/user_consent/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn core_user_consent_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/user_consent/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// User Viewset +pub async fn core_users_create( + configuration: &configuration::Configuration, + user_request: models::UserRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/users/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&user_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// User Viewset +pub async fn core_users_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/users/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Impersonate a user +pub async fn core_users_impersonate_create( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/users/{id}/impersonate/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// End Impersonation a user +pub async fn core_users_impersonate_end_retrieve( + configuration: &configuration::Configuration, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/users/impersonate_end/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// User Viewset +pub async fn core_users_list( + configuration: &configuration::Configuration, + attributes: Option<&str>, + email: Option<&str>, + groups_by_name: Option>, + groups_by_pk: Option>, + include_groups: Option, + is_active: Option, + is_superuser: Option, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + path: Option<&str>, + path_startswith: Option<&str>, + search: Option<&str>, + r#type: Option>, + username: Option<&str>, + uuid: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/users/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = attributes { + local_var_req_builder = local_var_req_builder.query(&[("attributes", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = email { + local_var_req_builder = local_var_req_builder.query(&[("email", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = groups_by_name { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("groups_by_name".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "groups_by_name", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = groups_by_pk { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("groups_by_pk".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "groups_by_pk", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = include_groups { + local_var_req_builder = local_var_req_builder.query(&[("include_groups", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = is_active { + local_var_req_builder = local_var_req_builder.query(&[("is_active", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = is_superuser { + local_var_req_builder = local_var_req_builder.query(&[("is_superuser", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = path { + local_var_req_builder = local_var_req_builder.query(&[("path", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = path_startswith { + local_var_req_builder = local_var_req_builder.query(&[("path_startswith", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = r#type { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("type".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "type", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = username { + local_var_req_builder = local_var_req_builder.query(&[("username", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = uuid { + local_var_req_builder = local_var_req_builder.query(&[("uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get information about current user +pub async fn core_users_me_retrieve( + configuration: &configuration::Configuration, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/users/me/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// User metrics per 1h +pub async fn core_users_metrics_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/users/{id}/metrics/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// User Viewset +pub async fn core_users_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_user_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/users/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_user_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get all user paths +pub async fn core_users_paths_retrieve( + configuration: &configuration::Configuration, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/users/paths/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Create a temporary link that a user can use to recover their accounts +pub async fn core_users_recovery_create( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/users/{id}/recovery/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Create a temporary link that a user can use to recover their accounts +pub async fn core_users_recovery_email_create( + configuration: &configuration::Configuration, + email_stage: &str, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/users/{id}/recovery_email/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + local_var_req_builder = local_var_req_builder.query(&[("email_stage", &email_stage.to_string())]); + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// User Viewset +pub async fn core_users_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/users/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Create a new user account that is marked as a service account +pub async fn core_users_service_account_create( + configuration: &configuration::Configuration, + user_service_account_request: models::UserServiceAccountRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/users/service_account/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&user_service_account_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Set password for user +pub async fn core_users_set_password_create( + configuration: &configuration::Configuration, + id: i32, + user_password_set_request: models::UserPasswordSetRequest, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/users/{id}/set_password/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&user_password_set_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// User Viewset +pub async fn core_users_update( + configuration: &configuration::Configuration, + id: i32, + user_request: models::UserRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/core/users/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&user_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn core_users_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/core/users/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} diff --git a/src/apis/crypto_api.rs b/src/apis/crypto_api.rs new file mode 100644 index 0000000..f23fd24 --- /dev/null +++ b/src/apis/crypto_api.rs @@ -0,0 +1,570 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use super::{configuration, Error}; +use crate::{apis::ResponseContent, models}; +use reqwest; +use serde::{Deserialize, Serialize}; + +/// struct for typed errors of method [`crypto_certificatekeypairs_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CryptoCertificatekeypairsCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`crypto_certificatekeypairs_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CryptoCertificatekeypairsDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`crypto_certificatekeypairs_generate_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CryptoCertificatekeypairsGenerateCreateError { + Status400(), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`crypto_certificatekeypairs_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CryptoCertificatekeypairsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`crypto_certificatekeypairs_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CryptoCertificatekeypairsPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`crypto_certificatekeypairs_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CryptoCertificatekeypairsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`crypto_certificatekeypairs_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CryptoCertificatekeypairsUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`crypto_certificatekeypairs_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CryptoCertificatekeypairsUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`crypto_certificatekeypairs_view_certificate_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CryptoCertificatekeypairsViewCertificateRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`crypto_certificatekeypairs_view_private_key_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CryptoCertificatekeypairsViewPrivateKeyRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// CertificateKeyPair Viewset +pub async fn crypto_certificatekeypairs_create( + configuration: &configuration::Configuration, + certificate_key_pair_request: models::CertificateKeyPairRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/crypto/certificatekeypairs/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&certificate_key_pair_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// CertificateKeyPair Viewset +pub async fn crypto_certificatekeypairs_destroy( + configuration: &configuration::Configuration, + kp_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/crypto/certificatekeypairs/{kp_uuid}/", + local_var_configuration.base_path, + kp_uuid = crate::apis::urlencode(kp_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Generate a new, self-signed certificate-key pair +pub async fn crypto_certificatekeypairs_generate_create( + configuration: &configuration::Configuration, + certificate_generation_request: models::CertificateGenerationRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/crypto/certificatekeypairs/generate/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&certificate_generation_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// CertificateKeyPair Viewset +pub async fn crypto_certificatekeypairs_list( + configuration: &configuration::Configuration, + has_key: Option, + include_details: Option, + managed: Option<&str>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/crypto/certificatekeypairs/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = has_key { + local_var_req_builder = local_var_req_builder.query(&[("has_key", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = include_details { + local_var_req_builder = local_var_req_builder.query(&[("include_details", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = managed { + local_var_req_builder = local_var_req_builder.query(&[("managed", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// CertificateKeyPair Viewset +pub async fn crypto_certificatekeypairs_partial_update( + configuration: &configuration::Configuration, + kp_uuid: &str, + patched_certificate_key_pair_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/crypto/certificatekeypairs/{kp_uuid}/", + local_var_configuration.base_path, + kp_uuid = crate::apis::urlencode(kp_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_certificate_key_pair_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// CertificateKeyPair Viewset +pub async fn crypto_certificatekeypairs_retrieve( + configuration: &configuration::Configuration, + kp_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/crypto/certificatekeypairs/{kp_uuid}/", + local_var_configuration.base_path, + kp_uuid = crate::apis::urlencode(kp_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// CertificateKeyPair Viewset +pub async fn crypto_certificatekeypairs_update( + configuration: &configuration::Configuration, + kp_uuid: &str, + certificate_key_pair_request: models::CertificateKeyPairRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/crypto/certificatekeypairs/{kp_uuid}/", + local_var_configuration.base_path, + kp_uuid = crate::apis::urlencode(kp_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&certificate_key_pair_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn crypto_certificatekeypairs_used_by_list( + configuration: &configuration::Configuration, + kp_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/crypto/certificatekeypairs/{kp_uuid}/used_by/", + local_var_configuration.base_path, + kp_uuid = crate::apis::urlencode(kp_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Return certificate-key pairs certificate and log access +pub async fn crypto_certificatekeypairs_view_certificate_retrieve( + configuration: &configuration::Configuration, + kp_uuid: &str, + download: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/crypto/certificatekeypairs/{kp_uuid}/view_certificate/", + local_var_configuration.base_path, + kp_uuid = crate::apis::urlencode(kp_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = download { + local_var_req_builder = local_var_req_builder.query(&[("download", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Return certificate-key pairs private key and log access +pub async fn crypto_certificatekeypairs_view_private_key_retrieve( + configuration: &configuration::Configuration, + kp_uuid: &str, + download: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/crypto/certificatekeypairs/{kp_uuid}/view_private_key/", + local_var_configuration.base_path, + kp_uuid = crate::apis::urlencode(kp_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = download { + local_var_req_builder = local_var_req_builder.query(&[("download", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} diff --git a/src/apis/enterprise_api.rs b/src/apis/enterprise_api.rs new file mode 100644 index 0000000..04328c3 --- /dev/null +++ b/src/apis/enterprise_api.rs @@ -0,0 +1,533 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use super::{configuration, Error}; +use crate::{apis::ResponseContent, models}; +use reqwest; +use serde::{Deserialize, Serialize}; + +/// struct for typed errors of method [`enterprise_license_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EnterpriseLicenseCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`enterprise_license_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EnterpriseLicenseDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`enterprise_license_forecast_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EnterpriseLicenseForecastRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`enterprise_license_install_id_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EnterpriseLicenseInstallIdRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`enterprise_license_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EnterpriseLicenseListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`enterprise_license_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EnterpriseLicensePartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`enterprise_license_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EnterpriseLicenseRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`enterprise_license_summary_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EnterpriseLicenseSummaryRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`enterprise_license_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EnterpriseLicenseUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`enterprise_license_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EnterpriseLicenseUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// License Viewset +pub async fn enterprise_license_create( + configuration: &configuration::Configuration, + license_request: models::LicenseRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/enterprise/license/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&license_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// License Viewset +pub async fn enterprise_license_destroy( + configuration: &configuration::Configuration, + license_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/enterprise/license/{license_uuid}/", + local_var_configuration.base_path, + license_uuid = crate::apis::urlencode(license_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Forecast how many users will be required in a year +pub async fn enterprise_license_forecast_retrieve( + configuration: &configuration::Configuration, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/enterprise/license/forecast/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get install_id +pub async fn enterprise_license_install_id_retrieve( + configuration: &configuration::Configuration, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/enterprise/license/install_id/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// License Viewset +pub async fn enterprise_license_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/enterprise/license/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// License Viewset +pub async fn enterprise_license_partial_update( + configuration: &configuration::Configuration, + license_uuid: &str, + patched_license_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/enterprise/license/{license_uuid}/", + local_var_configuration.base_path, + license_uuid = crate::apis::urlencode(license_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_license_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// License Viewset +pub async fn enterprise_license_retrieve( + configuration: &configuration::Configuration, + license_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/enterprise/license/{license_uuid}/", + local_var_configuration.base_path, + license_uuid = crate::apis::urlencode(license_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get the total license status +pub async fn enterprise_license_summary_retrieve( + configuration: &configuration::Configuration, + cached: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/enterprise/license/summary/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = cached { + local_var_req_builder = local_var_req_builder.query(&[("cached", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// License Viewset +pub async fn enterprise_license_update( + configuration: &configuration::Configuration, + license_uuid: &str, + license_request: models::LicenseRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/enterprise/license/{license_uuid}/", + local_var_configuration.base_path, + license_uuid = crate::apis::urlencode(license_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&license_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn enterprise_license_used_by_list( + configuration: &configuration::Configuration, + license_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/enterprise/license/{license_uuid}/used_by/", + local_var_configuration.base_path, + license_uuid = crate::apis::urlencode(license_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} diff --git a/src/apis/events_api.rs b/src/apis/events_api.rs new file mode 100644 index 0000000..5104ef0 --- /dev/null +++ b/src/apis/events_api.rs @@ -0,0 +1,1998 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use super::{configuration, Error}; +use crate::{apis::ResponseContent, models}; +use reqwest; +use serde::{Deserialize, Serialize}; + +/// struct for typed errors of method [`events_events_actions_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsEventsActionsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_events_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsEventsCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_events_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsEventsDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_events_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsEventsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_events_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsEventsPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_events_per_month_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsEventsPerMonthListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_events_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsEventsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_events_top_per_user_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsEventsTopPerUserListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_events_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsEventsUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_events_volume_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsEventsVolumeListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_notifications_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsNotificationsDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_notifications_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsNotificationsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_notifications_mark_all_seen_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsNotificationsMarkAllSeenCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_notifications_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsNotificationsPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_notifications_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsNotificationsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_notifications_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsNotificationsUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_notifications_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsNotificationsUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_rules_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsRulesCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_rules_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsRulesDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_rules_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsRulesListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_rules_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsRulesPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_rules_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsRulesRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_rules_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsRulesUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_rules_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsRulesUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_system_tasks_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsSystemTasksListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_system_tasks_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsSystemTasksRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_system_tasks_run_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsSystemTasksRunCreateError { + Status404(), + Status500(), + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_transports_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsTransportsCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_transports_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsTransportsDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_transports_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsTransportsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_transports_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsTransportsPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_transports_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsTransportsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_transports_test_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsTransportsTestCreateError { + Status500(), + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_transports_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsTransportsUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`events_transports_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EventsTransportsUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// Get all actions +pub async fn events_events_actions_list( + configuration: &configuration::Configuration, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/events/events/actions/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Event Read-Only Viewset +pub async fn events_events_create( + configuration: &configuration::Configuration, + event_request: models::EventRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/events/events/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&event_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Event Read-Only Viewset +pub async fn events_events_destroy( + configuration: &configuration::Configuration, + event_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/events/events/{event_uuid}/", + local_var_configuration.base_path, + event_uuid = crate::apis::urlencode(event_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Event Read-Only Viewset +pub async fn events_events_list( + configuration: &configuration::Configuration, + action: Option<&str>, + brand_name: Option<&str>, + client_ip: Option<&str>, + context_authorized_app: Option<&str>, + context_model_app: Option<&str>, + context_model_name: Option<&str>, + context_model_pk: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + username: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/events/events/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = action { + local_var_req_builder = local_var_req_builder.query(&[("action", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = brand_name { + local_var_req_builder = local_var_req_builder.query(&[("brand_name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = client_ip { + local_var_req_builder = local_var_req_builder.query(&[("client_ip", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = context_authorized_app { + local_var_req_builder = local_var_req_builder.query(&[("context_authorized_app", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = context_model_app { + local_var_req_builder = local_var_req_builder.query(&[("context_model_app", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = context_model_name { + local_var_req_builder = local_var_req_builder.query(&[("context_model_name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = context_model_pk { + local_var_req_builder = local_var_req_builder.query(&[("context_model_pk", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = username { + local_var_req_builder = local_var_req_builder.query(&[("username", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Event Read-Only Viewset +pub async fn events_events_partial_update( + configuration: &configuration::Configuration, + event_uuid: &str, + patched_event_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/events/events/{event_uuid}/", + local_var_configuration.base_path, + event_uuid = crate::apis::urlencode(event_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_event_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get the count of events per month +pub async fn events_events_per_month_list( + configuration: &configuration::Configuration, + action: Option<&str>, + query: Option<&str>, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/events/events/per_month/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = action { + local_var_req_builder = local_var_req_builder.query(&[("action", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = query { + local_var_req_builder = local_var_req_builder.query(&[("query", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Event Read-Only Viewset +pub async fn events_events_retrieve( + configuration: &configuration::Configuration, + event_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/events/events/{event_uuid}/", + local_var_configuration.base_path, + event_uuid = crate::apis::urlencode(event_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get the top_n events grouped by user count +pub async fn events_events_top_per_user_list( + configuration: &configuration::Configuration, + action: Option<&str>, + top_n: Option, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/events/events/top_per_user/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = action { + local_var_req_builder = local_var_req_builder.query(&[("action", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = top_n { + local_var_req_builder = local_var_req_builder.query(&[("top_n", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Event Read-Only Viewset +pub async fn events_events_update( + configuration: &configuration::Configuration, + event_uuid: &str, + event_request: models::EventRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/events/events/{event_uuid}/", + local_var_configuration.base_path, + event_uuid = crate::apis::urlencode(event_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&event_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get event volume for specified filters and timeframe +pub async fn events_events_volume_list( + configuration: &configuration::Configuration, + action: Option<&str>, + brand_name: Option<&str>, + client_ip: Option<&str>, + context_authorized_app: Option<&str>, + context_model_app: Option<&str>, + context_model_name: Option<&str>, + context_model_pk: Option<&str>, + ordering: Option<&str>, + search: Option<&str>, + username: Option<&str>, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/events/events/volume/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = action { + local_var_req_builder = local_var_req_builder.query(&[("action", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = brand_name { + local_var_req_builder = local_var_req_builder.query(&[("brand_name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = client_ip { + local_var_req_builder = local_var_req_builder.query(&[("client_ip", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = context_authorized_app { + local_var_req_builder = local_var_req_builder.query(&[("context_authorized_app", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = context_model_app { + local_var_req_builder = local_var_req_builder.query(&[("context_model_app", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = context_model_name { + local_var_req_builder = local_var_req_builder.query(&[("context_model_name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = context_model_pk { + local_var_req_builder = local_var_req_builder.query(&[("context_model_pk", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = username { + local_var_req_builder = local_var_req_builder.query(&[("username", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Notification Viewset +pub async fn events_notifications_destroy( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/events/notifications/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Notification Viewset +pub async fn events_notifications_list( + configuration: &configuration::Configuration, + body: Option<&str>, + created: Option, + event: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + seen: Option, + severity: Option<&str>, + user: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/events/notifications/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = body { + local_var_req_builder = local_var_req_builder.query(&[("body", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = created { + local_var_req_builder = local_var_req_builder.query(&[("created", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = event { + local_var_req_builder = local_var_req_builder.query(&[("event", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = seen { + local_var_req_builder = local_var_req_builder.query(&[("seen", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = severity { + local_var_req_builder = local_var_req_builder.query(&[("severity", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user { + local_var_req_builder = local_var_req_builder.query(&[("user", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Mark all the user's notifications as seen +pub async fn events_notifications_mark_all_seen_create( + configuration: &configuration::Configuration, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/events/notifications/mark_all_seen/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Notification Viewset +pub async fn events_notifications_partial_update( + configuration: &configuration::Configuration, + uuid: &str, + patched_notification_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/events/notifications/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_notification_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Notification Viewset +pub async fn events_notifications_retrieve( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/events/notifications/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Notification Viewset +pub async fn events_notifications_update( + configuration: &configuration::Configuration, + uuid: &str, + notification_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/events/notifications/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(¬ification_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn events_notifications_used_by_list( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/events/notifications/{uuid}/used_by/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// NotificationRule Viewset +pub async fn events_rules_create( + configuration: &configuration::Configuration, + notification_rule_request: models::NotificationRuleRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/events/rules/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(¬ification_rule_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// NotificationRule Viewset +pub async fn events_rules_destroy( + configuration: &configuration::Configuration, + pbm_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/events/rules/{pbm_uuid}/", + local_var_configuration.base_path, + pbm_uuid = crate::apis::urlencode(pbm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// NotificationRule Viewset +pub async fn events_rules_list( + configuration: &configuration::Configuration, + group__name: Option<&str>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + severity: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/events/rules/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = group__name { + local_var_req_builder = local_var_req_builder.query(&[("group__name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = severity { + local_var_req_builder = local_var_req_builder.query(&[("severity", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// NotificationRule Viewset +pub async fn events_rules_partial_update( + configuration: &configuration::Configuration, + pbm_uuid: &str, + patched_notification_rule_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/events/rules/{pbm_uuid}/", + local_var_configuration.base_path, + pbm_uuid = crate::apis::urlencode(pbm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_notification_rule_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// NotificationRule Viewset +pub async fn events_rules_retrieve( + configuration: &configuration::Configuration, + pbm_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/events/rules/{pbm_uuid}/", + local_var_configuration.base_path, + pbm_uuid = crate::apis::urlencode(pbm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// NotificationRule Viewset +pub async fn events_rules_update( + configuration: &configuration::Configuration, + pbm_uuid: &str, + notification_rule_request: models::NotificationRuleRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/events/rules/{pbm_uuid}/", + local_var_configuration.base_path, + pbm_uuid = crate::apis::urlencode(pbm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(¬ification_rule_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn events_rules_used_by_list( + configuration: &configuration::Configuration, + pbm_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/events/rules/{pbm_uuid}/used_by/", + local_var_configuration.base_path, + pbm_uuid = crate::apis::urlencode(pbm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Read-only view set that returns all background tasks +pub async fn events_system_tasks_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + status: Option<&str>, + uid: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/events/system_tasks/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = status { + local_var_req_builder = local_var_req_builder.query(&[("status", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = uid { + local_var_req_builder = local_var_req_builder.query(&[("uid", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Read-only view set that returns all background tasks +pub async fn events_system_tasks_retrieve( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/events/system_tasks/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Run task +pub async fn events_system_tasks_run_create( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/events/system_tasks/{uuid}/run/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// NotificationTransport Viewset +pub async fn events_transports_create( + configuration: &configuration::Configuration, + notification_transport_request: models::NotificationTransportRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/events/transports/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(¬ification_transport_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// NotificationTransport Viewset +pub async fn events_transports_destroy( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/events/transports/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// NotificationTransport Viewset +pub async fn events_transports_list( + configuration: &configuration::Configuration, + mode: Option<&str>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + send_once: Option, + webhook_url: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/events/transports/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = mode { + local_var_req_builder = local_var_req_builder.query(&[("mode", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = send_once { + local_var_req_builder = local_var_req_builder.query(&[("send_once", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = webhook_url { + local_var_req_builder = local_var_req_builder.query(&[("webhook_url", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// NotificationTransport Viewset +pub async fn events_transports_partial_update( + configuration: &configuration::Configuration, + uuid: &str, + patched_notification_transport_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/events/transports/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_notification_transport_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// NotificationTransport Viewset +pub async fn events_transports_retrieve( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/events/transports/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Send example notification using selected transport. Requires Modify permissions. +pub async fn events_transports_test_create( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/events/transports/{uuid}/test/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// NotificationTransport Viewset +pub async fn events_transports_update( + configuration: &configuration::Configuration, + uuid: &str, + notification_transport_request: models::NotificationTransportRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/events/transports/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(¬ification_transport_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn events_transports_used_by_list( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/events/transports/{uuid}/used_by/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} diff --git a/src/apis/flows_api.rs b/src/apis/flows_api.rs new file mode 100644 index 0000000..48a09ce --- /dev/null +++ b/src/apis/flows_api.rs @@ -0,0 +1,1404 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use super::{configuration, Error}; +use crate::{apis::ResponseContent, models}; +use reqwest; +use serde::{Deserialize, Serialize}; + +/// struct for typed errors of method [`flows_bindings_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsBindingsCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_bindings_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsBindingsDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_bindings_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsBindingsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_bindings_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsBindingsPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_bindings_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsBindingsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_bindings_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsBindingsUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_bindings_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsBindingsUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_executor_get`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsExecutorGetError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_executor_solve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsExecutorSolveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_inspector_get`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsInspectorGetError { + Status400(), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_instances_cache_clear_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsInstancesCacheClearCreateError { + Status400(), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_instances_cache_info_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsInstancesCacheInfoRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_instances_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsInstancesCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_instances_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsInstancesDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_instances_diagram_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsInstancesDiagramRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_instances_execute_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsInstancesExecuteRetrieveError { + Status400(), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_instances_export_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsInstancesExportRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_instances_import_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsInstancesImportCreateError { + Status400(models::FlowImportResult), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_instances_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsInstancesListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_instances_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsInstancesPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_instances_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsInstancesRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_instances_set_background_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsInstancesSetBackgroundCreateError { + Status400(), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_instances_set_background_url_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsInstancesSetBackgroundUrlCreateError { + Status400(), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_instances_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsInstancesUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`flows_instances_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum FlowsInstancesUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// FlowStageBinding Viewset +pub async fn flows_bindings_create( + configuration: &configuration::Configuration, + flow_stage_binding_request: models::FlowStageBindingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/flows/bindings/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&flow_stage_binding_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// FlowStageBinding Viewset +pub async fn flows_bindings_destroy( + configuration: &configuration::Configuration, + fsb_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/flows/bindings/{fsb_uuid}/", + local_var_configuration.base_path, + fsb_uuid = crate::apis::urlencode(fsb_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// FlowStageBinding Viewset +pub async fn flows_bindings_list( + configuration: &configuration::Configuration, + evaluate_on_plan: Option, + fsb_uuid: Option<&str>, + invalid_response_action: Option<&str>, + order: Option, + ordering: Option<&str>, + page: Option, + page_size: Option, + pbm_uuid: Option<&str>, + policies: Option>, + policy_engine_mode: Option<&str>, + re_evaluate_policies: Option, + search: Option<&str>, + stage: Option<&str>, + target: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/flows/bindings/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = evaluate_on_plan { + local_var_req_builder = local_var_req_builder.query(&[("evaluate_on_plan", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = fsb_uuid { + local_var_req_builder = local_var_req_builder.query(&[("fsb_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = invalid_response_action { + local_var_req_builder = local_var_req_builder.query(&[("invalid_response_action", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = order { + local_var_req_builder = local_var_req_builder.query(&[("order", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = pbm_uuid { + local_var_req_builder = local_var_req_builder.query(&[("pbm_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = policies { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("policies".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "policies", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = policy_engine_mode { + local_var_req_builder = local_var_req_builder.query(&[("policy_engine_mode", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = re_evaluate_policies { + local_var_req_builder = local_var_req_builder.query(&[("re_evaluate_policies", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = stage { + local_var_req_builder = local_var_req_builder.query(&[("stage", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = target { + local_var_req_builder = local_var_req_builder.query(&[("target", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// FlowStageBinding Viewset +pub async fn flows_bindings_partial_update( + configuration: &configuration::Configuration, + fsb_uuid: &str, + patched_flow_stage_binding_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/flows/bindings/{fsb_uuid}/", + local_var_configuration.base_path, + fsb_uuid = crate::apis::urlencode(fsb_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_flow_stage_binding_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// FlowStageBinding Viewset +pub async fn flows_bindings_retrieve( + configuration: &configuration::Configuration, + fsb_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/flows/bindings/{fsb_uuid}/", + local_var_configuration.base_path, + fsb_uuid = crate::apis::urlencode(fsb_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// FlowStageBinding Viewset +pub async fn flows_bindings_update( + configuration: &configuration::Configuration, + fsb_uuid: &str, + flow_stage_binding_request: models::FlowStageBindingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/flows/bindings/{fsb_uuid}/", + local_var_configuration.base_path, + fsb_uuid = crate::apis::urlencode(fsb_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&flow_stage_binding_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn flows_bindings_used_by_list( + configuration: &configuration::Configuration, + fsb_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/flows/bindings/{fsb_uuid}/used_by/", + local_var_configuration.base_path, + fsb_uuid = crate::apis::urlencode(fsb_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get the next pending challenge from the currently active flow. +pub async fn flows_executor_get( + configuration: &configuration::Configuration, + flow_slug: &str, + query: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/flows/executor/{flow_slug}/", + local_var_configuration.base_path, + flow_slug = crate::apis::urlencode(flow_slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + local_var_req_builder = local_var_req_builder.query(&[("query", &query.to_string())]); + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Solve the previously retrieved challenge and advanced to the next stage. +pub async fn flows_executor_solve( + configuration: &configuration::Configuration, + flow_slug: &str, + query: &str, + flow_challenge_response_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/flows/executor/{flow_slug}/", + local_var_configuration.base_path, + flow_slug = crate::apis::urlencode(flow_slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + local_var_req_builder = local_var_req_builder.query(&[("query", &query.to_string())]); + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&flow_challenge_response_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get current flow state and record it +pub async fn flows_inspector_get( + configuration: &configuration::Configuration, + flow_slug: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/flows/inspector/{flow_slug}/", + local_var_configuration.base_path, + flow_slug = crate::apis::urlencode(flow_slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Clear flow cache +pub async fn flows_instances_cache_clear_create( + configuration: &configuration::Configuration, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/flows/instances/cache_clear/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Info about cached flows +pub async fn flows_instances_cache_info_retrieve( + configuration: &configuration::Configuration, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/flows/instances/cache_info/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Flow Viewset +pub async fn flows_instances_create( + configuration: &configuration::Configuration, + flow_request: models::FlowRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/flows/instances/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&flow_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Flow Viewset +pub async fn flows_instances_destroy( + configuration: &configuration::Configuration, + slug: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/flows/instances/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Return diagram for flow with slug `slug`, in the format used by flowchart.js +pub async fn flows_instances_diagram_retrieve( + configuration: &configuration::Configuration, + slug: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/flows/instances/{slug}/diagram/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Execute flow for current user +pub async fn flows_instances_execute_retrieve( + configuration: &configuration::Configuration, + slug: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/flows/instances/{slug}/execute/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Export flow to .yaml file +pub async fn flows_instances_export_retrieve( + configuration: &configuration::Configuration, + slug: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/flows/instances/{slug}/export/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Import flow from .yaml file +pub async fn flows_instances_import_create( + configuration: &configuration::Configuration, + file: Option, + clear: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/flows/instances/import/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + let mut local_var_form = reqwest::multipart::Form::new(); + // TODO: support file upload for 'file' parameter + if let Some(local_var_param_value) = clear { + local_var_form = local_var_form.text("clear", local_var_param_value.to_string()); + } + local_var_req_builder = local_var_req_builder.multipart(local_var_form); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Flow Viewset +pub async fn flows_instances_list( + configuration: &configuration::Configuration, + denied_action: Option<&str>, + designation: Option<&str>, + flow_uuid: Option<&str>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + slug: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/flows/instances/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = denied_action { + local_var_req_builder = local_var_req_builder.query(&[("denied_action", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = designation { + local_var_req_builder = local_var_req_builder.query(&[("designation", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = flow_uuid { + local_var_req_builder = local_var_req_builder.query(&[("flow_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = slug { + local_var_req_builder = local_var_req_builder.query(&[("slug", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Flow Viewset +pub async fn flows_instances_partial_update( + configuration: &configuration::Configuration, + slug: &str, + patched_flow_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/flows/instances/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_flow_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Flow Viewset +pub async fn flows_instances_retrieve( + configuration: &configuration::Configuration, + slug: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/flows/instances/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Set Flow background +pub async fn flows_instances_set_background_create( + configuration: &configuration::Configuration, + slug: &str, + file: Option, + clear: Option, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/flows/instances/{slug}/set_background/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + let mut local_var_form = reqwest::multipart::Form::new(); + // TODO: support file upload for 'file' parameter + if let Some(local_var_param_value) = clear { + local_var_form = local_var_form.text("clear", local_var_param_value.to_string()); + } + local_var_req_builder = local_var_req_builder.multipart(local_var_form); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Set Flow background (as URL) +pub async fn flows_instances_set_background_url_create( + configuration: &configuration::Configuration, + slug: &str, + file_path_request: models::FilePathRequest, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/flows/instances/{slug}/set_background_url/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&file_path_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Flow Viewset +pub async fn flows_instances_update( + configuration: &configuration::Configuration, + slug: &str, + flow_request: models::FlowRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/flows/instances/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&flow_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn flows_instances_used_by_list( + configuration: &configuration::Configuration, + slug: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/flows/instances/{slug}/used_by/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} diff --git a/src/apis/managed_api.rs b/src/apis/managed_api.rs new file mode 100644 index 0000000..309e149 --- /dev/null +++ b/src/apis/managed_api.rs @@ -0,0 +1,490 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use super::{configuration, Error}; +use crate::{apis::ResponseContent, models}; +use reqwest; +use serde::{Deserialize, Serialize}; + +/// struct for typed errors of method [`managed_blueprints_apply_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ManagedBlueprintsApplyCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`managed_blueprints_available_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ManagedBlueprintsAvailableListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`managed_blueprints_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ManagedBlueprintsCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`managed_blueprints_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ManagedBlueprintsDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`managed_blueprints_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ManagedBlueprintsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`managed_blueprints_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ManagedBlueprintsPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`managed_blueprints_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ManagedBlueprintsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`managed_blueprints_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ManagedBlueprintsUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`managed_blueprints_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ManagedBlueprintsUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// Apply a blueprint +pub async fn managed_blueprints_apply_create( + configuration: &configuration::Configuration, + instance_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/managed/blueprints/{instance_uuid}/apply/", + local_var_configuration.base_path, + instance_uuid = crate::apis::urlencode(instance_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get blueprints +pub async fn managed_blueprints_available_list( + configuration: &configuration::Configuration, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/managed/blueprints/available/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Blueprint instances +pub async fn managed_blueprints_create( + configuration: &configuration::Configuration, + blueprint_instance_request: models::BlueprintInstanceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/managed/blueprints/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&blueprint_instance_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Blueprint instances +pub async fn managed_blueprints_destroy( + configuration: &configuration::Configuration, + instance_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/managed/blueprints/{instance_uuid}/", + local_var_configuration.base_path, + instance_uuid = crate::apis::urlencode(instance_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Blueprint instances +pub async fn managed_blueprints_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + path: Option<&str>, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/managed/blueprints/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = path { + local_var_req_builder = local_var_req_builder.query(&[("path", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Blueprint instances +pub async fn managed_blueprints_partial_update( + configuration: &configuration::Configuration, + instance_uuid: &str, + patched_blueprint_instance_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/managed/blueprints/{instance_uuid}/", + local_var_configuration.base_path, + instance_uuid = crate::apis::urlencode(instance_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_blueprint_instance_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Blueprint instances +pub async fn managed_blueprints_retrieve( + configuration: &configuration::Configuration, + instance_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/managed/blueprints/{instance_uuid}/", + local_var_configuration.base_path, + instance_uuid = crate::apis::urlencode(instance_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Blueprint instances +pub async fn managed_blueprints_update( + configuration: &configuration::Configuration, + instance_uuid: &str, + blueprint_instance_request: models::BlueprintInstanceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/managed/blueprints/{instance_uuid}/", + local_var_configuration.base_path, + instance_uuid = crate::apis::urlencode(instance_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&blueprint_instance_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn managed_blueprints_used_by_list( + configuration: &configuration::Configuration, + instance_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/managed/blueprints/{instance_uuid}/used_by/", + local_var_configuration.base_path, + instance_uuid = crate::apis::urlencode(instance_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} diff --git a/src/apis/mod.rs b/src/apis/mod.rs new file mode 100644 index 0000000..a3dcd11 --- /dev/null +++ b/src/apis/mod.rs @@ -0,0 +1,119 @@ +use std::error; +use std::fmt; + +#[derive(Debug, Clone)] +pub struct ResponseContent { + pub status: reqwest::StatusCode, + pub content: String, + pub entity: Option, +} + +#[derive(Debug)] +pub enum Error { + Reqwest(reqwest::Error), + ReqwestMiddleware(reqwest_middleware::Error), + Serde(serde_json::Error), + Io(std::io::Error), + ResponseError(ResponseContent), +} + +impl fmt::Display for Error { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + let (module, e) = match self { + Error::Reqwest(e) => ("reqwest", e.to_string()), + Error::ReqwestMiddleware(e) => ("reqwest-middleware", e.to_string()), + Error::Serde(e) => ("serde", e.to_string()), + Error::Io(e) => ("IO", e.to_string()), + Error::ResponseError(e) => ("response", format!("status code {}", e.status)), + }; + write!(f, "error in {}: {}", module, e) + } +} + +impl error::Error for Error { + fn source(&self) -> Option<&(dyn error::Error + 'static)> { + Some(match self { + Error::Reqwest(e) => e, + Error::ReqwestMiddleware(e) => e, + Error::Serde(e) => e, + Error::Io(e) => e, + Error::ResponseError(_) => return None, + }) + } +} + +impl From for Error { + fn from(e: reqwest::Error) -> Self { + Error::Reqwest(e) + } +} + +impl From for Error { + fn from(e: reqwest_middleware::Error) -> Self { + Error::ReqwestMiddleware(e) + } +} + +impl From for Error { + fn from(e: serde_json::Error) -> Self { + Error::Serde(e) + } +} + +impl From for Error { + fn from(e: std::io::Error) -> Self { + Error::Io(e) + } +} + +pub fn urlencode>(s: T) -> String { + ::url::form_urlencoded::byte_serialize(s.as_ref().as_bytes()).collect() +} + +pub fn parse_deep_object(prefix: &str, value: &serde_json::Value) -> Vec<(String, String)> { + if let serde_json::Value::Object(object) = value { + let mut params = vec![]; + + for (key, value) in object { + match value { + serde_json::Value::Object(_) => { + params.append(&mut parse_deep_object(&format!("{}[{}]", prefix, key), value)) + } + serde_json::Value::Array(array) => { + for (i, value) in array.iter().enumerate() { + params.append(&mut parse_deep_object(&format!("{}[{}][{}]", prefix, key, i), value)); + } + } + serde_json::Value::String(s) => params.push((format!("{}[{}]", prefix, key), s.clone())), + _ => params.push((format!("{}[{}]", prefix, key), value.to_string())), + } + } + + return params; + } + + unimplemented!("Only objects are supported with style=deepObject") +} + +pub mod admin_api; +pub mod authenticators_api; +pub mod core_api; +pub mod crypto_api; +pub mod enterprise_api; +pub mod events_api; +pub mod flows_api; +pub mod managed_api; +pub mod oauth2_api; +pub mod outposts_api; +pub mod policies_api; +pub mod propertymappings_api; +pub mod providers_api; +pub mod rac_api; +pub mod rbac_api; +pub mod root_api; +pub mod schema_api; +pub mod sources_api; +pub mod stages_api; +pub mod tenants_api; + +pub mod configuration; diff --git a/src/apis/oauth2_api.rs b/src/apis/oauth2_api.rs new file mode 100644 index 0000000..dc397c9 --- /dev/null +++ b/src/apis/oauth2_api.rs @@ -0,0 +1,687 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use super::{configuration, Error}; +use crate::{apis::ResponseContent, models}; +use reqwest; +use serde::{Deserialize, Serialize}; + +/// struct for typed errors of method [`oauth2_access_tokens_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum Oauth2AccessTokensDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`oauth2_access_tokens_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum Oauth2AccessTokensListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`oauth2_access_tokens_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum Oauth2AccessTokensRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`oauth2_access_tokens_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum Oauth2AccessTokensUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`oauth2_authorization_codes_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum Oauth2AuthorizationCodesDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`oauth2_authorization_codes_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum Oauth2AuthorizationCodesListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`oauth2_authorization_codes_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum Oauth2AuthorizationCodesRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`oauth2_authorization_codes_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum Oauth2AuthorizationCodesUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`oauth2_refresh_tokens_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum Oauth2RefreshTokensDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`oauth2_refresh_tokens_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum Oauth2RefreshTokensListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`oauth2_refresh_tokens_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum Oauth2RefreshTokensRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`oauth2_refresh_tokens_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum Oauth2RefreshTokensUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// AccessToken Viewset +pub async fn oauth2_access_tokens_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/oauth2/access_tokens/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AccessToken Viewset +pub async fn oauth2_access_tokens_list( + configuration: &configuration::Configuration, + ordering: Option<&str>, + page: Option, + page_size: Option, + provider: Option, + search: Option<&str>, + user: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/oauth2/access_tokens/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = provider { + local_var_req_builder = local_var_req_builder.query(&[("provider", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user { + local_var_req_builder = local_var_req_builder.query(&[("user", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AccessToken Viewset +pub async fn oauth2_access_tokens_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/oauth2/access_tokens/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn oauth2_access_tokens_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/oauth2/access_tokens/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthorizationCode Viewset +pub async fn oauth2_authorization_codes_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/oauth2/authorization_codes/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthorizationCode Viewset +pub async fn oauth2_authorization_codes_list( + configuration: &configuration::Configuration, + ordering: Option<&str>, + page: Option, + page_size: Option, + provider: Option, + search: Option<&str>, + user: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/oauth2/authorization_codes/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = provider { + local_var_req_builder = local_var_req_builder.query(&[("provider", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user { + local_var_req_builder = local_var_req_builder.query(&[("user", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthorizationCode Viewset +pub async fn oauth2_authorization_codes_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/oauth2/authorization_codes/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn oauth2_authorization_codes_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/oauth2/authorization_codes/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RefreshToken Viewset +pub async fn oauth2_refresh_tokens_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/oauth2/refresh_tokens/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RefreshToken Viewset +pub async fn oauth2_refresh_tokens_list( + configuration: &configuration::Configuration, + ordering: Option<&str>, + page: Option, + page_size: Option, + provider: Option, + search: Option<&str>, + user: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/oauth2/refresh_tokens/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = provider { + local_var_req_builder = local_var_req_builder.query(&[("provider", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user { + local_var_req_builder = local_var_req_builder.query(&[("user", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RefreshToken Viewset +pub async fn oauth2_refresh_tokens_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/oauth2/refresh_tokens/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn oauth2_refresh_tokens_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/oauth2/refresh_tokens/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} diff --git a/src/apis/outposts_api.rs b/src/apis/outposts_api.rs new file mode 100644 index 0000000..fa9c1e1 --- /dev/null +++ b/src/apis/outposts_api.rs @@ -0,0 +1,2021 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use super::{configuration, Error}; +use crate::{apis::ResponseContent, models}; +use reqwest; +use serde::{Deserialize, Serialize}; + +/// struct for typed errors of method [`outposts_instances_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsInstancesCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_instances_default_settings_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsInstancesDefaultSettingsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_instances_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsInstancesDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_instances_health_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsInstancesHealthListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_instances_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsInstancesListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_instances_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsInstancesPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_instances_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsInstancesRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_instances_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsInstancesUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_instances_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsInstancesUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_ldap_access_check`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsLdapAccessCheckError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_ldap_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsLdapListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_proxy_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsProxyListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_radius_access_check`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsRadiusAccessCheckError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_radius_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsRadiusListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_service_connections_all_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsServiceConnectionsAllDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_service_connections_all_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsServiceConnectionsAllListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_service_connections_all_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsServiceConnectionsAllRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_service_connections_all_state_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsServiceConnectionsAllStateRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_service_connections_all_types_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsServiceConnectionsAllTypesListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_service_connections_all_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsServiceConnectionsAllUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_service_connections_docker_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsServiceConnectionsDockerCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_service_connections_docker_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsServiceConnectionsDockerDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_service_connections_docker_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsServiceConnectionsDockerListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_service_connections_docker_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsServiceConnectionsDockerPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_service_connections_docker_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsServiceConnectionsDockerRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_service_connections_docker_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsServiceConnectionsDockerUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_service_connections_docker_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsServiceConnectionsDockerUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_service_connections_kubernetes_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsServiceConnectionsKubernetesCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_service_connections_kubernetes_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsServiceConnectionsKubernetesDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_service_connections_kubernetes_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsServiceConnectionsKubernetesListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_service_connections_kubernetes_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsServiceConnectionsKubernetesPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_service_connections_kubernetes_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsServiceConnectionsKubernetesRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_service_connections_kubernetes_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsServiceConnectionsKubernetesUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`outposts_service_connections_kubernetes_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OutpostsServiceConnectionsKubernetesUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// Outpost Viewset +pub async fn outposts_instances_create( + configuration: &configuration::Configuration, + outpost_request: models::OutpostRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/outposts/instances/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&outpost_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Global default outpost config +pub async fn outposts_instances_default_settings_retrieve( + configuration: &configuration::Configuration, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/instances/default_settings/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Outpost Viewset +pub async fn outposts_instances_destroy( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/instances/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get outposts current health +pub async fn outposts_instances_health_list( + configuration: &configuration::Configuration, + uuid: &str, + managed__icontains: Option<&str>, + managed__iexact: Option<&str>, + name__icontains: Option<&str>, + name__iexact: Option<&str>, + ordering: Option<&str>, + providers__isnull: Option, + providers_by_pk: Option>, + search: Option<&str>, + service_connection__name__icontains: Option<&str>, + service_connection__name__iexact: Option<&str>, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/instances/{uuid}/health/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = managed__icontains { + local_var_req_builder = local_var_req_builder.query(&[("managed__icontains", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = managed__iexact { + local_var_req_builder = local_var_req_builder.query(&[("managed__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name__icontains { + local_var_req_builder = local_var_req_builder.query(&[("name__icontains", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name__iexact { + local_var_req_builder = local_var_req_builder.query(&[("name__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = providers__isnull { + local_var_req_builder = local_var_req_builder.query(&[("providers__isnull", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = providers_by_pk { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("providers_by_pk".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "providers_by_pk", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = service_connection__name__icontains { + local_var_req_builder = + local_var_req_builder.query(&[("service_connection__name__icontains", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = service_connection__name__iexact { + local_var_req_builder = + local_var_req_builder.query(&[("service_connection__name__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Outpost Viewset +pub async fn outposts_instances_list( + configuration: &configuration::Configuration, + managed__icontains: Option<&str>, + managed__iexact: Option<&str>, + name__icontains: Option<&str>, + name__iexact: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + providers__isnull: Option, + providers_by_pk: Option>, + search: Option<&str>, + service_connection__name__icontains: Option<&str>, + service_connection__name__iexact: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/outposts/instances/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = managed__icontains { + local_var_req_builder = local_var_req_builder.query(&[("managed__icontains", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = managed__iexact { + local_var_req_builder = local_var_req_builder.query(&[("managed__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name__icontains { + local_var_req_builder = local_var_req_builder.query(&[("name__icontains", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name__iexact { + local_var_req_builder = local_var_req_builder.query(&[("name__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = providers__isnull { + local_var_req_builder = local_var_req_builder.query(&[("providers__isnull", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = providers_by_pk { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("providers_by_pk".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "providers_by_pk", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = service_connection__name__icontains { + local_var_req_builder = + local_var_req_builder.query(&[("service_connection__name__icontains", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = service_connection__name__iexact { + local_var_req_builder = + local_var_req_builder.query(&[("service_connection__name__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Outpost Viewset +pub async fn outposts_instances_partial_update( + configuration: &configuration::Configuration, + uuid: &str, + patched_outpost_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/instances/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_outpost_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Outpost Viewset +pub async fn outposts_instances_retrieve( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/instances/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Outpost Viewset +pub async fn outposts_instances_update( + configuration: &configuration::Configuration, + uuid: &str, + outpost_request: models::OutpostRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/instances/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&outpost_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn outposts_instances_used_by_list( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/instances/{uuid}/used_by/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Check access to a single application by slug +pub async fn outposts_ldap_access_check( + configuration: &configuration::Configuration, + id: i32, + app_slug: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/ldap/{id}/check_access/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = app_slug { + local_var_req_builder = local_var_req_builder.query(&[("app_slug", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// LDAPProvider Viewset +pub async fn outposts_ldap_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/outposts/ldap/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ProxyProvider Viewset +pub async fn outposts_proxy_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/outposts/proxy/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Check access to a single application by slug +pub async fn outposts_radius_access_check( + configuration: &configuration::Configuration, + id: i32, + app_slug: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/radius/{id}/check_access/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = app_slug { + local_var_req_builder = local_var_req_builder.query(&[("app_slug", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RadiusProvider Viewset +pub async fn outposts_radius_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/outposts/radius/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ServiceConnection Viewset +pub async fn outposts_service_connections_all_destroy( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/service_connections/all/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ServiceConnection Viewset +pub async fn outposts_service_connections_all_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/service_connections/all/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ServiceConnection Viewset +pub async fn outposts_service_connections_all_retrieve( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/service_connections/all/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get the service connection's state +pub async fn outposts_service_connections_all_state_retrieve( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/service_connections/all/{uuid}/state/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get all creatable types +pub async fn outposts_service_connections_all_types_list( + configuration: &configuration::Configuration, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/service_connections/all/types/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn outposts_service_connections_all_used_by_list( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/service_connections/all/{uuid}/used_by/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// DockerServiceConnection Viewset +pub async fn outposts_service_connections_docker_create( + configuration: &configuration::Configuration, + docker_service_connection_request: models::DockerServiceConnectionRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/service_connections/docker/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&docker_service_connection_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// DockerServiceConnection Viewset +pub async fn outposts_service_connections_docker_destroy( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/service_connections/docker/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// DockerServiceConnection Viewset +pub async fn outposts_service_connections_docker_list( + configuration: &configuration::Configuration, + local: Option, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + tls_authentication: Option<&str>, + tls_verification: Option<&str>, + url: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/service_connections/docker/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = local { + local_var_req_builder = local_var_req_builder.query(&[("local", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = tls_authentication { + local_var_req_builder = local_var_req_builder.query(&[("tls_authentication", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = tls_verification { + local_var_req_builder = local_var_req_builder.query(&[("tls_verification", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = url { + local_var_req_builder = local_var_req_builder.query(&[("url", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// DockerServiceConnection Viewset +pub async fn outposts_service_connections_docker_partial_update( + configuration: &configuration::Configuration, + uuid: &str, + patched_docker_service_connection_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/service_connections/docker/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_docker_service_connection_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// DockerServiceConnection Viewset +pub async fn outposts_service_connections_docker_retrieve( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/service_connections/docker/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// DockerServiceConnection Viewset +pub async fn outposts_service_connections_docker_update( + configuration: &configuration::Configuration, + uuid: &str, + docker_service_connection_request: models::DockerServiceConnectionRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/service_connections/docker/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&docker_service_connection_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn outposts_service_connections_docker_used_by_list( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/service_connections/docker/{uuid}/used_by/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// KubernetesServiceConnection Viewset +pub async fn outposts_service_connections_kubernetes_create( + configuration: &configuration::Configuration, + kubernetes_service_connection_request: models::KubernetesServiceConnectionRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/service_connections/kubernetes/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&kubernetes_service_connection_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// KubernetesServiceConnection Viewset +pub async fn outposts_service_connections_kubernetes_destroy( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/service_connections/kubernetes/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// KubernetesServiceConnection Viewset +pub async fn outposts_service_connections_kubernetes_list( + configuration: &configuration::Configuration, + local: Option, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/service_connections/kubernetes/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = local { + local_var_req_builder = local_var_req_builder.query(&[("local", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// KubernetesServiceConnection Viewset +pub async fn outposts_service_connections_kubernetes_partial_update( + configuration: &configuration::Configuration, + uuid: &str, + patched_kubernetes_service_connection_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/service_connections/kubernetes/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_kubernetes_service_connection_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// KubernetesServiceConnection Viewset +pub async fn outposts_service_connections_kubernetes_retrieve( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/service_connections/kubernetes/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// KubernetesServiceConnection Viewset +pub async fn outposts_service_connections_kubernetes_update( + configuration: &configuration::Configuration, + uuid: &str, + kubernetes_service_connection_request: models::KubernetesServiceConnectionRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/service_connections/kubernetes/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&kubernetes_service_connection_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn outposts_service_connections_kubernetes_used_by_list( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/outposts/service_connections/kubernetes/{uuid}/used_by/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} diff --git a/src/apis/policies_api.rs b/src/apis/policies_api.rs new file mode 100644 index 0000000..7cb7c42 --- /dev/null +++ b/src/apis/policies_api.rs @@ -0,0 +1,3958 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use super::{configuration, Error}; +use crate::{apis::ResponseContent, models}; +use reqwest; +use serde::{Deserialize, Serialize}; + +/// struct for typed errors of method [`policies_all_cache_clear_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesAllCacheClearCreateError { + Status400(), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_all_cache_info_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesAllCacheInfoRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_all_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesAllDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_all_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesAllListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_all_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesAllRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_all_test_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesAllTestCreateError { + Status400(), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_all_types_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesAllTypesListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_all_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesAllUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_bindings_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesBindingsCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_bindings_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesBindingsDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_bindings_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesBindingsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_bindings_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesBindingsPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_bindings_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesBindingsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_bindings_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesBindingsUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_bindings_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesBindingsUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_dummy_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesDummyCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_dummy_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesDummyDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_dummy_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesDummyListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_dummy_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesDummyPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_dummy_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesDummyRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_dummy_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesDummyUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_dummy_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesDummyUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_event_matcher_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesEventMatcherCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_event_matcher_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesEventMatcherDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_event_matcher_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesEventMatcherListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_event_matcher_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesEventMatcherPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_event_matcher_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesEventMatcherRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_event_matcher_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesEventMatcherUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_event_matcher_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesEventMatcherUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_expression_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesExpressionCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_expression_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesExpressionDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_expression_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesExpressionListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_expression_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesExpressionPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_expression_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesExpressionRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_expression_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesExpressionUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_expression_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesExpressionUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_geoip_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesGeoipCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_geoip_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesGeoipDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_geoip_iso3166_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesGeoipIso3166ListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_geoip_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesGeoipListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_geoip_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesGeoipPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_geoip_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesGeoipRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_geoip_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesGeoipUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_geoip_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesGeoipUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_password_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesPasswordCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_password_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesPasswordDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_password_expiry_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesPasswordExpiryCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_password_expiry_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesPasswordExpiryDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_password_expiry_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesPasswordExpiryListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_password_expiry_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesPasswordExpiryPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_password_expiry_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesPasswordExpiryRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_password_expiry_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesPasswordExpiryUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_password_expiry_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesPasswordExpiryUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_password_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesPasswordListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_password_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesPasswordPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_password_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesPasswordRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_password_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesPasswordUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_password_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesPasswordUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_reputation_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesReputationCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_reputation_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesReputationDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_reputation_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesReputationListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_reputation_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesReputationPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_reputation_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesReputationRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_reputation_scores_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesReputationScoresDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_reputation_scores_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesReputationScoresListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_reputation_scores_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesReputationScoresRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_reputation_scores_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesReputationScoresUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_reputation_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesReputationUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`policies_reputation_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PoliciesReputationUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// Clear policy cache +pub async fn policies_all_cache_clear_create( + configuration: &configuration::Configuration, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/policies/all/cache_clear/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Info about cached policies +pub async fn policies_all_cache_info_retrieve( + configuration: &configuration::Configuration, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/policies/all/cache_info/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Policy Viewset +pub async fn policies_all_destroy( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/all/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Policy Viewset +pub async fn policies_all_list( + configuration: &configuration::Configuration, + bindings__isnull: Option, + ordering: Option<&str>, + page: Option, + page_size: Option, + promptstage__isnull: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/policies/all/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = bindings__isnull { + local_var_req_builder = local_var_req_builder.query(&[("bindings__isnull", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = promptstage__isnull { + local_var_req_builder = local_var_req_builder.query(&[("promptstage__isnull", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Policy Viewset +pub async fn policies_all_retrieve( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/all/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Test policy +pub async fn policies_all_test_create( + configuration: &configuration::Configuration, + policy_uuid: &str, + policy_test_request: models::PolicyTestRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/all/{policy_uuid}/test/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&policy_test_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get all creatable types +pub async fn policies_all_types_list( + configuration: &configuration::Configuration, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/policies/all/types/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn policies_all_used_by_list( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/all/{policy_uuid}/used_by/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PolicyBinding Viewset +pub async fn policies_bindings_create( + configuration: &configuration::Configuration, + policy_binding_request: models::PolicyBindingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/policies/bindings/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&policy_binding_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PolicyBinding Viewset +pub async fn policies_bindings_destroy( + configuration: &configuration::Configuration, + policy_binding_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/bindings/{policy_binding_uuid}/", + local_var_configuration.base_path, + policy_binding_uuid = crate::apis::urlencode(policy_binding_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PolicyBinding Viewset +pub async fn policies_bindings_list( + configuration: &configuration::Configuration, + enabled: Option, + order: Option, + ordering: Option<&str>, + page: Option, + page_size: Option, + policy: Option<&str>, + policy__isnull: Option, + search: Option<&str>, + target: Option<&str>, + target_in: Option>, + timeout: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/policies/bindings/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = enabled { + local_var_req_builder = local_var_req_builder.query(&[("enabled", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = order { + local_var_req_builder = local_var_req_builder.query(&[("order", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = policy { + local_var_req_builder = local_var_req_builder.query(&[("policy", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = policy__isnull { + local_var_req_builder = local_var_req_builder.query(&[("policy__isnull", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = target { + local_var_req_builder = local_var_req_builder.query(&[("target", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = target_in { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("target_in".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "target_in", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = timeout { + local_var_req_builder = local_var_req_builder.query(&[("timeout", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PolicyBinding Viewset +pub async fn policies_bindings_partial_update( + configuration: &configuration::Configuration, + policy_binding_uuid: &str, + patched_policy_binding_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/bindings/{policy_binding_uuid}/", + local_var_configuration.base_path, + policy_binding_uuid = crate::apis::urlencode(policy_binding_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_policy_binding_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PolicyBinding Viewset +pub async fn policies_bindings_retrieve( + configuration: &configuration::Configuration, + policy_binding_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/bindings/{policy_binding_uuid}/", + local_var_configuration.base_path, + policy_binding_uuid = crate::apis::urlencode(policy_binding_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PolicyBinding Viewset +pub async fn policies_bindings_update( + configuration: &configuration::Configuration, + policy_binding_uuid: &str, + policy_binding_request: models::PolicyBindingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/bindings/{policy_binding_uuid}/", + local_var_configuration.base_path, + policy_binding_uuid = crate::apis::urlencode(policy_binding_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&policy_binding_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn policies_bindings_used_by_list( + configuration: &configuration::Configuration, + policy_binding_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/bindings/{policy_binding_uuid}/used_by/", + local_var_configuration.base_path, + policy_binding_uuid = crate::apis::urlencode(policy_binding_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Dummy Viewset +pub async fn policies_dummy_create( + configuration: &configuration::Configuration, + dummy_policy_request: models::DummyPolicyRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/policies/dummy/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&dummy_policy_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Dummy Viewset +pub async fn policies_dummy_destroy( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/dummy/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Dummy Viewset +pub async fn policies_dummy_list( + configuration: &configuration::Configuration, + created: Option, + execution_logging: Option, + last_updated: Option, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + policy_uuid: Option<&str>, + result: Option, + search: Option<&str>, + wait_max: Option, + wait_min: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/policies/dummy/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = created { + local_var_req_builder = local_var_req_builder.query(&[("created", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = execution_logging { + local_var_req_builder = local_var_req_builder.query(&[("execution_logging", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = last_updated { + local_var_req_builder = local_var_req_builder.query(&[("last_updated", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = policy_uuid { + local_var_req_builder = local_var_req_builder.query(&[("policy_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = result { + local_var_req_builder = local_var_req_builder.query(&[("result", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = wait_max { + local_var_req_builder = local_var_req_builder.query(&[("wait_max", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = wait_min { + local_var_req_builder = local_var_req_builder.query(&[("wait_min", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Dummy Viewset +pub async fn policies_dummy_partial_update( + configuration: &configuration::Configuration, + policy_uuid: &str, + patched_dummy_policy_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/dummy/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_dummy_policy_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Dummy Viewset +pub async fn policies_dummy_retrieve( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/dummy/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Dummy Viewset +pub async fn policies_dummy_update( + configuration: &configuration::Configuration, + policy_uuid: &str, + dummy_policy_request: models::DummyPolicyRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/dummy/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&dummy_policy_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn policies_dummy_used_by_list( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/dummy/{policy_uuid}/used_by/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Event Matcher Policy Viewset +pub async fn policies_event_matcher_create( + configuration: &configuration::Configuration, + event_matcher_policy_request: models::EventMatcherPolicyRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/policies/event_matcher/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&event_matcher_policy_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Event Matcher Policy Viewset +pub async fn policies_event_matcher_destroy( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/event_matcher/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Event Matcher Policy Viewset +pub async fn policies_event_matcher_list( + configuration: &configuration::Configuration, + action: Option<&str>, + app: Option<&str>, + client_ip: Option<&str>, + created: Option, + execution_logging: Option, + last_updated: Option, + model: Option<&str>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + policy_uuid: Option<&str>, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/policies/event_matcher/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = action { + local_var_req_builder = local_var_req_builder.query(&[("action", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = app { + local_var_req_builder = local_var_req_builder.query(&[("app", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = client_ip { + local_var_req_builder = local_var_req_builder.query(&[("client_ip", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = created { + local_var_req_builder = local_var_req_builder.query(&[("created", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = execution_logging { + local_var_req_builder = local_var_req_builder.query(&[("execution_logging", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = last_updated { + local_var_req_builder = local_var_req_builder.query(&[("last_updated", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = model { + local_var_req_builder = local_var_req_builder.query(&[("model", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = policy_uuid { + local_var_req_builder = local_var_req_builder.query(&[("policy_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Event Matcher Policy Viewset +pub async fn policies_event_matcher_partial_update( + configuration: &configuration::Configuration, + policy_uuid: &str, + patched_event_matcher_policy_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/event_matcher/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_event_matcher_policy_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Event Matcher Policy Viewset +pub async fn policies_event_matcher_retrieve( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/event_matcher/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Event Matcher Policy Viewset +pub async fn policies_event_matcher_update( + configuration: &configuration::Configuration, + policy_uuid: &str, + event_matcher_policy_request: models::EventMatcherPolicyRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/event_matcher/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&event_matcher_policy_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn policies_event_matcher_used_by_list( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/event_matcher/{policy_uuid}/used_by/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn policies_expression_create( + configuration: &configuration::Configuration, + expression_policy_request: models::ExpressionPolicyRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/policies/expression/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&expression_policy_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn policies_expression_destroy( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/expression/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn policies_expression_list( + configuration: &configuration::Configuration, + created: Option, + execution_logging: Option, + expression: Option<&str>, + last_updated: Option, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + policy_uuid: Option<&str>, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/policies/expression/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = created { + local_var_req_builder = local_var_req_builder.query(&[("created", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = execution_logging { + local_var_req_builder = local_var_req_builder.query(&[("execution_logging", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = expression { + local_var_req_builder = local_var_req_builder.query(&[("expression", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = last_updated { + local_var_req_builder = local_var_req_builder.query(&[("last_updated", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = policy_uuid { + local_var_req_builder = local_var_req_builder.query(&[("policy_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn policies_expression_partial_update( + configuration: &configuration::Configuration, + policy_uuid: &str, + patched_expression_policy_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/expression/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_expression_policy_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn policies_expression_retrieve( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/expression/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn policies_expression_update( + configuration: &configuration::Configuration, + policy_uuid: &str, + expression_policy_request: models::ExpressionPolicyRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/expression/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&expression_policy_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn policies_expression_used_by_list( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/expression/{policy_uuid}/used_by/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GeoIP Viewset +pub async fn policies_geoip_create( + configuration: &configuration::Configuration, + geo_ip_policy_request: models::GeoIpPolicyRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/policies/geoip/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&geo_ip_policy_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GeoIP Viewset +pub async fn policies_geoip_destroy( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/geoip/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get all countries in ISO-3166-1 +pub async fn policies_geoip_iso3166_list( + configuration: &configuration::Configuration, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/policies/geoip_iso3166/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GeoIP Viewset +pub async fn policies_geoip_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/policies/geoip/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GeoIP Viewset +pub async fn policies_geoip_partial_update( + configuration: &configuration::Configuration, + policy_uuid: &str, + patched_geo_ip_policy_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/geoip/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_geo_ip_policy_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GeoIP Viewset +pub async fn policies_geoip_retrieve( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/geoip/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GeoIP Viewset +pub async fn policies_geoip_update( + configuration: &configuration::Configuration, + policy_uuid: &str, + geo_ip_policy_request: models::GeoIpPolicyRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/geoip/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&geo_ip_policy_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn policies_geoip_used_by_list( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/geoip/{policy_uuid}/used_by/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Password Policy Viewset +pub async fn policies_password_create( + configuration: &configuration::Configuration, + password_policy_request: models::PasswordPolicyRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/policies/password/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&password_policy_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Password Policy Viewset +pub async fn policies_password_destroy( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/password/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Password Expiry Viewset +pub async fn policies_password_expiry_create( + configuration: &configuration::Configuration, + password_expiry_policy_request: models::PasswordExpiryPolicyRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/policies/password_expiry/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&password_expiry_policy_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Password Expiry Viewset +pub async fn policies_password_expiry_destroy( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/password_expiry/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Password Expiry Viewset +pub async fn policies_password_expiry_list( + configuration: &configuration::Configuration, + created: Option, + days: Option, + deny_only: Option, + execution_logging: Option, + last_updated: Option, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + policy_uuid: Option<&str>, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/policies/password_expiry/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = created { + local_var_req_builder = local_var_req_builder.query(&[("created", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = days { + local_var_req_builder = local_var_req_builder.query(&[("days", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = deny_only { + local_var_req_builder = local_var_req_builder.query(&[("deny_only", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = execution_logging { + local_var_req_builder = local_var_req_builder.query(&[("execution_logging", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = last_updated { + local_var_req_builder = local_var_req_builder.query(&[("last_updated", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = policy_uuid { + local_var_req_builder = local_var_req_builder.query(&[("policy_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Password Expiry Viewset +pub async fn policies_password_expiry_partial_update( + configuration: &configuration::Configuration, + policy_uuid: &str, + patched_password_expiry_policy_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/password_expiry/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_password_expiry_policy_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Password Expiry Viewset +pub async fn policies_password_expiry_retrieve( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/password_expiry/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Password Expiry Viewset +pub async fn policies_password_expiry_update( + configuration: &configuration::Configuration, + policy_uuid: &str, + password_expiry_policy_request: models::PasswordExpiryPolicyRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/password_expiry/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&password_expiry_policy_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn policies_password_expiry_used_by_list( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/password_expiry/{policy_uuid}/used_by/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Password Policy Viewset +pub async fn policies_password_list( + configuration: &configuration::Configuration, + amount_digits: Option, + amount_lowercase: Option, + amount_symbols: Option, + amount_uppercase: Option, + check_have_i_been_pwned: Option, + check_static_rules: Option, + check_zxcvbn: Option, + created: Option, + error_message: Option<&str>, + execution_logging: Option, + hibp_allowed_count: Option, + last_updated: Option, + length_min: Option, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + password_field: Option<&str>, + policy_uuid: Option<&str>, + search: Option<&str>, + symbol_charset: Option<&str>, + zxcvbn_score_threshold: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/policies/password/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = amount_digits { + local_var_req_builder = local_var_req_builder.query(&[("amount_digits", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = amount_lowercase { + local_var_req_builder = local_var_req_builder.query(&[("amount_lowercase", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = amount_symbols { + local_var_req_builder = local_var_req_builder.query(&[("amount_symbols", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = amount_uppercase { + local_var_req_builder = local_var_req_builder.query(&[("amount_uppercase", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = check_have_i_been_pwned { + local_var_req_builder = local_var_req_builder.query(&[("check_have_i_been_pwned", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = check_static_rules { + local_var_req_builder = local_var_req_builder.query(&[("check_static_rules", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = check_zxcvbn { + local_var_req_builder = local_var_req_builder.query(&[("check_zxcvbn", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = created { + local_var_req_builder = local_var_req_builder.query(&[("created", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = error_message { + local_var_req_builder = local_var_req_builder.query(&[("error_message", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = execution_logging { + local_var_req_builder = local_var_req_builder.query(&[("execution_logging", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = hibp_allowed_count { + local_var_req_builder = local_var_req_builder.query(&[("hibp_allowed_count", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = last_updated { + local_var_req_builder = local_var_req_builder.query(&[("last_updated", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = length_min { + local_var_req_builder = local_var_req_builder.query(&[("length_min", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = password_field { + local_var_req_builder = local_var_req_builder.query(&[("password_field", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = policy_uuid { + local_var_req_builder = local_var_req_builder.query(&[("policy_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = symbol_charset { + local_var_req_builder = local_var_req_builder.query(&[("symbol_charset", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = zxcvbn_score_threshold { + local_var_req_builder = local_var_req_builder.query(&[("zxcvbn_score_threshold", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Password Policy Viewset +pub async fn policies_password_partial_update( + configuration: &configuration::Configuration, + policy_uuid: &str, + patched_password_policy_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/password/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_password_policy_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Password Policy Viewset +pub async fn policies_password_retrieve( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/password/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Password Policy Viewset +pub async fn policies_password_update( + configuration: &configuration::Configuration, + policy_uuid: &str, + password_policy_request: models::PasswordPolicyRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/password/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&password_policy_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn policies_password_used_by_list( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/password/{policy_uuid}/used_by/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Reputation Policy Viewset +pub async fn policies_reputation_create( + configuration: &configuration::Configuration, + reputation_policy_request: models::ReputationPolicyRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/policies/reputation/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&reputation_policy_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Reputation Policy Viewset +pub async fn policies_reputation_destroy( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/reputation/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Reputation Policy Viewset +pub async fn policies_reputation_list( + configuration: &configuration::Configuration, + check_ip: Option, + check_username: Option, + created: Option, + execution_logging: Option, + last_updated: Option, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + policy_uuid: Option<&str>, + search: Option<&str>, + threshold: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/policies/reputation/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = check_ip { + local_var_req_builder = local_var_req_builder.query(&[("check_ip", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = check_username { + local_var_req_builder = local_var_req_builder.query(&[("check_username", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = created { + local_var_req_builder = local_var_req_builder.query(&[("created", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = execution_logging { + local_var_req_builder = local_var_req_builder.query(&[("execution_logging", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = last_updated { + local_var_req_builder = local_var_req_builder.query(&[("last_updated", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = policy_uuid { + local_var_req_builder = local_var_req_builder.query(&[("policy_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = threshold { + local_var_req_builder = local_var_req_builder.query(&[("threshold", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Reputation Policy Viewset +pub async fn policies_reputation_partial_update( + configuration: &configuration::Configuration, + policy_uuid: &str, + patched_reputation_policy_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/reputation/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_reputation_policy_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Reputation Policy Viewset +pub async fn policies_reputation_retrieve( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/reputation/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Reputation Viewset +pub async fn policies_reputation_scores_destroy( + configuration: &configuration::Configuration, + reputation_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/reputation/scores/{reputation_uuid}/", + local_var_configuration.base_path, + reputation_uuid = crate::apis::urlencode(reputation_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Reputation Viewset +pub async fn policies_reputation_scores_list( + configuration: &configuration::Configuration, + identifier: Option<&str>, + identifier_in: Option>, + ip: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + score: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/policies/reputation/scores/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = identifier { + local_var_req_builder = local_var_req_builder.query(&[("identifier", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = identifier_in { + local_var_req_builder = match "csv" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("identifier_in".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "identifier_in", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = ip { + local_var_req_builder = local_var_req_builder.query(&[("ip", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = score { + local_var_req_builder = local_var_req_builder.query(&[("score", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Reputation Viewset +pub async fn policies_reputation_scores_retrieve( + configuration: &configuration::Configuration, + reputation_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/reputation/scores/{reputation_uuid}/", + local_var_configuration.base_path, + reputation_uuid = crate::apis::urlencode(reputation_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn policies_reputation_scores_used_by_list( + configuration: &configuration::Configuration, + reputation_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/reputation/scores/{reputation_uuid}/used_by/", + local_var_configuration.base_path, + reputation_uuid = crate::apis::urlencode(reputation_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Reputation Policy Viewset +pub async fn policies_reputation_update( + configuration: &configuration::Configuration, + policy_uuid: &str, + reputation_policy_request: models::ReputationPolicyRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/reputation/{policy_uuid}/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&reputation_policy_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn policies_reputation_used_by_list( + configuration: &configuration::Configuration, + policy_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/policies/reputation/{policy_uuid}/used_by/", + local_var_configuration.base_path, + policy_uuid = crate::apis::urlencode(policy_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} diff --git a/src/apis/propertymappings_api.rs b/src/apis/propertymappings_api.rs new file mode 100644 index 0000000..42daea7 --- /dev/null +++ b/src/apis/propertymappings_api.rs @@ -0,0 +1,5626 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use super::{configuration, Error}; +use crate::{apis::ResponseContent, models}; +use reqwest; +use serde::{Deserialize, Serialize}; + +/// struct for typed errors of method [`propertymappings_all_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsAllDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_all_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsAllListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_all_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsAllRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_all_test_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsAllTestCreateError { + Status400(), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_all_types_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsAllTypesListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_all_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsAllUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_notification_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsNotificationCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_notification_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsNotificationDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_notification_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsNotificationListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_notification_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsNotificationPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_notification_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsNotificationRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_notification_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsNotificationUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_notification_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsNotificationUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_google_workspace_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderGoogleWorkspaceCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_google_workspace_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderGoogleWorkspaceDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_google_workspace_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderGoogleWorkspaceListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_google_workspace_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderGoogleWorkspacePartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_google_workspace_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderGoogleWorkspaceRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_google_workspace_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderGoogleWorkspaceUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_google_workspace_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderGoogleWorkspaceUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_microsoft_entra_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderMicrosoftEntraCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_microsoft_entra_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderMicrosoftEntraDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_microsoft_entra_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderMicrosoftEntraListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_microsoft_entra_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderMicrosoftEntraPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_microsoft_entra_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderMicrosoftEntraRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_microsoft_entra_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderMicrosoftEntraUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_microsoft_entra_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderMicrosoftEntraUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_rac_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderRacCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_rac_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderRacDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_rac_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderRacListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_rac_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderRacPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_rac_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderRacRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_rac_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderRacUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_rac_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderRacUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_radius_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderRadiusCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_radius_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderRadiusDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_radius_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderRadiusListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_radius_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderRadiusPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_radius_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderRadiusRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_radius_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderRadiusUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_radius_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderRadiusUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_saml_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderSamlCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_saml_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderSamlDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_saml_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderSamlListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_saml_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderSamlPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_saml_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderSamlRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_saml_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderSamlUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_saml_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderSamlUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_scim_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderScimCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_scim_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderScimDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_scim_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderScimListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_scim_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderScimPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_scim_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderScimRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_scim_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderScimUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_scim_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderScimUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_scope_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderScopeCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_scope_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderScopeDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_scope_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderScopeListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_scope_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderScopePartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_scope_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderScopeRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_scope_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderScopeUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_provider_scope_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsProviderScopeUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_ldap_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceLdapCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_ldap_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceLdapDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_ldap_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceLdapListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_ldap_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceLdapPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_ldap_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceLdapRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_ldap_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceLdapUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_ldap_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceLdapUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_oauth_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceOauthCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_oauth_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceOauthDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_oauth_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceOauthListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_oauth_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceOauthPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_oauth_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceOauthRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_oauth_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceOauthUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_oauth_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceOauthUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_plex_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourcePlexCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_plex_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourcePlexDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_plex_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourcePlexListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_plex_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourcePlexPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_plex_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourcePlexRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_plex_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourcePlexUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_plex_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourcePlexUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_saml_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceSamlCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_saml_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceSamlDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_saml_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceSamlListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_saml_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceSamlPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_saml_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceSamlRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_saml_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceSamlUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_saml_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceSamlUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_scim_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceScimCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_scim_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceScimDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_scim_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceScimListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_scim_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceScimPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_scim_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceScimRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_scim_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceScimUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`propertymappings_source_scim_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PropertymappingsSourceScimUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// PropertyMapping Viewset +pub async fn propertymappings_all_destroy( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/all/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PropertyMapping Viewset +pub async fn propertymappings_all_list( + configuration: &configuration::Configuration, + managed: Option>, + managed__isnull: Option, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/propertymappings/all/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = managed { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("managed".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "managed", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = managed__isnull { + local_var_req_builder = local_var_req_builder.query(&[("managed__isnull", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PropertyMapping Viewset +pub async fn propertymappings_all_retrieve( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/all/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Test Property Mapping +pub async fn propertymappings_all_test_create( + configuration: &configuration::Configuration, + pm_uuid: &str, + format_result: Option, + property_mapping_test_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/all/{pm_uuid}/test/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = format_result { + local_var_req_builder = local_var_req_builder.query(&[("format_result", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&property_mapping_test_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get all creatable types +pub async fn propertymappings_all_types_list( + configuration: &configuration::Configuration, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/propertymappings/all/types/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn propertymappings_all_used_by_list( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/all/{pm_uuid}/used_by/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// NotificationWebhookMapping Viewset +pub async fn propertymappings_notification_create( + configuration: &configuration::Configuration, + notification_webhook_mapping_request: models::NotificationWebhookMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/propertymappings/notification/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(¬ification_webhook_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// NotificationWebhookMapping Viewset +pub async fn propertymappings_notification_destroy( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/notification/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// NotificationWebhookMapping Viewset +pub async fn propertymappings_notification_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/propertymappings/notification/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// NotificationWebhookMapping Viewset +pub async fn propertymappings_notification_partial_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + patched_notification_webhook_mapping_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/notification/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_notification_webhook_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// NotificationWebhookMapping Viewset +pub async fn propertymappings_notification_retrieve( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/notification/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// NotificationWebhookMapping Viewset +pub async fn propertymappings_notification_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + notification_webhook_mapping_request: models::NotificationWebhookMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/notification/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(¬ification_webhook_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn propertymappings_notification_used_by_list( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/notification/{pm_uuid}/used_by/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GoogleWorkspaceProviderMapping Viewset +pub async fn propertymappings_provider_google_workspace_create( + configuration: &configuration::Configuration, + google_workspace_provider_mapping_request: models::GoogleWorkspaceProviderMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/google_workspace/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&google_workspace_provider_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GoogleWorkspaceProviderMapping Viewset +pub async fn propertymappings_provider_google_workspace_destroy( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/google_workspace/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GoogleWorkspaceProviderMapping Viewset +pub async fn propertymappings_provider_google_workspace_list( + configuration: &configuration::Configuration, + expression: Option<&str>, + managed: Option>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + pm_uuid: Option<&str>, + search: Option<&str>, +) -> Result> +{ + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/google_workspace/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = expression { + local_var_req_builder = local_var_req_builder.query(&[("expression", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = managed { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("managed".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "managed", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = pm_uuid { + local_var_req_builder = local_var_req_builder.query(&[("pm_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GoogleWorkspaceProviderMapping Viewset +pub async fn propertymappings_provider_google_workspace_partial_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + patched_google_workspace_provider_mapping_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/google_workspace/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_google_workspace_provider_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GoogleWorkspaceProviderMapping Viewset +pub async fn propertymappings_provider_google_workspace_retrieve( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/google_workspace/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GoogleWorkspaceProviderMapping Viewset +pub async fn propertymappings_provider_google_workspace_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + google_workspace_provider_mapping_request: models::GoogleWorkspaceProviderMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/google_workspace/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&google_workspace_provider_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn propertymappings_provider_google_workspace_used_by_list( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/google_workspace/{pm_uuid}/used_by/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// MicrosoftEntraProviderMapping Viewset +pub async fn propertymappings_provider_microsoft_entra_create( + configuration: &configuration::Configuration, + microsoft_entra_provider_mapping_request: models::MicrosoftEntraProviderMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/microsoft_entra/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(µsoft_entra_provider_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// MicrosoftEntraProviderMapping Viewset +pub async fn propertymappings_provider_microsoft_entra_destroy( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/microsoft_entra/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// MicrosoftEntraProviderMapping Viewset +pub async fn propertymappings_provider_microsoft_entra_list( + configuration: &configuration::Configuration, + expression: Option<&str>, + managed: Option>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + pm_uuid: Option<&str>, + search: Option<&str>, +) -> Result> +{ + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/microsoft_entra/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = expression { + local_var_req_builder = local_var_req_builder.query(&[("expression", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = managed { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("managed".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "managed", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = pm_uuid { + local_var_req_builder = local_var_req_builder.query(&[("pm_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// MicrosoftEntraProviderMapping Viewset +pub async fn propertymappings_provider_microsoft_entra_partial_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + patched_microsoft_entra_provider_mapping_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/microsoft_entra/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_microsoft_entra_provider_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// MicrosoftEntraProviderMapping Viewset +pub async fn propertymappings_provider_microsoft_entra_retrieve( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/microsoft_entra/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// MicrosoftEntraProviderMapping Viewset +pub async fn propertymappings_provider_microsoft_entra_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + microsoft_entra_provider_mapping_request: models::MicrosoftEntraProviderMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/microsoft_entra/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(µsoft_entra_provider_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn propertymappings_provider_microsoft_entra_used_by_list( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/microsoft_entra/{pm_uuid}/used_by/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RACPropertyMapping Viewset +pub async fn propertymappings_provider_rac_create( + configuration: &configuration::Configuration, + rac_property_mapping_request: models::RacPropertyMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/propertymappings/provider/rac/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&rac_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RACPropertyMapping Viewset +pub async fn propertymappings_provider_rac_destroy( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/rac/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RACPropertyMapping Viewset +pub async fn propertymappings_provider_rac_list( + configuration: &configuration::Configuration, + managed: Option>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/propertymappings/provider/rac/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = managed { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("managed".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "managed", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RACPropertyMapping Viewset +pub async fn propertymappings_provider_rac_partial_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + patched_rac_property_mapping_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/rac/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_rac_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RACPropertyMapping Viewset +pub async fn propertymappings_provider_rac_retrieve( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/rac/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RACPropertyMapping Viewset +pub async fn propertymappings_provider_rac_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + rac_property_mapping_request: models::RacPropertyMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/rac/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&rac_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn propertymappings_provider_rac_used_by_list( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/rac/{pm_uuid}/used_by/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RadiusProviderPropertyMapping Viewset +pub async fn propertymappings_provider_radius_create( + configuration: &configuration::Configuration, + radius_provider_property_mapping_request: models::RadiusProviderPropertyMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/radius/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&radius_provider_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RadiusProviderPropertyMapping Viewset +pub async fn propertymappings_provider_radius_destroy( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/radius/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RadiusProviderPropertyMapping Viewset +pub async fn propertymappings_provider_radius_list( + configuration: &configuration::Configuration, + managed: Option>, + managed__isnull: Option, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/radius/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = managed { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("managed".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "managed", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = managed__isnull { + local_var_req_builder = local_var_req_builder.query(&[("managed__isnull", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RadiusProviderPropertyMapping Viewset +pub async fn propertymappings_provider_radius_partial_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + patched_radius_provider_property_mapping_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/radius/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_radius_provider_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RadiusProviderPropertyMapping Viewset +pub async fn propertymappings_provider_radius_retrieve( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/radius/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RadiusProviderPropertyMapping Viewset +pub async fn propertymappings_provider_radius_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + radius_provider_property_mapping_request: models::RadiusProviderPropertyMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/radius/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&radius_provider_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn propertymappings_provider_radius_used_by_list( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/radius/{pm_uuid}/used_by/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLPropertyMapping Viewset +pub async fn propertymappings_provider_saml_create( + configuration: &configuration::Configuration, + saml_property_mapping_request: models::SamlPropertyMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/propertymappings/provider/saml/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&saml_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLPropertyMapping Viewset +pub async fn propertymappings_provider_saml_destroy( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/saml/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLPropertyMapping Viewset +pub async fn propertymappings_provider_saml_list( + configuration: &configuration::Configuration, + friendly_name: Option<&str>, + managed: Option>, + managed__isnull: Option, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + saml_name: Option<&str>, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/propertymappings/provider/saml/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = friendly_name { + local_var_req_builder = local_var_req_builder.query(&[("friendly_name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = managed { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("managed".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "managed", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = managed__isnull { + local_var_req_builder = local_var_req_builder.query(&[("managed__isnull", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = saml_name { + local_var_req_builder = local_var_req_builder.query(&[("saml_name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLPropertyMapping Viewset +pub async fn propertymappings_provider_saml_partial_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + patched_saml_property_mapping_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/saml/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_saml_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLPropertyMapping Viewset +pub async fn propertymappings_provider_saml_retrieve( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/saml/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLPropertyMapping Viewset +pub async fn propertymappings_provider_saml_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + saml_property_mapping_request: models::SamlPropertyMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/saml/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&saml_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn propertymappings_provider_saml_used_by_list( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/saml/{pm_uuid}/used_by/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMMapping Viewset +pub async fn propertymappings_provider_scim_create( + configuration: &configuration::Configuration, + scim_mapping_request: models::ScimMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/propertymappings/provider/scim/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&scim_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMMapping Viewset +pub async fn propertymappings_provider_scim_destroy( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/scim/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMMapping Viewset +pub async fn propertymappings_provider_scim_list( + configuration: &configuration::Configuration, + managed: Option>, + managed__isnull: Option, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/propertymappings/provider/scim/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = managed { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("managed".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "managed", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = managed__isnull { + local_var_req_builder = local_var_req_builder.query(&[("managed__isnull", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMMapping Viewset +pub async fn propertymappings_provider_scim_partial_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + patched_scim_mapping_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/scim/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_scim_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMMapping Viewset +pub async fn propertymappings_provider_scim_retrieve( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/scim/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMMapping Viewset +pub async fn propertymappings_provider_scim_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + scim_mapping_request: models::ScimMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/scim/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&scim_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn propertymappings_provider_scim_used_by_list( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/scim/{pm_uuid}/used_by/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ScopeMapping Viewset +pub async fn propertymappings_provider_scope_create( + configuration: &configuration::Configuration, + scope_mapping_request: models::ScopeMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/propertymappings/provider/scope/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&scope_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ScopeMapping Viewset +pub async fn propertymappings_provider_scope_destroy( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/scope/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ScopeMapping Viewset +pub async fn propertymappings_provider_scope_list( + configuration: &configuration::Configuration, + managed: Option>, + managed__isnull: Option, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + scope_name: Option<&str>, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/propertymappings/provider/scope/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = managed { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("managed".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "managed", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = managed__isnull { + local_var_req_builder = local_var_req_builder.query(&[("managed__isnull", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = scope_name { + local_var_req_builder = local_var_req_builder.query(&[("scope_name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ScopeMapping Viewset +pub async fn propertymappings_provider_scope_partial_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + patched_scope_mapping_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/scope/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_scope_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ScopeMapping Viewset +pub async fn propertymappings_provider_scope_retrieve( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/scope/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ScopeMapping Viewset +pub async fn propertymappings_provider_scope_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + scope_mapping_request: models::ScopeMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/scope/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&scope_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn propertymappings_provider_scope_used_by_list( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/provider/scope/{pm_uuid}/used_by/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// LDAP PropertyMapping Viewset +pub async fn propertymappings_source_ldap_create( + configuration: &configuration::Configuration, + ldap_source_property_mapping_request: models::LdapSourcePropertyMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/propertymappings/source/ldap/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&ldap_source_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// LDAP PropertyMapping Viewset +pub async fn propertymappings_source_ldap_destroy( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/ldap/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// LDAP PropertyMapping Viewset +pub async fn propertymappings_source_ldap_list( + configuration: &configuration::Configuration, + managed: Option>, + managed__isnull: Option, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/propertymappings/source/ldap/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = managed { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("managed".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "managed", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = managed__isnull { + local_var_req_builder = local_var_req_builder.query(&[("managed__isnull", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// LDAP PropertyMapping Viewset +pub async fn propertymappings_source_ldap_partial_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + patched_ldap_source_property_mapping_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/ldap/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_ldap_source_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// LDAP PropertyMapping Viewset +pub async fn propertymappings_source_ldap_retrieve( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/ldap/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// LDAP PropertyMapping Viewset +pub async fn propertymappings_source_ldap_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + ldap_source_property_mapping_request: models::LdapSourcePropertyMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/ldap/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&ldap_source_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn propertymappings_source_ldap_used_by_list( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/ldap/{pm_uuid}/used_by/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// OAuthSourcePropertyMapping Viewset +pub async fn propertymappings_source_oauth_create( + configuration: &configuration::Configuration, + o_auth_source_property_mapping_request: models::OAuthSourcePropertyMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/propertymappings/source/oauth/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&o_auth_source_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// OAuthSourcePropertyMapping Viewset +pub async fn propertymappings_source_oauth_destroy( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/oauth/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// OAuthSourcePropertyMapping Viewset +pub async fn propertymappings_source_oauth_list( + configuration: &configuration::Configuration, + managed: Option>, + managed__isnull: Option, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/propertymappings/source/oauth/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = managed { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("managed".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "managed", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = managed__isnull { + local_var_req_builder = local_var_req_builder.query(&[("managed__isnull", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// OAuthSourcePropertyMapping Viewset +pub async fn propertymappings_source_oauth_partial_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + patched_o_auth_source_property_mapping_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/oauth/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_o_auth_source_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// OAuthSourcePropertyMapping Viewset +pub async fn propertymappings_source_oauth_retrieve( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/oauth/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// OAuthSourcePropertyMapping Viewset +pub async fn propertymappings_source_oauth_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + o_auth_source_property_mapping_request: models::OAuthSourcePropertyMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/oauth/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&o_auth_source_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn propertymappings_source_oauth_used_by_list( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/oauth/{pm_uuid}/used_by/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PlexSourcePropertyMapping Viewset +pub async fn propertymappings_source_plex_create( + configuration: &configuration::Configuration, + plex_source_property_mapping_request: models::PlexSourcePropertyMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/propertymappings/source/plex/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&plex_source_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PlexSourcePropertyMapping Viewset +pub async fn propertymappings_source_plex_destroy( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/plex/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PlexSourcePropertyMapping Viewset +pub async fn propertymappings_source_plex_list( + configuration: &configuration::Configuration, + managed: Option>, + managed__isnull: Option, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/propertymappings/source/plex/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = managed { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("managed".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "managed", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = managed__isnull { + local_var_req_builder = local_var_req_builder.query(&[("managed__isnull", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PlexSourcePropertyMapping Viewset +pub async fn propertymappings_source_plex_partial_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + patched_plex_source_property_mapping_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/plex/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_plex_source_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PlexSourcePropertyMapping Viewset +pub async fn propertymappings_source_plex_retrieve( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/plex/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PlexSourcePropertyMapping Viewset +pub async fn propertymappings_source_plex_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + plex_source_property_mapping_request: models::PlexSourcePropertyMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/plex/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&plex_source_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn propertymappings_source_plex_used_by_list( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/plex/{pm_uuid}/used_by/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLSourcePropertyMapping Viewset +pub async fn propertymappings_source_saml_create( + configuration: &configuration::Configuration, + saml_source_property_mapping_request: models::SamlSourcePropertyMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/propertymappings/source/saml/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&saml_source_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLSourcePropertyMapping Viewset +pub async fn propertymappings_source_saml_destroy( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/saml/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLSourcePropertyMapping Viewset +pub async fn propertymappings_source_saml_list( + configuration: &configuration::Configuration, + managed: Option>, + managed__isnull: Option, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/propertymappings/source/saml/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = managed { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("managed".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "managed", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = managed__isnull { + local_var_req_builder = local_var_req_builder.query(&[("managed__isnull", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLSourcePropertyMapping Viewset +pub async fn propertymappings_source_saml_partial_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + patched_saml_source_property_mapping_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/saml/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_saml_source_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLSourcePropertyMapping Viewset +pub async fn propertymappings_source_saml_retrieve( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/saml/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLSourcePropertyMapping Viewset +pub async fn propertymappings_source_saml_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + saml_source_property_mapping_request: models::SamlSourcePropertyMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/saml/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&saml_source_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn propertymappings_source_saml_used_by_list( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/saml/{pm_uuid}/used_by/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSourcePropertyMapping Viewset +pub async fn propertymappings_source_scim_create( + configuration: &configuration::Configuration, + scim_source_property_mapping_request: models::ScimSourcePropertyMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/propertymappings/source/scim/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&scim_source_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSourcePropertyMapping Viewset +pub async fn propertymappings_source_scim_destroy( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/scim/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSourcePropertyMapping Viewset +pub async fn propertymappings_source_scim_list( + configuration: &configuration::Configuration, + managed: Option>, + managed__isnull: Option, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/propertymappings/source/scim/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = managed { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("managed".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "managed", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = managed__isnull { + local_var_req_builder = local_var_req_builder.query(&[("managed__isnull", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSourcePropertyMapping Viewset +pub async fn propertymappings_source_scim_partial_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + patched_scim_source_property_mapping_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/scim/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_scim_source_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSourcePropertyMapping Viewset +pub async fn propertymappings_source_scim_retrieve( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/scim/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSourcePropertyMapping Viewset +pub async fn propertymappings_source_scim_update( + configuration: &configuration::Configuration, + pm_uuid: &str, + scim_source_property_mapping_request: models::ScimSourcePropertyMappingRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/scim/{pm_uuid}/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&scim_source_property_mapping_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn propertymappings_source_scim_used_by_list( + configuration: &configuration::Configuration, + pm_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/propertymappings/source/scim/{pm_uuid}/used_by/", + local_var_configuration.base_path, + pm_uuid = crate::apis::urlencode(pm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} diff --git a/src/apis/providers_api.rs b/src/apis/providers_api.rs new file mode 100644 index 0000000..c61477c --- /dev/null +++ b/src/apis/providers_api.rs @@ -0,0 +1,6167 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use super::{configuration, Error}; +use crate::{apis::ResponseContent, models}; +use reqwest; +use serde::{Deserialize, Serialize}; + +/// struct for typed errors of method [`providers_all_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersAllDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_all_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersAllListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_all_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersAllRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_all_types_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersAllTypesListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_all_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersAllUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_google_workspace_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersGoogleWorkspaceCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_google_workspace_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersGoogleWorkspaceDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_google_workspace_groups_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersGoogleWorkspaceGroupsCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_google_workspace_groups_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersGoogleWorkspaceGroupsDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_google_workspace_groups_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersGoogleWorkspaceGroupsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_google_workspace_groups_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersGoogleWorkspaceGroupsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_google_workspace_groups_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersGoogleWorkspaceGroupsUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_google_workspace_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersGoogleWorkspaceListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_google_workspace_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersGoogleWorkspacePartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_google_workspace_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersGoogleWorkspaceRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_google_workspace_sync_object_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersGoogleWorkspaceSyncObjectCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_google_workspace_sync_status_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersGoogleWorkspaceSyncStatusRetrieveError { + Status404(), + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_google_workspace_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersGoogleWorkspaceUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_google_workspace_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersGoogleWorkspaceUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_google_workspace_users_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersGoogleWorkspaceUsersCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_google_workspace_users_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersGoogleWorkspaceUsersDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_google_workspace_users_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersGoogleWorkspaceUsersListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_google_workspace_users_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersGoogleWorkspaceUsersRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_google_workspace_users_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersGoogleWorkspaceUsersUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_ldap_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersLdapCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_ldap_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersLdapDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_ldap_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersLdapListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_ldap_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersLdapPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_ldap_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersLdapRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_ldap_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersLdapUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_ldap_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersLdapUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_microsoft_entra_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersMicrosoftEntraCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_microsoft_entra_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersMicrosoftEntraDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_microsoft_entra_groups_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersMicrosoftEntraGroupsCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_microsoft_entra_groups_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersMicrosoftEntraGroupsDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_microsoft_entra_groups_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersMicrosoftEntraGroupsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_microsoft_entra_groups_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersMicrosoftEntraGroupsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_microsoft_entra_groups_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersMicrosoftEntraGroupsUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_microsoft_entra_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersMicrosoftEntraListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_microsoft_entra_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersMicrosoftEntraPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_microsoft_entra_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersMicrosoftEntraRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_microsoft_entra_sync_object_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersMicrosoftEntraSyncObjectCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_microsoft_entra_sync_status_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersMicrosoftEntraSyncStatusRetrieveError { + Status404(), + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_microsoft_entra_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersMicrosoftEntraUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_microsoft_entra_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersMicrosoftEntraUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_microsoft_entra_users_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersMicrosoftEntraUsersCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_microsoft_entra_users_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersMicrosoftEntraUsersDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_microsoft_entra_users_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersMicrosoftEntraUsersListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_microsoft_entra_users_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersMicrosoftEntraUsersRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_microsoft_entra_users_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersMicrosoftEntraUsersUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_oauth2_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersOauth2CreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_oauth2_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersOauth2DestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_oauth2_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersOauth2ListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_oauth2_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersOauth2PartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_oauth2_preview_user_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersOauth2PreviewUserRetrieveError { + Status400(), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_oauth2_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersOauth2RetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_oauth2_setup_urls_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersOauth2SetupUrlsRetrieveError { + Status404(), + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_oauth2_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersOauth2UpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_oauth2_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersOauth2UsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_proxy_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersProxyCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_proxy_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersProxyDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_proxy_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersProxyListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_proxy_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersProxyPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_proxy_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersProxyRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_proxy_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersProxyUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_proxy_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersProxyUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_rac_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersRacCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_rac_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersRacDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_rac_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersRacListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_rac_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersRacPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_rac_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersRacRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_rac_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersRacUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_rac_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersRacUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_radius_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersRadiusCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_radius_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersRadiusDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_radius_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersRadiusListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_radius_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersRadiusPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_radius_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersRadiusRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_radius_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersRadiusUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_radius_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersRadiusUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_saml_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersSamlCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_saml_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersSamlDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_saml_import_metadata_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersSamlImportMetadataCreateError { + Status400(), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_saml_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersSamlListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_saml_metadata_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersSamlMetadataRetrieveError { + Status404(), + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_saml_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersSamlPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_saml_preview_user_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersSamlPreviewUserRetrieveError { + Status400(), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_saml_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersSamlRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_saml_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersSamlUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_saml_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersSamlUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_scim_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersScimCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_scim_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersScimDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_scim_groups_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersScimGroupsCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_scim_groups_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersScimGroupsDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_scim_groups_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersScimGroupsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_scim_groups_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersScimGroupsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_scim_groups_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersScimGroupsUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_scim_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersScimListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_scim_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersScimPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_scim_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersScimRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_scim_sync_object_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersScimSyncObjectCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_scim_sync_status_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersScimSyncStatusRetrieveError { + Status404(), + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_scim_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersScimUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_scim_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersScimUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_scim_users_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersScimUsersCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_scim_users_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersScimUsersDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_scim_users_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersScimUsersListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_scim_users_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersScimUsersRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`providers_scim_users_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProvidersScimUsersUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// Provider Viewset +pub async fn providers_all_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/all/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Provider Viewset +pub async fn providers_all_list( + configuration: &configuration::Configuration, + application__isnull: Option, + backchannel: Option, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/all/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = application__isnull { + local_var_req_builder = local_var_req_builder.query(&[("application__isnull", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = backchannel { + local_var_req_builder = local_var_req_builder.query(&[("backchannel", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Provider Viewset +pub async fn providers_all_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/all/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get all creatable types +pub async fn providers_all_types_list( + configuration: &configuration::Configuration, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/all/types/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn providers_all_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/all/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GoogleWorkspaceProvider Viewset +pub async fn providers_google_workspace_create( + configuration: &configuration::Configuration, + google_workspace_provider_request: models::GoogleWorkspaceProviderRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/google_workspace/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&google_workspace_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GoogleWorkspaceProvider Viewset +pub async fn providers_google_workspace_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/google_workspace/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GoogleWorkspaceProviderGroup Viewset +pub async fn providers_google_workspace_groups_create( + configuration: &configuration::Configuration, + google_workspace_provider_group_request: models::GoogleWorkspaceProviderGroupRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/google_workspace_groups/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&google_workspace_provider_group_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GoogleWorkspaceProviderGroup Viewset +pub async fn providers_google_workspace_groups_destroy( + configuration: &configuration::Configuration, + id: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/google_workspace_groups/{id}/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GoogleWorkspaceProviderGroup Viewset +pub async fn providers_google_workspace_groups_list( + configuration: &configuration::Configuration, + group__group_uuid: Option<&str>, + group__name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + provider__id: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/google_workspace_groups/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = group__group_uuid { + local_var_req_builder = local_var_req_builder.query(&[("group__group_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = group__name { + local_var_req_builder = local_var_req_builder.query(&[("group__name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = provider__id { + local_var_req_builder = local_var_req_builder.query(&[("provider__id", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GoogleWorkspaceProviderGroup Viewset +pub async fn providers_google_workspace_groups_retrieve( + configuration: &configuration::Configuration, + id: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/google_workspace_groups/{id}/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn providers_google_workspace_groups_used_by_list( + configuration: &configuration::Configuration, + id: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/google_workspace_groups/{id}/used_by/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GoogleWorkspaceProvider Viewset +pub async fn providers_google_workspace_list( + configuration: &configuration::Configuration, + delegated_subject: Option<&str>, + exclude_users_service_account: Option, + filter_group: Option<&str>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/google_workspace/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = delegated_subject { + local_var_req_builder = local_var_req_builder.query(&[("delegated_subject", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = exclude_users_service_account { + local_var_req_builder = + local_var_req_builder.query(&[("exclude_users_service_account", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = filter_group { + local_var_req_builder = local_var_req_builder.query(&[("filter_group", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GoogleWorkspaceProvider Viewset +pub async fn providers_google_workspace_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_google_workspace_provider_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/google_workspace/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_google_workspace_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GoogleWorkspaceProvider Viewset +pub async fn providers_google_workspace_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/google_workspace/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Sync/Re-sync a single user/group object +pub async fn providers_google_workspace_sync_object_create( + configuration: &configuration::Configuration, + id: i32, + sync_object_request: models::SyncObjectRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/google_workspace/{id}/sync/object/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&sync_object_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get provider's sync status +pub async fn providers_google_workspace_sync_status_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/google_workspace/{id}/sync/status/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GoogleWorkspaceProvider Viewset +pub async fn providers_google_workspace_update( + configuration: &configuration::Configuration, + id: i32, + google_workspace_provider_request: models::GoogleWorkspaceProviderRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/google_workspace/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&google_workspace_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn providers_google_workspace_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/google_workspace/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GoogleWorkspaceProviderUser Viewset +pub async fn providers_google_workspace_users_create( + configuration: &configuration::Configuration, + google_workspace_provider_user_request: models::GoogleWorkspaceProviderUserRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/google_workspace_users/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&google_workspace_provider_user_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GoogleWorkspaceProviderUser Viewset +pub async fn providers_google_workspace_users_destroy( + configuration: &configuration::Configuration, + id: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/google_workspace_users/{id}/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GoogleWorkspaceProviderUser Viewset +pub async fn providers_google_workspace_users_list( + configuration: &configuration::Configuration, + ordering: Option<&str>, + page: Option, + page_size: Option, + provider__id: Option, + search: Option<&str>, + user__id: Option, + user__username: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/google_workspace_users/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = provider__id { + local_var_req_builder = local_var_req_builder.query(&[("provider__id", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user__id { + local_var_req_builder = local_var_req_builder.query(&[("user__id", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user__username { + local_var_req_builder = local_var_req_builder.query(&[("user__username", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// GoogleWorkspaceProviderUser Viewset +pub async fn providers_google_workspace_users_retrieve( + configuration: &configuration::Configuration, + id: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/google_workspace_users/{id}/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn providers_google_workspace_users_used_by_list( + configuration: &configuration::Configuration, + id: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/google_workspace_users/{id}/used_by/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// LDAPProvider Viewset +pub async fn providers_ldap_create( + configuration: &configuration::Configuration, + ldap_provider_request: models::LdapProviderRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/ldap/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&ldap_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// LDAPProvider Viewset +pub async fn providers_ldap_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/ldap/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// LDAPProvider Viewset +pub async fn providers_ldap_list( + configuration: &configuration::Configuration, + application__isnull: Option, + authorization_flow__slug__iexact: Option<&str>, + base_dn__iexact: Option<&str>, + certificate__kp_uuid__iexact: Option<&str>, + certificate__name__iexact: Option<&str>, + gid_start_number__iexact: Option, + name__iexact: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + tls_server_name__iexact: Option<&str>, + uid_start_number__iexact: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/ldap/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = application__isnull { + local_var_req_builder = local_var_req_builder.query(&[("application__isnull", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = authorization_flow__slug__iexact { + local_var_req_builder = + local_var_req_builder.query(&[("authorization_flow__slug__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = base_dn__iexact { + local_var_req_builder = local_var_req_builder.query(&[("base_dn__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = certificate__kp_uuid__iexact { + local_var_req_builder = + local_var_req_builder.query(&[("certificate__kp_uuid__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = certificate__name__iexact { + local_var_req_builder = + local_var_req_builder.query(&[("certificate__name__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = gid_start_number__iexact { + local_var_req_builder = + local_var_req_builder.query(&[("gid_start_number__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name__iexact { + local_var_req_builder = local_var_req_builder.query(&[("name__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = tls_server_name__iexact { + local_var_req_builder = local_var_req_builder.query(&[("tls_server_name__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = uid_start_number__iexact { + local_var_req_builder = + local_var_req_builder.query(&[("uid_start_number__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// LDAPProvider Viewset +pub async fn providers_ldap_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_ldap_provider_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/ldap/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_ldap_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// LDAPProvider Viewset +pub async fn providers_ldap_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/ldap/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// LDAPProvider Viewset +pub async fn providers_ldap_update( + configuration: &configuration::Configuration, + id: i32, + ldap_provider_request: models::LdapProviderRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/ldap/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&ldap_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn providers_ldap_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/ldap/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// MicrosoftEntraProvider Viewset +pub async fn providers_microsoft_entra_create( + configuration: &configuration::Configuration, + microsoft_entra_provider_request: models::MicrosoftEntraProviderRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/microsoft_entra/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(µsoft_entra_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// MicrosoftEntraProvider Viewset +pub async fn providers_microsoft_entra_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/microsoft_entra/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// MicrosoftEntraProviderGroup Viewset +pub async fn providers_microsoft_entra_groups_create( + configuration: &configuration::Configuration, + microsoft_entra_provider_group_request: models::MicrosoftEntraProviderGroupRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/microsoft_entra_groups/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(µsoft_entra_provider_group_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// MicrosoftEntraProviderGroup Viewset +pub async fn providers_microsoft_entra_groups_destroy( + configuration: &configuration::Configuration, + id: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/microsoft_entra_groups/{id}/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// MicrosoftEntraProviderGroup Viewset +pub async fn providers_microsoft_entra_groups_list( + configuration: &configuration::Configuration, + group__group_uuid: Option<&str>, + group__name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + provider__id: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/microsoft_entra_groups/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = group__group_uuid { + local_var_req_builder = local_var_req_builder.query(&[("group__group_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = group__name { + local_var_req_builder = local_var_req_builder.query(&[("group__name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = provider__id { + local_var_req_builder = local_var_req_builder.query(&[("provider__id", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// MicrosoftEntraProviderGroup Viewset +pub async fn providers_microsoft_entra_groups_retrieve( + configuration: &configuration::Configuration, + id: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/microsoft_entra_groups/{id}/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn providers_microsoft_entra_groups_used_by_list( + configuration: &configuration::Configuration, + id: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/microsoft_entra_groups/{id}/used_by/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// MicrosoftEntraProvider Viewset +pub async fn providers_microsoft_entra_list( + configuration: &configuration::Configuration, + exclude_users_service_account: Option, + filter_group: Option<&str>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/microsoft_entra/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = exclude_users_service_account { + local_var_req_builder = + local_var_req_builder.query(&[("exclude_users_service_account", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = filter_group { + local_var_req_builder = local_var_req_builder.query(&[("filter_group", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// MicrosoftEntraProvider Viewset +pub async fn providers_microsoft_entra_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_microsoft_entra_provider_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/microsoft_entra/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_microsoft_entra_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// MicrosoftEntraProvider Viewset +pub async fn providers_microsoft_entra_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/microsoft_entra/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Sync/Re-sync a single user/group object +pub async fn providers_microsoft_entra_sync_object_create( + configuration: &configuration::Configuration, + id: i32, + sync_object_request: models::SyncObjectRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/microsoft_entra/{id}/sync/object/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&sync_object_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get provider's sync status +pub async fn providers_microsoft_entra_sync_status_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/microsoft_entra/{id}/sync/status/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// MicrosoftEntraProvider Viewset +pub async fn providers_microsoft_entra_update( + configuration: &configuration::Configuration, + id: i32, + microsoft_entra_provider_request: models::MicrosoftEntraProviderRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/microsoft_entra/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(µsoft_entra_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn providers_microsoft_entra_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/microsoft_entra/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// MicrosoftEntraProviderUser Viewset +pub async fn providers_microsoft_entra_users_create( + configuration: &configuration::Configuration, + microsoft_entra_provider_user_request: models::MicrosoftEntraProviderUserRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/microsoft_entra_users/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(µsoft_entra_provider_user_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// MicrosoftEntraProviderUser Viewset +pub async fn providers_microsoft_entra_users_destroy( + configuration: &configuration::Configuration, + id: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/microsoft_entra_users/{id}/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// MicrosoftEntraProviderUser Viewset +pub async fn providers_microsoft_entra_users_list( + configuration: &configuration::Configuration, + ordering: Option<&str>, + page: Option, + page_size: Option, + provider__id: Option, + search: Option<&str>, + user__id: Option, + user__username: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/microsoft_entra_users/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = provider__id { + local_var_req_builder = local_var_req_builder.query(&[("provider__id", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user__id { + local_var_req_builder = local_var_req_builder.query(&[("user__id", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user__username { + local_var_req_builder = local_var_req_builder.query(&[("user__username", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// MicrosoftEntraProviderUser Viewset +pub async fn providers_microsoft_entra_users_retrieve( + configuration: &configuration::Configuration, + id: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/microsoft_entra_users/{id}/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn providers_microsoft_entra_users_used_by_list( + configuration: &configuration::Configuration, + id: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/microsoft_entra_users/{id}/used_by/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// OAuth2Provider Viewset +pub async fn providers_oauth2_create( + configuration: &configuration::Configuration, + o_auth2_provider_request: models::OAuth2ProviderRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/oauth2/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&o_auth2_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// OAuth2Provider Viewset +pub async fn providers_oauth2_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/oauth2/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// OAuth2Provider Viewset +pub async fn providers_oauth2_list( + configuration: &configuration::Configuration, + access_code_validity: Option<&str>, + access_token_validity: Option<&str>, + application: Option<&str>, + authorization_flow: Option<&str>, + client_id: Option<&str>, + client_type: Option<&str>, + include_claims_in_id_token: Option, + issuer_mode: Option<&str>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + property_mappings: Option>, + redirect_uris: Option<&str>, + refresh_token_validity: Option<&str>, + search: Option<&str>, + signing_key: Option<&str>, + sub_mode: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/oauth2/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = access_code_validity { + local_var_req_builder = local_var_req_builder.query(&[("access_code_validity", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = access_token_validity { + local_var_req_builder = local_var_req_builder.query(&[("access_token_validity", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = application { + local_var_req_builder = local_var_req_builder.query(&[("application", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = authorization_flow { + local_var_req_builder = local_var_req_builder.query(&[("authorization_flow", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = client_id { + local_var_req_builder = local_var_req_builder.query(&[("client_id", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = client_type { + local_var_req_builder = local_var_req_builder.query(&[("client_type", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = include_claims_in_id_token { + local_var_req_builder = + local_var_req_builder.query(&[("include_claims_in_id_token", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = issuer_mode { + local_var_req_builder = local_var_req_builder.query(&[("issuer_mode", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = property_mappings { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("property_mappings".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "property_mappings", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = redirect_uris { + local_var_req_builder = local_var_req_builder.query(&[("redirect_uris", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = refresh_token_validity { + local_var_req_builder = local_var_req_builder.query(&[("refresh_token_validity", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = signing_key { + local_var_req_builder = local_var_req_builder.query(&[("signing_key", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = sub_mode { + local_var_req_builder = local_var_req_builder.query(&[("sub_mode", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// OAuth2Provider Viewset +pub async fn providers_oauth2_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_o_auth2_provider_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/oauth2/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_o_auth2_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Preview user data for provider +pub async fn providers_oauth2_preview_user_retrieve( + configuration: &configuration::Configuration, + id: i32, + for_user: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/oauth2/{id}/preview_user/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = for_user { + local_var_req_builder = local_var_req_builder.query(&[("for_user", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// OAuth2Provider Viewset +pub async fn providers_oauth2_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/oauth2/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get Providers setup URLs +pub async fn providers_oauth2_setup_urls_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/oauth2/{id}/setup_urls/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// OAuth2Provider Viewset +pub async fn providers_oauth2_update( + configuration: &configuration::Configuration, + id: i32, + o_auth2_provider_request: models::OAuth2ProviderRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/oauth2/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&o_auth2_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn providers_oauth2_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/oauth2/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ProxyProvider Viewset +pub async fn providers_proxy_create( + configuration: &configuration::Configuration, + proxy_provider_request: models::ProxyProviderRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/proxy/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&proxy_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ProxyProvider Viewset +pub async fn providers_proxy_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/proxy/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ProxyProvider Viewset +pub async fn providers_proxy_list( + configuration: &configuration::Configuration, + application__isnull: Option, + authorization_flow__slug__iexact: Option<&str>, + basic_auth_enabled__iexact: Option, + basic_auth_password_attribute__iexact: Option<&str>, + basic_auth_user_attribute__iexact: Option<&str>, + certificate__kp_uuid__iexact: Option<&str>, + certificate__name__iexact: Option<&str>, + cookie_domain__iexact: Option<&str>, + external_host__iexact: Option<&str>, + internal_host__iexact: Option<&str>, + internal_host_ssl_validation__iexact: Option, + mode__iexact: Option<&str>, + name__iexact: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + property_mappings__iexact: Option>, + redirect_uris__iexact: Option<&str>, + search: Option<&str>, + skip_path_regex__iexact: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/proxy/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = application__isnull { + local_var_req_builder = local_var_req_builder.query(&[("application__isnull", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = authorization_flow__slug__iexact { + local_var_req_builder = + local_var_req_builder.query(&[("authorization_flow__slug__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = basic_auth_enabled__iexact { + local_var_req_builder = + local_var_req_builder.query(&[("basic_auth_enabled__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = basic_auth_password_attribute__iexact { + local_var_req_builder = + local_var_req_builder.query(&[("basic_auth_password_attribute__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = basic_auth_user_attribute__iexact { + local_var_req_builder = + local_var_req_builder.query(&[("basic_auth_user_attribute__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = certificate__kp_uuid__iexact { + local_var_req_builder = + local_var_req_builder.query(&[("certificate__kp_uuid__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = certificate__name__iexact { + local_var_req_builder = + local_var_req_builder.query(&[("certificate__name__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = cookie_domain__iexact { + local_var_req_builder = local_var_req_builder.query(&[("cookie_domain__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = external_host__iexact { + local_var_req_builder = local_var_req_builder.query(&[("external_host__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = internal_host__iexact { + local_var_req_builder = local_var_req_builder.query(&[("internal_host__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = internal_host_ssl_validation__iexact { + local_var_req_builder = + local_var_req_builder.query(&[("internal_host_ssl_validation__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = mode__iexact { + local_var_req_builder = local_var_req_builder.query(&[("mode__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name__iexact { + local_var_req_builder = local_var_req_builder.query(&[("name__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = property_mappings__iexact { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("property_mappings__iexact".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "property_mappings__iexact", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = redirect_uris__iexact { + local_var_req_builder = local_var_req_builder.query(&[("redirect_uris__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = skip_path_regex__iexact { + local_var_req_builder = local_var_req_builder.query(&[("skip_path_regex__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ProxyProvider Viewset +pub async fn providers_proxy_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_proxy_provider_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/proxy/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_proxy_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ProxyProvider Viewset +pub async fn providers_proxy_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/proxy/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ProxyProvider Viewset +pub async fn providers_proxy_update( + configuration: &configuration::Configuration, + id: i32, + proxy_provider_request: models::ProxyProviderRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/proxy/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&proxy_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn providers_proxy_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/proxy/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RACProvider Viewset +pub async fn providers_rac_create( + configuration: &configuration::Configuration, + rac_provider_request: models::RacProviderRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/rac/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&rac_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RACProvider Viewset +pub async fn providers_rac_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/rac/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RACProvider Viewset +pub async fn providers_rac_list( + configuration: &configuration::Configuration, + application__isnull: Option, + name__iexact: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/rac/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = application__isnull { + local_var_req_builder = local_var_req_builder.query(&[("application__isnull", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name__iexact { + local_var_req_builder = local_var_req_builder.query(&[("name__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RACProvider Viewset +pub async fn providers_rac_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_rac_provider_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/rac/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_rac_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RACProvider Viewset +pub async fn providers_rac_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/rac/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RACProvider Viewset +pub async fn providers_rac_update( + configuration: &configuration::Configuration, + id: i32, + rac_provider_request: models::RacProviderRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/rac/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&rac_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn providers_rac_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/rac/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RadiusProvider Viewset +pub async fn providers_radius_create( + configuration: &configuration::Configuration, + radius_provider_request: models::RadiusProviderRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/radius/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&radius_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RadiusProvider Viewset +pub async fn providers_radius_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/radius/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RadiusProvider Viewset +pub async fn providers_radius_list( + configuration: &configuration::Configuration, + application__isnull: Option, + authorization_flow__slug__iexact: Option<&str>, + client_networks__iexact: Option<&str>, + name__iexact: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/radius/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = application__isnull { + local_var_req_builder = local_var_req_builder.query(&[("application__isnull", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = authorization_flow__slug__iexact { + local_var_req_builder = + local_var_req_builder.query(&[("authorization_flow__slug__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = client_networks__iexact { + local_var_req_builder = local_var_req_builder.query(&[("client_networks__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name__iexact { + local_var_req_builder = local_var_req_builder.query(&[("name__iexact", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RadiusProvider Viewset +pub async fn providers_radius_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_radius_provider_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/radius/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_radius_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RadiusProvider Viewset +pub async fn providers_radius_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/radius/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// RadiusProvider Viewset +pub async fn providers_radius_update( + configuration: &configuration::Configuration, + id: i32, + radius_provider_request: models::RadiusProviderRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/radius/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&radius_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn providers_radius_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/radius/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLProvider Viewset +pub async fn providers_saml_create( + configuration: &configuration::Configuration, + saml_provider_request: models::SamlProviderRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/saml/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&saml_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLProvider Viewset +pub async fn providers_saml_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/saml/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Create provider from SAML Metadata +pub async fn providers_saml_import_metadata_create( + configuration: &configuration::Configuration, + name: &str, + authorization_flow: &str, + file: std::path::PathBuf, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/saml/import_metadata/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + let mut local_var_form = reqwest::multipart::Form::new(); + local_var_form = local_var_form.text("name", name.to_string()); + local_var_form = local_var_form.text("authorization_flow", authorization_flow.to_string()); + // TODO: support file upload for 'file' parameter + local_var_req_builder = local_var_req_builder.multipart(local_var_form); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLProvider Viewset +pub async fn providers_saml_list( + configuration: &configuration::Configuration, + acs_url: Option<&str>, + assertion_valid_not_before: Option<&str>, + assertion_valid_not_on_or_after: Option<&str>, + audience: Option<&str>, + authentication_flow: Option<&str>, + authorization_flow: Option<&str>, + backchannel_application: Option<&str>, + default_relay_state: Option<&str>, + digest_algorithm: Option<&str>, + encryption_kp: Option<&str>, + is_backchannel: Option, + issuer: Option<&str>, + name: Option<&str>, + name_id_mapping: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + property_mappings: Option>, + search: Option<&str>, + session_valid_not_on_or_after: Option<&str>, + sign_assertion: Option, + sign_response: Option, + signature_algorithm: Option<&str>, + signing_kp: Option<&str>, + sp_binding: Option<&str>, + verification_kp: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/saml/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = acs_url { + local_var_req_builder = local_var_req_builder.query(&[("acs_url", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = assertion_valid_not_before { + local_var_req_builder = + local_var_req_builder.query(&[("assertion_valid_not_before", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = assertion_valid_not_on_or_after { + local_var_req_builder = + local_var_req_builder.query(&[("assertion_valid_not_on_or_after", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = audience { + local_var_req_builder = local_var_req_builder.query(&[("audience", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = authentication_flow { + local_var_req_builder = local_var_req_builder.query(&[("authentication_flow", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = authorization_flow { + local_var_req_builder = local_var_req_builder.query(&[("authorization_flow", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = backchannel_application { + local_var_req_builder = local_var_req_builder.query(&[("backchannel_application", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = default_relay_state { + local_var_req_builder = local_var_req_builder.query(&[("default_relay_state", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = digest_algorithm { + local_var_req_builder = local_var_req_builder.query(&[("digest_algorithm", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = encryption_kp { + local_var_req_builder = local_var_req_builder.query(&[("encryption_kp", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = is_backchannel { + local_var_req_builder = local_var_req_builder.query(&[("is_backchannel", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = issuer { + local_var_req_builder = local_var_req_builder.query(&[("issuer", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name_id_mapping { + local_var_req_builder = local_var_req_builder.query(&[("name_id_mapping", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = property_mappings { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("property_mappings".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "property_mappings", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = session_valid_not_on_or_after { + local_var_req_builder = + local_var_req_builder.query(&[("session_valid_not_on_or_after", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = sign_assertion { + local_var_req_builder = local_var_req_builder.query(&[("sign_assertion", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = sign_response { + local_var_req_builder = local_var_req_builder.query(&[("sign_response", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = signature_algorithm { + local_var_req_builder = local_var_req_builder.query(&[("signature_algorithm", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = signing_kp { + local_var_req_builder = local_var_req_builder.query(&[("signing_kp", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = sp_binding { + local_var_req_builder = local_var_req_builder.query(&[("sp_binding", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = verification_kp { + local_var_req_builder = local_var_req_builder.query(&[("verification_kp", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Return metadata as XML string +pub async fn providers_saml_metadata_retrieve( + configuration: &configuration::Configuration, + id: i32, + download: Option, + force_binding: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/saml/{id}/metadata/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = download { + local_var_req_builder = local_var_req_builder.query(&[("download", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = force_binding { + local_var_req_builder = local_var_req_builder.query(&[("force_binding", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLProvider Viewset +pub async fn providers_saml_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_saml_provider_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/saml/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_saml_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Preview user data for provider +pub async fn providers_saml_preview_user_retrieve( + configuration: &configuration::Configuration, + id: i32, + for_user: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/saml/{id}/preview_user/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = for_user { + local_var_req_builder = local_var_req_builder.query(&[("for_user", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLProvider Viewset +pub async fn providers_saml_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/saml/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLProvider Viewset +pub async fn providers_saml_update( + configuration: &configuration::Configuration, + id: i32, + saml_provider_request: models::SamlProviderRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/saml/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&saml_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn providers_saml_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/saml/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMProvider Viewset +pub async fn providers_scim_create( + configuration: &configuration::Configuration, + scim_provider_request: models::ScimProviderRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/scim/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&scim_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMProvider Viewset +pub async fn providers_scim_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/scim/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMProviderGroup Viewset +pub async fn providers_scim_groups_create( + configuration: &configuration::Configuration, + scim_provider_group_request: models::ScimProviderGroupRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/scim_groups/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&scim_provider_group_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMProviderGroup Viewset +pub async fn providers_scim_groups_destroy( + configuration: &configuration::Configuration, + id: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/scim_groups/{id}/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMProviderGroup Viewset +pub async fn providers_scim_groups_list( + configuration: &configuration::Configuration, + group__group_uuid: Option<&str>, + group__name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + provider__id: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/scim_groups/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = group__group_uuid { + local_var_req_builder = local_var_req_builder.query(&[("group__group_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = group__name { + local_var_req_builder = local_var_req_builder.query(&[("group__name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = provider__id { + local_var_req_builder = local_var_req_builder.query(&[("provider__id", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMProviderGroup Viewset +pub async fn providers_scim_groups_retrieve( + configuration: &configuration::Configuration, + id: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/scim_groups/{id}/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn providers_scim_groups_used_by_list( + configuration: &configuration::Configuration, + id: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/scim_groups/{id}/used_by/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMProvider Viewset +pub async fn providers_scim_list( + configuration: &configuration::Configuration, + exclude_users_service_account: Option, + filter_group: Option<&str>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + url: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/scim/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = exclude_users_service_account { + local_var_req_builder = + local_var_req_builder.query(&[("exclude_users_service_account", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = filter_group { + local_var_req_builder = local_var_req_builder.query(&[("filter_group", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = url { + local_var_req_builder = local_var_req_builder.query(&[("url", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMProvider Viewset +pub async fn providers_scim_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_scim_provider_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/scim/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_scim_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMProvider Viewset +pub async fn providers_scim_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/scim/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Sync/Re-sync a single user/group object +pub async fn providers_scim_sync_object_create( + configuration: &configuration::Configuration, + id: i32, + sync_object_request: models::SyncObjectRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/scim/{id}/sync/object/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&sync_object_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get provider's sync status +pub async fn providers_scim_sync_status_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/scim/{id}/sync/status/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMProvider Viewset +pub async fn providers_scim_update( + configuration: &configuration::Configuration, + id: i32, + scim_provider_request: models::ScimProviderRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/scim/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&scim_provider_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn providers_scim_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/scim/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMProviderUser Viewset +pub async fn providers_scim_users_create( + configuration: &configuration::Configuration, + scim_provider_user_request: models::ScimProviderUserRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/scim_users/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&scim_provider_user_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMProviderUser Viewset +pub async fn providers_scim_users_destroy( + configuration: &configuration::Configuration, + id: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/scim_users/{id}/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMProviderUser Viewset +pub async fn providers_scim_users_list( + configuration: &configuration::Configuration, + ordering: Option<&str>, + page: Option, + page_size: Option, + provider__id: Option, + search: Option<&str>, + user__id: Option, + user__username: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/providers/scim_users/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = provider__id { + local_var_req_builder = local_var_req_builder.query(&[("provider__id", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user__id { + local_var_req_builder = local_var_req_builder.query(&[("user__id", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user__username { + local_var_req_builder = local_var_req_builder.query(&[("user__username", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMProviderUser Viewset +pub async fn providers_scim_users_retrieve( + configuration: &configuration::Configuration, + id: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/scim_users/{id}/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn providers_scim_users_used_by_list( + configuration: &configuration::Configuration, + id: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/providers/scim_users/{id}/used_by/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} diff --git a/src/apis/rac_api.rs b/src/apis/rac_api.rs new file mode 100644 index 0000000..50e13cb --- /dev/null +++ b/src/apis/rac_api.rs @@ -0,0 +1,730 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use super::{configuration, Error}; +use crate::{apis::ResponseContent, models}; +use reqwest; +use serde::{Deserialize, Serialize}; + +/// struct for typed errors of method [`rac_connection_tokens_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RacConnectionTokensDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rac_connection_tokens_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RacConnectionTokensListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rac_connection_tokens_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RacConnectionTokensPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rac_connection_tokens_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RacConnectionTokensRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rac_connection_tokens_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RacConnectionTokensUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rac_connection_tokens_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RacConnectionTokensUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rac_endpoints_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RacEndpointsCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rac_endpoints_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RacEndpointsDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rac_endpoints_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RacEndpointsListError { + Status400(), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rac_endpoints_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RacEndpointsPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rac_endpoints_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RacEndpointsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rac_endpoints_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RacEndpointsUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rac_endpoints_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RacEndpointsUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// ConnectionToken Viewset +pub async fn rac_connection_tokens_destroy( + configuration: &configuration::Configuration, + connection_token_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rac/connection_tokens/{connection_token_uuid}/", + local_var_configuration.base_path, + connection_token_uuid = crate::apis::urlencode(connection_token_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ConnectionToken Viewset +pub async fn rac_connection_tokens_list( + configuration: &configuration::Configuration, + endpoint: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + provider: Option, + search: Option<&str>, + session__user: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/rac/connection_tokens/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = endpoint { + local_var_req_builder = local_var_req_builder.query(&[("endpoint", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = provider { + local_var_req_builder = local_var_req_builder.query(&[("provider", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = session__user { + local_var_req_builder = local_var_req_builder.query(&[("session__user", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ConnectionToken Viewset +pub async fn rac_connection_tokens_partial_update( + configuration: &configuration::Configuration, + connection_token_uuid: &str, + patched_connection_token_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rac/connection_tokens/{connection_token_uuid}/", + local_var_configuration.base_path, + connection_token_uuid = crate::apis::urlencode(connection_token_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_connection_token_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ConnectionToken Viewset +pub async fn rac_connection_tokens_retrieve( + configuration: &configuration::Configuration, + connection_token_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rac/connection_tokens/{connection_token_uuid}/", + local_var_configuration.base_path, + connection_token_uuid = crate::apis::urlencode(connection_token_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ConnectionToken Viewset +pub async fn rac_connection_tokens_update( + configuration: &configuration::Configuration, + connection_token_uuid: &str, + connection_token_request: models::ConnectionTokenRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rac/connection_tokens/{connection_token_uuid}/", + local_var_configuration.base_path, + connection_token_uuid = crate::apis::urlencode(connection_token_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&connection_token_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn rac_connection_tokens_used_by_list( + configuration: &configuration::Configuration, + connection_token_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rac/connection_tokens/{connection_token_uuid}/used_by/", + local_var_configuration.base_path, + connection_token_uuid = crate::apis::urlencode(connection_token_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Endpoint Viewset +pub async fn rac_endpoints_create( + configuration: &configuration::Configuration, + endpoint_request: models::EndpointRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/rac/endpoints/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&endpoint_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Endpoint Viewset +pub async fn rac_endpoints_destroy( + configuration: &configuration::Configuration, + pbm_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rac/endpoints/{pbm_uuid}/", + local_var_configuration.base_path, + pbm_uuid = crate::apis::urlencode(pbm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// List accessible endpoints +pub async fn rac_endpoints_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + provider: Option, + search: Option<&str>, + superuser_full_list: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/rac/endpoints/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = provider { + local_var_req_builder = local_var_req_builder.query(&[("provider", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = superuser_full_list { + local_var_req_builder = local_var_req_builder.query(&[("superuser_full_list", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Endpoint Viewset +pub async fn rac_endpoints_partial_update( + configuration: &configuration::Configuration, + pbm_uuid: &str, + patched_endpoint_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rac/endpoints/{pbm_uuid}/", + local_var_configuration.base_path, + pbm_uuid = crate::apis::urlencode(pbm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_endpoint_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Endpoint Viewset +pub async fn rac_endpoints_retrieve( + configuration: &configuration::Configuration, + pbm_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rac/endpoints/{pbm_uuid}/", + local_var_configuration.base_path, + pbm_uuid = crate::apis::urlencode(pbm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Endpoint Viewset +pub async fn rac_endpoints_update( + configuration: &configuration::Configuration, + pbm_uuid: &str, + endpoint_request: models::EndpointRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rac/endpoints/{pbm_uuid}/", + local_var_configuration.base_path, + pbm_uuid = crate::apis::urlencode(pbm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&endpoint_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn rac_endpoints_used_by_list( + configuration: &configuration::Configuration, + pbm_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rac/endpoints/{pbm_uuid}/used_by/", + local_var_configuration.base_path, + pbm_uuid = crate::apis::urlencode(pbm_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} diff --git a/src/apis/rbac_api.rs b/src/apis/rbac_api.rs new file mode 100644 index 0000000..3a0d07e --- /dev/null +++ b/src/apis/rbac_api.rs @@ -0,0 +1,1426 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use super::{configuration, Error}; +use crate::{apis::ResponseContent, models}; +use reqwest; +use serde::{Deserialize, Serialize}; + +/// struct for typed errors of method [`rbac_permissions_assigned_by_roles_assign`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacPermissionsAssignedByRolesAssignError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_permissions_assigned_by_roles_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacPermissionsAssignedByRolesListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_permissions_assigned_by_roles_unassign_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacPermissionsAssignedByRolesUnassignPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_permissions_assigned_by_users_assign`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacPermissionsAssignedByUsersAssignError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_permissions_assigned_by_users_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacPermissionsAssignedByUsersListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_permissions_assigned_by_users_unassign_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacPermissionsAssignedByUsersUnassignPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_permissions_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacPermissionsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_permissions_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacPermissionsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_permissions_roles_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacPermissionsRolesDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_permissions_roles_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacPermissionsRolesListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_permissions_roles_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacPermissionsRolesPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_permissions_roles_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacPermissionsRolesRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_permissions_roles_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacPermissionsRolesUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_permissions_users_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacPermissionsUsersDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_permissions_users_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacPermissionsUsersListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_permissions_users_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacPermissionsUsersPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_permissions_users_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacPermissionsUsersRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_permissions_users_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacPermissionsUsersUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_roles_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacRolesCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_roles_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacRolesDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_roles_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacRolesListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_roles_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacRolesPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_roles_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacRolesRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_roles_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacRolesUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`rbac_roles_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RbacRolesUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// Assign permission(s) to role. When `object_pk` is set, the permissions are only assigned to the specific object, otherwise they are assigned globally. +pub async fn rbac_permissions_assigned_by_roles_assign( + configuration: &configuration::Configuration, + uuid: &str, + permission_assign_request: models::PermissionAssignRequest, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rbac/permissions/assigned_by_roles/{uuid}/assign/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&permission_assign_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get assigned object permissions for a single object +pub async fn rbac_permissions_assigned_by_roles_list( + configuration: &configuration::Configuration, + model: &str, + object_pk: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rbac/permissions/assigned_by_roles/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + local_var_req_builder = local_var_req_builder.query(&[("model", &model.to_string())]); + if let Some(ref local_var_str) = object_pk { + local_var_req_builder = local_var_req_builder.query(&[("object_pk", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Unassign permission(s) to role. When `object_pk` is set, the permissions are only assigned to the specific object, otherwise they are assigned globally. +pub async fn rbac_permissions_assigned_by_roles_unassign_partial_update( + configuration: &configuration::Configuration, + uuid: &str, + patched_permission_assign_request: Option, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rbac/permissions/assigned_by_roles/{uuid}/unassign/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_permission_assign_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Assign permission(s) to user +pub async fn rbac_permissions_assigned_by_users_assign( + configuration: &configuration::Configuration, + id: i32, + permission_assign_request: models::PermissionAssignRequest, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rbac/permissions/assigned_by_users/{id}/assign/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&permission_assign_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get assigned object permissions for a single object +pub async fn rbac_permissions_assigned_by_users_list( + configuration: &configuration::Configuration, + model: &str, + object_pk: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rbac/permissions/assigned_by_users/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + local_var_req_builder = local_var_req_builder.query(&[("model", &model.to_string())]); + if let Some(ref local_var_str) = object_pk { + local_var_req_builder = local_var_req_builder.query(&[("object_pk", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Unassign permission(s) to user. When `object_pk` is set, the permissions are only assigned to the specific object, otherwise they are assigned globally. +pub async fn rbac_permissions_assigned_by_users_unassign_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_permission_assign_request: Option, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rbac/permissions/assigned_by_users/{id}/unassign/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_permission_assign_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Read-only list of all permissions, filterable by model and app +pub async fn rbac_permissions_list( + configuration: &configuration::Configuration, + codename: Option<&str>, + content_type__app_label: Option<&str>, + content_type__model: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + role: Option<&str>, + search: Option<&str>, + user: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/rbac/permissions/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = codename { + local_var_req_builder = local_var_req_builder.query(&[("codename", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = content_type__app_label { + local_var_req_builder = local_var_req_builder.query(&[("content_type__app_label", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = content_type__model { + local_var_req_builder = local_var_req_builder.query(&[("content_type__model", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = role { + local_var_req_builder = local_var_req_builder.query(&[("role", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user { + local_var_req_builder = local_var_req_builder.query(&[("user", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Read-only list of all permissions, filterable by model and app +pub async fn rbac_permissions_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/rbac/permissions/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a role's assigned object permissions +pub async fn rbac_permissions_roles_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rbac/permissions/roles/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a role's assigned object permissions +pub async fn rbac_permissions_roles_list( + configuration: &configuration::Configuration, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + uuid: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/rbac/permissions/roles/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = uuid { + local_var_req_builder = local_var_req_builder.query(&[("uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a role's assigned object permissions +pub async fn rbac_permissions_roles_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_extra_role_object_permission_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rbac/permissions/roles/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_extra_role_object_permission_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a role's assigned object permissions +pub async fn rbac_permissions_roles_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rbac/permissions/roles/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a role's assigned object permissions +pub async fn rbac_permissions_roles_update( + configuration: &configuration::Configuration, + id: i32, + extra_role_object_permission_request: models::ExtraRoleObjectPermissionRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rbac/permissions/roles/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&extra_role_object_permission_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a users's assigned object permissions +pub async fn rbac_permissions_users_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rbac/permissions/users/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a users's assigned object permissions +pub async fn rbac_permissions_users_list( + configuration: &configuration::Configuration, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + user_id: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/rbac/permissions/users/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user_id { + local_var_req_builder = local_var_req_builder.query(&[("user_id", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a users's assigned object permissions +pub async fn rbac_permissions_users_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_extra_user_object_permission_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rbac/permissions/users/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_extra_user_object_permission_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a users's assigned object permissions +pub async fn rbac_permissions_users_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rbac/permissions/users/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a users's assigned object permissions +pub async fn rbac_permissions_users_update( + configuration: &configuration::Configuration, + id: i32, + extra_user_object_permission_request: models::ExtraUserObjectPermissionRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rbac/permissions/users/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&extra_user_object_permission_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Role viewset +pub async fn rbac_roles_create( + configuration: &configuration::Configuration, + role_request: models::RoleRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/rbac/roles/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&role_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Role viewset +pub async fn rbac_roles_destroy( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rbac/roles/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Role viewset +pub async fn rbac_roles_list( + configuration: &configuration::Configuration, + group__name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/rbac/roles/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = group__name { + local_var_req_builder = local_var_req_builder.query(&[("group__name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Role viewset +pub async fn rbac_roles_partial_update( + configuration: &configuration::Configuration, + uuid: &str, + patched_role_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rbac/roles/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_role_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Role viewset +pub async fn rbac_roles_retrieve( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rbac/roles/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Role viewset +pub async fn rbac_roles_update( + configuration: &configuration::Configuration, + uuid: &str, + role_request: models::RoleRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rbac/roles/{uuid}/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&role_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn rbac_roles_used_by_list( + configuration: &configuration::Configuration, + uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/rbac/roles/{uuid}/used_by/", + local_var_configuration.base_path, + uuid = crate::apis::urlencode(uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} diff --git a/src/apis/root_api.rs b/src/apis/root_api.rs new file mode 100644 index 0000000..b2d1041 --- /dev/null +++ b/src/apis/root_api.rs @@ -0,0 +1,60 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use super::{configuration, Error}; +use crate::{apis::ResponseContent, models}; +use reqwest; +use serde::{Deserialize, Serialize}; + +/// struct for typed errors of method [`root_config_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RootConfigRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// Retrieve public configuration options +pub async fn root_config_retrieve( + configuration: &configuration::Configuration, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/root/config/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} diff --git a/src/apis/schema_api.rs b/src/apis/schema_api.rs new file mode 100644 index 0000000..ed11d0d --- /dev/null +++ b/src/apis/schema_api.rs @@ -0,0 +1,68 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use super::{configuration, Error}; +use crate::{apis::ResponseContent, models}; +use reqwest; +use serde::{Deserialize, Serialize}; + +/// struct for typed errors of method [`schema_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SchemaRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// OpenApi3 schema for this API. Format can be selected via content negotiation. - YAML: application/vnd.oai.openapi - JSON: application/vnd.oai.openapi+json +pub async fn schema_retrieve( + configuration: &configuration::Configuration, + format: Option<&str>, + lang: Option<&str>, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/schema/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = format { + local_var_req_builder = local_var_req_builder.query(&[("format", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = lang { + local_var_req_builder = local_var_req_builder.query(&[("lang", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} diff --git a/src/apis/sources_api.rs b/src/apis/sources_api.rs new file mode 100644 index 0000000..3e2919e --- /dev/null +++ b/src/apis/sources_api.rs @@ -0,0 +1,6254 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use super::{configuration, Error}; +use crate::{apis::ResponseContent, models}; +use reqwest; +use serde::{Deserialize, Serialize}; + +/// struct for typed errors of method [`sources_all_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesAllDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_all_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesAllListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_all_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesAllRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_all_set_icon_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesAllSetIconCreateError { + Status400(), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_all_set_icon_url_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesAllSetIconUrlCreateError { + Status400(), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_all_types_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesAllTypesListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_all_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesAllUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_all_user_settings_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesAllUserSettingsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_group_connections_oauth_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesGroupConnectionsOauthCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_group_connections_oauth_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesGroupConnectionsOauthDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_group_connections_oauth_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesGroupConnectionsOauthListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_group_connections_oauth_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesGroupConnectionsOauthPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_group_connections_oauth_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesGroupConnectionsOauthRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_group_connections_oauth_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesGroupConnectionsOauthUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_group_connections_oauth_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesGroupConnectionsOauthUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_group_connections_plex_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesGroupConnectionsPlexCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_group_connections_plex_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesGroupConnectionsPlexDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_group_connections_plex_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesGroupConnectionsPlexListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_group_connections_plex_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesGroupConnectionsPlexPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_group_connections_plex_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesGroupConnectionsPlexRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_group_connections_plex_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesGroupConnectionsPlexUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_group_connections_plex_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesGroupConnectionsPlexUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_group_connections_saml_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesGroupConnectionsSamlDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_group_connections_saml_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesGroupConnectionsSamlListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_group_connections_saml_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesGroupConnectionsSamlPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_group_connections_saml_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesGroupConnectionsSamlRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_group_connections_saml_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesGroupConnectionsSamlUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_group_connections_saml_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesGroupConnectionsSamlUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_ldap_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesLdapCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_ldap_debug_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesLdapDebugRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_ldap_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesLdapDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_ldap_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesLdapListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_ldap_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesLdapPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_ldap_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesLdapRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_ldap_sync_status_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesLdapSyncStatusRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_ldap_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesLdapUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_ldap_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesLdapUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_oauth_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesOauthCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_oauth_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesOauthDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_oauth_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesOauthListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_oauth_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesOauthPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_oauth_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesOauthRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_oauth_source_types_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesOauthSourceTypesListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_oauth_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesOauthUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_oauth_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesOauthUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_plex_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesPlexCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_plex_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesPlexDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_plex_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesPlexListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_plex_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesPlexPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_plex_redeem_token_authenticated_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesPlexRedeemTokenAuthenticatedCreateError { + Status400(), + Status403(), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_plex_redeem_token_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesPlexRedeemTokenCreateError { + Status400(), + Status403(), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_plex_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesPlexRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_plex_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesPlexUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_plex_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesPlexUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_saml_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesSamlCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_saml_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesSamlDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_saml_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesSamlListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_saml_metadata_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesSamlMetadataRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_saml_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesSamlPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_saml_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesSamlRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_saml_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesSamlUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_saml_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesSamlUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_scim_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesScimCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_scim_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesScimDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_scim_groups_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesScimGroupsCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_scim_groups_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesScimGroupsDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_scim_groups_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesScimGroupsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_scim_groups_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesScimGroupsPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_scim_groups_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesScimGroupsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_scim_groups_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesScimGroupsUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_scim_groups_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesScimGroupsUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_scim_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesScimListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_scim_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesScimPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_scim_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesScimRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_scim_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesScimUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_scim_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesScimUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_scim_users_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesScimUsersCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_scim_users_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesScimUsersDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_scim_users_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesScimUsersListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_scim_users_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesScimUsersPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_scim_users_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesScimUsersRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_scim_users_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesScimUsersUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_scim_users_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesScimUsersUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_all_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsAllDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_all_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsAllListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_all_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsAllPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_all_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsAllRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_all_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsAllUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_all_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsAllUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_oauth_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsOauthCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_oauth_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsOauthDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_oauth_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsOauthListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_oauth_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsOauthPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_oauth_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsOauthRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_oauth_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsOauthUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_oauth_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsOauthUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_plex_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsPlexCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_plex_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsPlexDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_plex_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsPlexListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_plex_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsPlexPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_plex_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsPlexRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_plex_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsPlexUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_plex_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsPlexUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_saml_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsSamlCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_saml_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsSamlDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_saml_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsSamlListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_saml_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsSamlPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_saml_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsSamlRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_saml_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsSamlUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`sources_user_connections_saml_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SourcesUserConnectionsSamlUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// Source Viewset +pub async fn sources_all_destroy( + configuration: &configuration::Configuration, + slug: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/all/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn sources_all_list( + configuration: &configuration::Configuration, + managed: Option<&str>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + slug: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/all/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = managed { + local_var_req_builder = local_var_req_builder.query(&[("managed", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = slug { + local_var_req_builder = local_var_req_builder.query(&[("slug", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn sources_all_retrieve( + configuration: &configuration::Configuration, + slug: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/all/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Set source icon +pub async fn sources_all_set_icon_create( + configuration: &configuration::Configuration, + slug: &str, + file: Option, + clear: Option, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/all/{slug}/set_icon/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + let mut local_var_form = reqwest::multipart::Form::new(); + // TODO: support file upload for 'file' parameter + if let Some(local_var_param_value) = clear { + local_var_form = local_var_form.text("clear", local_var_param_value.to_string()); + } + local_var_req_builder = local_var_req_builder.multipart(local_var_form); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Set source icon (as URL) +pub async fn sources_all_set_icon_url_create( + configuration: &configuration::Configuration, + slug: &str, + file_path_request: models::FilePathRequest, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/all/{slug}/set_icon_url/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&file_path_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get all creatable types +pub async fn sources_all_types_list( + configuration: &configuration::Configuration, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/all/types/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn sources_all_used_by_list( + configuration: &configuration::Configuration, + slug: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/all/{slug}/used_by/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get all sources the user can configure +pub async fn sources_all_user_settings_list( + configuration: &configuration::Configuration, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/all/user_settings/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Group-source connection Viewset +pub async fn sources_group_connections_oauth_create( + configuration: &configuration::Configuration, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/group_connections/oauth/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Group-source connection Viewset +pub async fn sources_group_connections_oauth_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/group_connections/oauth/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Group-source connection Viewset +pub async fn sources_group_connections_oauth_list( + configuration: &configuration::Configuration, + group: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + source__slug: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/group_connections/oauth/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = group { + local_var_req_builder = local_var_req_builder.query(&[("group", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = source__slug { + local_var_req_builder = local_var_req_builder.query(&[("source__slug", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Group-source connection Viewset +pub async fn sources_group_connections_oauth_partial_update( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/group_connections/oauth/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Group-source connection Viewset +pub async fn sources_group_connections_oauth_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/group_connections/oauth/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Group-source connection Viewset +pub async fn sources_group_connections_oauth_update( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/group_connections/oauth/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn sources_group_connections_oauth_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/group_connections/oauth/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Group-source connection Viewset +pub async fn sources_group_connections_plex_create( + configuration: &configuration::Configuration, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/group_connections/plex/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Group-source connection Viewset +pub async fn sources_group_connections_plex_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/group_connections/plex/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Group-source connection Viewset +pub async fn sources_group_connections_plex_list( + configuration: &configuration::Configuration, + group: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + source__slug: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/group_connections/plex/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = group { + local_var_req_builder = local_var_req_builder.query(&[("group", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = source__slug { + local_var_req_builder = local_var_req_builder.query(&[("source__slug", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Group-source connection Viewset +pub async fn sources_group_connections_plex_partial_update( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/group_connections/plex/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Group-source connection Viewset +pub async fn sources_group_connections_plex_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/group_connections/plex/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Group-source connection Viewset +pub async fn sources_group_connections_plex_update( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/group_connections/plex/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn sources_group_connections_plex_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/group_connections/plex/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Group-source connection Viewset +pub async fn sources_group_connections_saml_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/group_connections/saml/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Group-source connection Viewset +pub async fn sources_group_connections_saml_list( + configuration: &configuration::Configuration, + group: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + source__slug: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/group_connections/saml/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = group { + local_var_req_builder = local_var_req_builder.query(&[("group", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = source__slug { + local_var_req_builder = local_var_req_builder.query(&[("source__slug", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Group-source connection Viewset +pub async fn sources_group_connections_saml_partial_update( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/group_connections/saml/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Group-source connection Viewset +pub async fn sources_group_connections_saml_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/group_connections/saml/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Group-source connection Viewset +pub async fn sources_group_connections_saml_update( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/group_connections/saml/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn sources_group_connections_saml_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/group_connections/saml/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// LDAP Source Viewset +pub async fn sources_ldap_create( + configuration: &configuration::Configuration, + ldap_source_request: models::LdapSourceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/ldap/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&ldap_source_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get raw LDAP data to debug +pub async fn sources_ldap_debug_retrieve( + configuration: &configuration::Configuration, + slug: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/ldap/{slug}/debug/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// LDAP Source Viewset +pub async fn sources_ldap_destroy( + configuration: &configuration::Configuration, + slug: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/ldap/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// LDAP Source Viewset +pub async fn sources_ldap_list( + configuration: &configuration::Configuration, + additional_group_dn: Option<&str>, + additional_user_dn: Option<&str>, + base_dn: Option<&str>, + bind_cn: Option<&str>, + client_certificate: Option<&str>, + enabled: Option, + group_membership_field: Option<&str>, + group_object_filter: Option<&str>, + group_property_mappings: Option>, + name: Option<&str>, + object_uniqueness_field: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + password_login_update_internal_password: Option, + peer_certificate: Option<&str>, + search: Option<&str>, + server_uri: Option<&str>, + slug: Option<&str>, + sni: Option, + start_tls: Option, + sync_groups: Option, + sync_parent_group: Option<&str>, + sync_users: Option, + sync_users_password: Option, + user_object_filter: Option<&str>, + user_property_mappings: Option>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/ldap/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = additional_group_dn { + local_var_req_builder = local_var_req_builder.query(&[("additional_group_dn", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = additional_user_dn { + local_var_req_builder = local_var_req_builder.query(&[("additional_user_dn", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = base_dn { + local_var_req_builder = local_var_req_builder.query(&[("base_dn", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = bind_cn { + local_var_req_builder = local_var_req_builder.query(&[("bind_cn", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = client_certificate { + local_var_req_builder = local_var_req_builder.query(&[("client_certificate", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = enabled { + local_var_req_builder = local_var_req_builder.query(&[("enabled", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = group_membership_field { + local_var_req_builder = local_var_req_builder.query(&[("group_membership_field", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = group_object_filter { + local_var_req_builder = local_var_req_builder.query(&[("group_object_filter", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = group_property_mappings { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("group_property_mappings".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "group_property_mappings", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = object_uniqueness_field { + local_var_req_builder = local_var_req_builder.query(&[("object_uniqueness_field", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = password_login_update_internal_password { + local_var_req_builder = + local_var_req_builder.query(&[("password_login_update_internal_password", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = peer_certificate { + local_var_req_builder = local_var_req_builder.query(&[("peer_certificate", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = server_uri { + local_var_req_builder = local_var_req_builder.query(&[("server_uri", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = slug { + local_var_req_builder = local_var_req_builder.query(&[("slug", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = sni { + local_var_req_builder = local_var_req_builder.query(&[("sni", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = start_tls { + local_var_req_builder = local_var_req_builder.query(&[("start_tls", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = sync_groups { + local_var_req_builder = local_var_req_builder.query(&[("sync_groups", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = sync_parent_group { + local_var_req_builder = local_var_req_builder.query(&[("sync_parent_group", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = sync_users { + local_var_req_builder = local_var_req_builder.query(&[("sync_users", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = sync_users_password { + local_var_req_builder = local_var_req_builder.query(&[("sync_users_password", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user_object_filter { + local_var_req_builder = local_var_req_builder.query(&[("user_object_filter", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user_property_mappings { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("user_property_mappings".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "user_property_mappings", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// LDAP Source Viewset +pub async fn sources_ldap_partial_update( + configuration: &configuration::Configuration, + slug: &str, + patched_ldap_source_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/ldap/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_ldap_source_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// LDAP Source Viewset +pub async fn sources_ldap_retrieve( + configuration: &configuration::Configuration, + slug: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/ldap/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get source's sync status +pub async fn sources_ldap_sync_status_retrieve( + configuration: &configuration::Configuration, + slug: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/ldap/{slug}/sync/status/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// LDAP Source Viewset +pub async fn sources_ldap_update( + configuration: &configuration::Configuration, + slug: &str, + ldap_source_request: models::LdapSourceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/ldap/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&ldap_source_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn sources_ldap_used_by_list( + configuration: &configuration::Configuration, + slug: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/ldap/{slug}/used_by/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn sources_oauth_create( + configuration: &configuration::Configuration, + o_auth_source_request: models::OAuthSourceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/oauth/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&o_auth_source_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn sources_oauth_destroy( + configuration: &configuration::Configuration, + slug: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/oauth/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn sources_oauth_list( + configuration: &configuration::Configuration, + access_token_url: Option<&str>, + additional_scopes: Option<&str>, + authentication_flow: Option<&str>, + authorization_url: Option<&str>, + consumer_key: Option<&str>, + enabled: Option, + enrollment_flow: Option<&str>, + group_matching_mode: Option<&str>, + has_jwks: Option, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + policy_engine_mode: Option<&str>, + profile_url: Option<&str>, + provider_type: Option<&str>, + request_token_url: Option<&str>, + search: Option<&str>, + slug: Option<&str>, + user_matching_mode: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/oauth/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = access_token_url { + local_var_req_builder = local_var_req_builder.query(&[("access_token_url", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = additional_scopes { + local_var_req_builder = local_var_req_builder.query(&[("additional_scopes", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = authentication_flow { + local_var_req_builder = local_var_req_builder.query(&[("authentication_flow", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = authorization_url { + local_var_req_builder = local_var_req_builder.query(&[("authorization_url", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = consumer_key { + local_var_req_builder = local_var_req_builder.query(&[("consumer_key", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = enabled { + local_var_req_builder = local_var_req_builder.query(&[("enabled", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = enrollment_flow { + local_var_req_builder = local_var_req_builder.query(&[("enrollment_flow", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = group_matching_mode { + local_var_req_builder = local_var_req_builder.query(&[("group_matching_mode", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = has_jwks { + local_var_req_builder = local_var_req_builder.query(&[("has_jwks", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = policy_engine_mode { + local_var_req_builder = local_var_req_builder.query(&[("policy_engine_mode", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = profile_url { + local_var_req_builder = local_var_req_builder.query(&[("profile_url", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = provider_type { + local_var_req_builder = local_var_req_builder.query(&[("provider_type", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = request_token_url { + local_var_req_builder = local_var_req_builder.query(&[("request_token_url", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = slug { + local_var_req_builder = local_var_req_builder.query(&[("slug", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user_matching_mode { + local_var_req_builder = local_var_req_builder.query(&[("user_matching_mode", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn sources_oauth_partial_update( + configuration: &configuration::Configuration, + slug: &str, + patched_o_auth_source_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/oauth/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_o_auth_source_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn sources_oauth_retrieve( + configuration: &configuration::Configuration, + slug: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/oauth/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get all creatable source types. If ?name is set, only returns the type for . If isn't found, returns the default type. +pub async fn sources_oauth_source_types_list( + configuration: &configuration::Configuration, + name: Option<&str>, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/oauth/source_types/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn sources_oauth_update( + configuration: &configuration::Configuration, + slug: &str, + o_auth_source_request: models::OAuthSourceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/oauth/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&o_auth_source_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn sources_oauth_used_by_list( + configuration: &configuration::Configuration, + slug: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/oauth/{slug}/used_by/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Plex source Viewset +pub async fn sources_plex_create( + configuration: &configuration::Configuration, + plex_source_request: models::PlexSourceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/plex/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&plex_source_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Plex source Viewset +pub async fn sources_plex_destroy( + configuration: &configuration::Configuration, + slug: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/plex/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Plex source Viewset +pub async fn sources_plex_list( + configuration: &configuration::Configuration, + allow_friends: Option, + authentication_flow: Option<&str>, + client_id: Option<&str>, + enabled: Option, + enrollment_flow: Option<&str>, + group_matching_mode: Option<&str>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + policy_engine_mode: Option<&str>, + search: Option<&str>, + slug: Option<&str>, + user_matching_mode: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/plex/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = allow_friends { + local_var_req_builder = local_var_req_builder.query(&[("allow_friends", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = authentication_flow { + local_var_req_builder = local_var_req_builder.query(&[("authentication_flow", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = client_id { + local_var_req_builder = local_var_req_builder.query(&[("client_id", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = enabled { + local_var_req_builder = local_var_req_builder.query(&[("enabled", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = enrollment_flow { + local_var_req_builder = local_var_req_builder.query(&[("enrollment_flow", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = group_matching_mode { + local_var_req_builder = local_var_req_builder.query(&[("group_matching_mode", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = policy_engine_mode { + local_var_req_builder = local_var_req_builder.query(&[("policy_engine_mode", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = slug { + local_var_req_builder = local_var_req_builder.query(&[("slug", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user_matching_mode { + local_var_req_builder = local_var_req_builder.query(&[("user_matching_mode", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Plex source Viewset +pub async fn sources_plex_partial_update( + configuration: &configuration::Configuration, + slug: &str, + patched_plex_source_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/plex/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_plex_source_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Redeem a plex token for an authenticated user, creating a connection +pub async fn sources_plex_redeem_token_authenticated_create( + configuration: &configuration::Configuration, + plex_token_redeem_request: models::PlexTokenRedeemRequest, + slug: Option<&str>, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/plex/redeem_token_authenticated/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = slug { + local_var_req_builder = local_var_req_builder.query(&[("slug", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&plex_token_redeem_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Redeem a plex token, check it's access to resources against what's allowed for the source, and redirect to an authentication/enrollment flow. +pub async fn sources_plex_redeem_token_create( + configuration: &configuration::Configuration, + plex_token_redeem_request: models::PlexTokenRedeemRequest, + slug: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/plex/redeem_token/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = slug { + local_var_req_builder = local_var_req_builder.query(&[("slug", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&plex_token_redeem_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Plex source Viewset +pub async fn sources_plex_retrieve( + configuration: &configuration::Configuration, + slug: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/plex/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Plex source Viewset +pub async fn sources_plex_update( + configuration: &configuration::Configuration, + slug: &str, + plex_source_request: models::PlexSourceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/plex/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&plex_source_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn sources_plex_used_by_list( + configuration: &configuration::Configuration, + slug: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/plex/{slug}/used_by/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLSource Viewset +pub async fn sources_saml_create( + configuration: &configuration::Configuration, + saml_source_request: models::SamlSourceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/saml/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&saml_source_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLSource Viewset +pub async fn sources_saml_destroy( + configuration: &configuration::Configuration, + slug: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/saml/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLSource Viewset +pub async fn sources_saml_list( + configuration: &configuration::Configuration, + allow_idp_initiated: Option, + authentication_flow: Option<&str>, + binding_type: Option<&str>, + digest_algorithm: Option<&str>, + enabled: Option, + enrollment_flow: Option<&str>, + issuer: Option<&str>, + managed: Option<&str>, + name: Option<&str>, + name_id_policy: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + policy_engine_mode: Option<&str>, + pre_authentication_flow: Option<&str>, + search: Option<&str>, + signature_algorithm: Option<&str>, + signing_kp: Option<&str>, + slo_url: Option<&str>, + slug: Option<&str>, + sso_url: Option<&str>, + temporary_user_delete_after: Option<&str>, + user_matching_mode: Option<&str>, + verification_kp: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/saml/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = allow_idp_initiated { + local_var_req_builder = local_var_req_builder.query(&[("allow_idp_initiated", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = authentication_flow { + local_var_req_builder = local_var_req_builder.query(&[("authentication_flow", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = binding_type { + local_var_req_builder = local_var_req_builder.query(&[("binding_type", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = digest_algorithm { + local_var_req_builder = local_var_req_builder.query(&[("digest_algorithm", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = enabled { + local_var_req_builder = local_var_req_builder.query(&[("enabled", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = enrollment_flow { + local_var_req_builder = local_var_req_builder.query(&[("enrollment_flow", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = issuer { + local_var_req_builder = local_var_req_builder.query(&[("issuer", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = managed { + local_var_req_builder = local_var_req_builder.query(&[("managed", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name_id_policy { + local_var_req_builder = local_var_req_builder.query(&[("name_id_policy", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = policy_engine_mode { + local_var_req_builder = local_var_req_builder.query(&[("policy_engine_mode", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = pre_authentication_flow { + local_var_req_builder = local_var_req_builder.query(&[("pre_authentication_flow", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = signature_algorithm { + local_var_req_builder = local_var_req_builder.query(&[("signature_algorithm", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = signing_kp { + local_var_req_builder = local_var_req_builder.query(&[("signing_kp", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = slo_url { + local_var_req_builder = local_var_req_builder.query(&[("slo_url", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = slug { + local_var_req_builder = local_var_req_builder.query(&[("slug", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = sso_url { + local_var_req_builder = local_var_req_builder.query(&[("sso_url", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = temporary_user_delete_after { + local_var_req_builder = + local_var_req_builder.query(&[("temporary_user_delete_after", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user_matching_mode { + local_var_req_builder = local_var_req_builder.query(&[("user_matching_mode", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = verification_kp { + local_var_req_builder = local_var_req_builder.query(&[("verification_kp", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Return metadata as XML string +pub async fn sources_saml_metadata_retrieve( + configuration: &configuration::Configuration, + slug: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/saml/{slug}/metadata/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLSource Viewset +pub async fn sources_saml_partial_update( + configuration: &configuration::Configuration, + slug: &str, + patched_saml_source_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/saml/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_saml_source_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLSource Viewset +pub async fn sources_saml_retrieve( + configuration: &configuration::Configuration, + slug: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/saml/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SAMLSource Viewset +pub async fn sources_saml_update( + configuration: &configuration::Configuration, + slug: &str, + saml_source_request: models::SamlSourceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/saml/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&saml_source_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn sources_saml_used_by_list( + configuration: &configuration::Configuration, + slug: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/saml/{slug}/used_by/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSource Viewset +pub async fn sources_scim_create( + configuration: &configuration::Configuration, + scim_source_request: models::ScimSourceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/scim/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&scim_source_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSource Viewset +pub async fn sources_scim_destroy( + configuration: &configuration::Configuration, + slug: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/scim/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSourceGroup Viewset +pub async fn sources_scim_groups_create( + configuration: &configuration::Configuration, + scim_source_group_request: models::ScimSourceGroupRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/scim_groups/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&scim_source_group_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSourceGroup Viewset +pub async fn sources_scim_groups_destroy( + configuration: &configuration::Configuration, + id: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/scim_groups/{id}/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSourceGroup Viewset +pub async fn sources_scim_groups_list( + configuration: &configuration::Configuration, + group__group_uuid: Option<&str>, + group__name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + source__slug: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/scim_groups/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = group__group_uuid { + local_var_req_builder = local_var_req_builder.query(&[("group__group_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = group__name { + local_var_req_builder = local_var_req_builder.query(&[("group__name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = source__slug { + local_var_req_builder = local_var_req_builder.query(&[("source__slug", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSourceGroup Viewset +pub async fn sources_scim_groups_partial_update( + configuration: &configuration::Configuration, + id: &str, + patched_scim_source_group_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/scim_groups/{id}/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_scim_source_group_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSourceGroup Viewset +pub async fn sources_scim_groups_retrieve( + configuration: &configuration::Configuration, + id: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/scim_groups/{id}/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSourceGroup Viewset +pub async fn sources_scim_groups_update( + configuration: &configuration::Configuration, + id: &str, + scim_source_group_request: models::ScimSourceGroupRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/scim_groups/{id}/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&scim_source_group_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn sources_scim_groups_used_by_list( + configuration: &configuration::Configuration, + id: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/scim_groups/{id}/used_by/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSource Viewset +pub async fn sources_scim_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + slug: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/scim/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = slug { + local_var_req_builder = local_var_req_builder.query(&[("slug", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSource Viewset +pub async fn sources_scim_partial_update( + configuration: &configuration::Configuration, + slug: &str, + patched_scim_source_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/scim/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_scim_source_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSource Viewset +pub async fn sources_scim_retrieve( + configuration: &configuration::Configuration, + slug: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/scim/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSource Viewset +pub async fn sources_scim_update( + configuration: &configuration::Configuration, + slug: &str, + scim_source_request: models::ScimSourceRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/scim/{slug}/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&scim_source_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn sources_scim_used_by_list( + configuration: &configuration::Configuration, + slug: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/scim/{slug}/used_by/", + local_var_configuration.base_path, + slug = crate::apis::urlencode(slug) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSourceUser Viewset +pub async fn sources_scim_users_create( + configuration: &configuration::Configuration, + scim_source_user_request: models::ScimSourceUserRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/scim_users/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&scim_source_user_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSourceUser Viewset +pub async fn sources_scim_users_destroy( + configuration: &configuration::Configuration, + id: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/scim_users/{id}/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSourceUser Viewset +pub async fn sources_scim_users_list( + configuration: &configuration::Configuration, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + source__slug: Option<&str>, + user__id: Option, + user__username: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/scim_users/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = source__slug { + local_var_req_builder = local_var_req_builder.query(&[("source__slug", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user__id { + local_var_req_builder = local_var_req_builder.query(&[("user__id", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user__username { + local_var_req_builder = local_var_req_builder.query(&[("user__username", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSourceUser Viewset +pub async fn sources_scim_users_partial_update( + configuration: &configuration::Configuration, + id: &str, + patched_scim_source_user_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/scim_users/{id}/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_scim_source_user_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSourceUser Viewset +pub async fn sources_scim_users_retrieve( + configuration: &configuration::Configuration, + id: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/scim_users/{id}/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SCIMSourceUser Viewset +pub async fn sources_scim_users_update( + configuration: &configuration::Configuration, + id: &str, + scim_source_user_request: models::ScimSourceUserRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/scim_users/{id}/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&scim_source_user_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn sources_scim_users_used_by_list( + configuration: &configuration::Configuration, + id: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/scim_users/{id}/used_by/", + local_var_configuration.base_path, + id = crate::apis::urlencode(id) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// User-source connection Viewset +pub async fn sources_user_connections_all_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/user_connections/all/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// User-source connection Viewset +pub async fn sources_user_connections_all_list( + configuration: &configuration::Configuration, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + source__slug: Option<&str>, + user: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/user_connections/all/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = source__slug { + local_var_req_builder = local_var_req_builder.query(&[("source__slug", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user { + local_var_req_builder = local_var_req_builder.query(&[("user", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// User-source connection Viewset +pub async fn sources_user_connections_all_partial_update( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/user_connections/all/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// User-source connection Viewset +pub async fn sources_user_connections_all_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/user_connections/all/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// User-source connection Viewset +pub async fn sources_user_connections_all_update( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/user_connections/all/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn sources_user_connections_all_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/user_connections/all/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn sources_user_connections_oauth_create( + configuration: &configuration::Configuration, + user_o_auth_source_connection_request: models::UserOAuthSourceConnectionRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/user_connections/oauth/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&user_o_auth_source_connection_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn sources_user_connections_oauth_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/user_connections/oauth/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn sources_user_connections_oauth_list( + configuration: &configuration::Configuration, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + source__slug: Option<&str>, + user: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/user_connections/oauth/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = source__slug { + local_var_req_builder = local_var_req_builder.query(&[("source__slug", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user { + local_var_req_builder = local_var_req_builder.query(&[("user", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn sources_user_connections_oauth_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_user_o_auth_source_connection_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/user_connections/oauth/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_user_o_auth_source_connection_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn sources_user_connections_oauth_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/user_connections/oauth/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn sources_user_connections_oauth_update( + configuration: &configuration::Configuration, + id: i32, + user_o_auth_source_connection_request: models::UserOAuthSourceConnectionRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/user_connections/oauth/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&user_o_auth_source_connection_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn sources_user_connections_oauth_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/user_connections/oauth/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Plex Source connection Serializer +pub async fn sources_user_connections_plex_create( + configuration: &configuration::Configuration, + user_plex_source_connection_request: models::UserPlexSourceConnectionRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/user_connections/plex/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&user_plex_source_connection_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Plex Source connection Serializer +pub async fn sources_user_connections_plex_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/user_connections/plex/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Plex Source connection Serializer +pub async fn sources_user_connections_plex_list( + configuration: &configuration::Configuration, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + source__slug: Option<&str>, + user: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/user_connections/plex/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = source__slug { + local_var_req_builder = local_var_req_builder.query(&[("source__slug", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user { + local_var_req_builder = local_var_req_builder.query(&[("user", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Plex Source connection Serializer +pub async fn sources_user_connections_plex_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_user_plex_source_connection_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/user_connections/plex/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_user_plex_source_connection_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Plex Source connection Serializer +pub async fn sources_user_connections_plex_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/user_connections/plex/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Plex Source connection Serializer +pub async fn sources_user_connections_plex_update( + configuration: &configuration::Configuration, + id: i32, + user_plex_source_connection_request: models::UserPlexSourceConnectionRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/user_connections/plex/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&user_plex_source_connection_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn sources_user_connections_plex_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/user_connections/plex/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn sources_user_connections_saml_create( + configuration: &configuration::Configuration, + user_saml_source_connection_request: models::UserSamlSourceConnectionRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/user_connections/saml/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&user_saml_source_connection_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn sources_user_connections_saml_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/user_connections/saml/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn sources_user_connections_saml_list( + configuration: &configuration::Configuration, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + source__slug: Option<&str>, + user: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/sources/user_connections/saml/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = source__slug { + local_var_req_builder = local_var_req_builder.query(&[("source__slug", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user { + local_var_req_builder = local_var_req_builder.query(&[("user", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn sources_user_connections_saml_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_user_saml_source_connection_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/user_connections/saml/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_user_saml_source_connection_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn sources_user_connections_saml_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/user_connections/saml/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Source Viewset +pub async fn sources_user_connections_saml_update( + configuration: &configuration::Configuration, + id: i32, + user_saml_source_connection_request: models::UserSamlSourceConnectionRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/user_connections/saml/{id}/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&user_saml_source_connection_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn sources_user_connections_saml_used_by_list( + configuration: &configuration::Configuration, + id: i32, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/sources/user_connections/saml/{id}/used_by/", + local_var_configuration.base_path, + id = id + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} diff --git a/src/apis/stages_api.rs b/src/apis/stages_api.rs new file mode 100644 index 0000000..7825f38 --- /dev/null +++ b/src/apis/stages_api.rs @@ -0,0 +1,9410 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use super::{configuration, Error}; +use crate::{apis::ResponseContent, models}; +use reqwest; +use serde::{Deserialize, Serialize}; + +/// struct for typed errors of method [`stages_all_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAllDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_all_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAllListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_all_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAllRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_all_types_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAllTypesListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_all_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAllUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_all_user_settings_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAllUserSettingsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_duo_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorDuoCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_duo_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorDuoDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_duo_enrollment_status_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorDuoEnrollmentStatusCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_duo_import_device_manual_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorDuoImportDeviceManualCreateError { + Status400(), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_duo_import_devices_automatic_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorDuoImportDevicesAutomaticCreateError { + Status400(), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_duo_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorDuoListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_duo_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorDuoPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_duo_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorDuoRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_duo_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorDuoUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_duo_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorDuoUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_sms_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorSmsCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_sms_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorSmsDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_sms_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorSmsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_sms_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorSmsPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_sms_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorSmsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_sms_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorSmsUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_sms_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorSmsUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_static_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorStaticCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_static_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorStaticDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_static_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorStaticListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_static_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorStaticPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_static_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorStaticRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_static_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorStaticUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_static_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorStaticUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_totp_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorTotpCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_totp_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorTotpDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_totp_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorTotpListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_totp_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorTotpPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_totp_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorTotpRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_totp_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorTotpUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_totp_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorTotpUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_validate_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorValidateCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_validate_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorValidateDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_validate_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorValidateListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_validate_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorValidatePartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_validate_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorValidateRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_validate_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorValidateUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_validate_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorValidateUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_webauthn_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorWebauthnCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_webauthn_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorWebauthnDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_webauthn_device_types_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorWebauthnDeviceTypesListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_webauthn_device_types_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorWebauthnDeviceTypesRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_webauthn_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorWebauthnListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_webauthn_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorWebauthnPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_webauthn_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorWebauthnRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_webauthn_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorWebauthnUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_authenticator_webauthn_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesAuthenticatorWebauthnUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_captcha_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesCaptchaCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_captcha_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesCaptchaDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_captcha_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesCaptchaListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_captcha_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesCaptchaPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_captcha_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesCaptchaRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_captcha_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesCaptchaUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_captcha_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesCaptchaUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_consent_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesConsentCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_consent_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesConsentDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_consent_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesConsentListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_consent_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesConsentPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_consent_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesConsentRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_consent_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesConsentUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_consent_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesConsentUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_deny_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesDenyCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_deny_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesDenyDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_deny_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesDenyListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_deny_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesDenyPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_deny_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesDenyRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_deny_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesDenyUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_deny_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesDenyUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_dummy_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesDummyCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_dummy_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesDummyDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_dummy_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesDummyListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_dummy_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesDummyPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_dummy_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesDummyRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_dummy_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesDummyUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_dummy_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesDummyUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_email_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesEmailCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_email_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesEmailDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_email_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesEmailListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_email_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesEmailPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_email_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesEmailRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_email_templates_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesEmailTemplatesListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_email_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesEmailUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_email_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesEmailUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_identification_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesIdentificationCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_identification_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesIdentificationDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_identification_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesIdentificationListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_identification_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesIdentificationPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_identification_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesIdentificationRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_identification_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesIdentificationUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_identification_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesIdentificationUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_invitation_invitations_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesInvitationInvitationsCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_invitation_invitations_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesInvitationInvitationsDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_invitation_invitations_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesInvitationInvitationsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_invitation_invitations_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesInvitationInvitationsPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_invitation_invitations_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesInvitationInvitationsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_invitation_invitations_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesInvitationInvitationsUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_invitation_invitations_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesInvitationInvitationsUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_invitation_stages_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesInvitationStagesCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_invitation_stages_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesInvitationStagesDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_invitation_stages_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesInvitationStagesListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_invitation_stages_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesInvitationStagesPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_invitation_stages_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesInvitationStagesRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_invitation_stages_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesInvitationStagesUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_invitation_stages_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesInvitationStagesUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_password_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesPasswordCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_password_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesPasswordDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_password_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesPasswordListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_password_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesPasswordPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_password_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesPasswordRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_password_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesPasswordUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_password_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesPasswordUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_prompt_prompts_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesPromptPromptsCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_prompt_prompts_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesPromptPromptsDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_prompt_prompts_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesPromptPromptsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_prompt_prompts_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesPromptPromptsPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_prompt_prompts_preview_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesPromptPromptsPreviewCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_prompt_prompts_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesPromptPromptsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_prompt_prompts_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesPromptPromptsUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_prompt_prompts_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesPromptPromptsUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_prompt_stages_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesPromptStagesCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_prompt_stages_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesPromptStagesDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_prompt_stages_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesPromptStagesListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_prompt_stages_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesPromptStagesPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_prompt_stages_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesPromptStagesRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_prompt_stages_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesPromptStagesUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_prompt_stages_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesPromptStagesUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_source_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesSourceCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_source_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesSourceDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_source_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesSourceListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_source_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesSourcePartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_source_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesSourceRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_source_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesSourceUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_source_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesSourceUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_delete_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserDeleteCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_delete_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserDeleteDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_delete_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserDeleteListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_delete_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserDeletePartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_delete_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserDeleteRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_delete_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserDeleteUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_delete_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserDeleteUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_login_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserLoginCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_login_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserLoginDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_login_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserLoginListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_login_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserLoginPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_login_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserLoginRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_login_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserLoginUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_login_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserLoginUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_logout_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserLogoutCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_logout_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserLogoutDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_logout_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserLogoutListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_logout_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserLogoutPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_logout_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserLogoutRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_logout_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserLogoutUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_logout_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserLogoutUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_write_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserWriteCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_write_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserWriteDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_write_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserWriteListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_write_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserWritePartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_write_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserWriteRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_write_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserWriteUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`stages_user_write_used_by_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StagesUserWriteUsedByListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// Stage Viewset +pub async fn stages_all_destroy( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/all/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Stage Viewset +pub async fn stages_all_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/all/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Stage Viewset +pub async fn stages_all_retrieve( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/all/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get all creatable types +pub async fn stages_all_types_list( + configuration: &configuration::Configuration, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/all/types/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn stages_all_used_by_list( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/all/{stage_uuid}/used_by/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get all stages the user can configure +pub async fn stages_all_user_settings_list( + configuration: &configuration::Configuration, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/all/user_settings/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorDuoStage Viewset +pub async fn stages_authenticator_duo_create( + configuration: &configuration::Configuration, + authenticator_duo_stage_request: models::AuthenticatorDuoStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/authenticator/duo/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&authenticator_duo_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorDuoStage Viewset +pub async fn stages_authenticator_duo_destroy( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/duo/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Check enrollment status of user details in current session +pub async fn stages_authenticator_duo_enrollment_status_create( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/duo/{stage_uuid}/enrollment_status/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Import duo devices into authentik +pub async fn stages_authenticator_duo_import_device_manual_create( + configuration: &configuration::Configuration, + stage_uuid: &str, + authenticator_duo_stage_manual_device_import_request: models::AuthenticatorDuoStageManualDeviceImportRequest, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/duo/{stage_uuid}/import_device_manual/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&authenticator_duo_stage_manual_device_import_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Import duo devices into authentik +pub async fn stages_authenticator_duo_import_devices_automatic_create( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result< + models::AuthenticatorDuoStageDeviceImportResponse, + Error, +> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/duo/{stage_uuid}/import_devices_automatic/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorDuoStage Viewset +pub async fn stages_authenticator_duo_list( + configuration: &configuration::Configuration, + api_hostname: Option<&str>, + client_id: Option<&str>, + configure_flow: Option<&str>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/authenticator/duo/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = api_hostname { + local_var_req_builder = local_var_req_builder.query(&[("api_hostname", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = client_id { + local_var_req_builder = local_var_req_builder.query(&[("client_id", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = configure_flow { + local_var_req_builder = local_var_req_builder.query(&[("configure_flow", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorDuoStage Viewset +pub async fn stages_authenticator_duo_partial_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + patched_authenticator_duo_stage_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/duo/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_authenticator_duo_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorDuoStage Viewset +pub async fn stages_authenticator_duo_retrieve( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/duo/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorDuoStage Viewset +pub async fn stages_authenticator_duo_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + authenticator_duo_stage_request: models::AuthenticatorDuoStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/duo/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&authenticator_duo_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn stages_authenticator_duo_used_by_list( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/duo/{stage_uuid}/used_by/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorSMSStage Viewset +pub async fn stages_authenticator_sms_create( + configuration: &configuration::Configuration, + authenticator_sms_stage_request: models::AuthenticatorSmsStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/authenticator/sms/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&authenticator_sms_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorSMSStage Viewset +pub async fn stages_authenticator_sms_destroy( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/sms/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorSMSStage Viewset +pub async fn stages_authenticator_sms_list( + configuration: &configuration::Configuration, + account_sid: Option<&str>, + auth: Option<&str>, + auth_password: Option<&str>, + auth_type: Option<&str>, + configure_flow: Option<&str>, + friendly_name: Option<&str>, + from_number: Option<&str>, + mapping: Option<&str>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + provider: Option<&str>, + search: Option<&str>, + stage_uuid: Option<&str>, + verify_only: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/authenticator/sms/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = account_sid { + local_var_req_builder = local_var_req_builder.query(&[("account_sid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = auth { + local_var_req_builder = local_var_req_builder.query(&[("auth", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = auth_password { + local_var_req_builder = local_var_req_builder.query(&[("auth_password", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = auth_type { + local_var_req_builder = local_var_req_builder.query(&[("auth_type", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = configure_flow { + local_var_req_builder = local_var_req_builder.query(&[("configure_flow", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = friendly_name { + local_var_req_builder = local_var_req_builder.query(&[("friendly_name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = from_number { + local_var_req_builder = local_var_req_builder.query(&[("from_number", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = mapping { + local_var_req_builder = local_var_req_builder.query(&[("mapping", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = provider { + local_var_req_builder = local_var_req_builder.query(&[("provider", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = stage_uuid { + local_var_req_builder = local_var_req_builder.query(&[("stage_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = verify_only { + local_var_req_builder = local_var_req_builder.query(&[("verify_only", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorSMSStage Viewset +pub async fn stages_authenticator_sms_partial_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + patched_authenticator_sms_stage_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/sms/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_authenticator_sms_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorSMSStage Viewset +pub async fn stages_authenticator_sms_retrieve( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/sms/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorSMSStage Viewset +pub async fn stages_authenticator_sms_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + authenticator_sms_stage_request: models::AuthenticatorSmsStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/sms/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&authenticator_sms_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn stages_authenticator_sms_used_by_list( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/sms/{stage_uuid}/used_by/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorStaticStage Viewset +pub async fn stages_authenticator_static_create( + configuration: &configuration::Configuration, + authenticator_static_stage_request: models::AuthenticatorStaticStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/authenticator/static/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&authenticator_static_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorStaticStage Viewset +pub async fn stages_authenticator_static_destroy( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/static/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorStaticStage Viewset +pub async fn stages_authenticator_static_list( + configuration: &configuration::Configuration, + configure_flow: Option<&str>, + friendly_name: Option<&str>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + stage_uuid: Option<&str>, + token_count: Option, + token_length: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/authenticator/static/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = configure_flow { + local_var_req_builder = local_var_req_builder.query(&[("configure_flow", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = friendly_name { + local_var_req_builder = local_var_req_builder.query(&[("friendly_name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = stage_uuid { + local_var_req_builder = local_var_req_builder.query(&[("stage_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = token_count { + local_var_req_builder = local_var_req_builder.query(&[("token_count", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = token_length { + local_var_req_builder = local_var_req_builder.query(&[("token_length", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorStaticStage Viewset +pub async fn stages_authenticator_static_partial_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + patched_authenticator_static_stage_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/static/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_authenticator_static_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorStaticStage Viewset +pub async fn stages_authenticator_static_retrieve( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/static/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorStaticStage Viewset +pub async fn stages_authenticator_static_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + authenticator_static_stage_request: models::AuthenticatorStaticStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/static/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&authenticator_static_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn stages_authenticator_static_used_by_list( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/static/{stage_uuid}/used_by/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorTOTPStage Viewset +pub async fn stages_authenticator_totp_create( + configuration: &configuration::Configuration, + authenticator_totp_stage_request: models::AuthenticatorTotpStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/authenticator/totp/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&authenticator_totp_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorTOTPStage Viewset +pub async fn stages_authenticator_totp_destroy( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/totp/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorTOTPStage Viewset +pub async fn stages_authenticator_totp_list( + configuration: &configuration::Configuration, + configure_flow: Option<&str>, + digits: Option<&str>, + friendly_name: Option<&str>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + stage_uuid: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/authenticator/totp/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = configure_flow { + local_var_req_builder = local_var_req_builder.query(&[("configure_flow", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = digits { + local_var_req_builder = local_var_req_builder.query(&[("digits", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = friendly_name { + local_var_req_builder = local_var_req_builder.query(&[("friendly_name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = stage_uuid { + local_var_req_builder = local_var_req_builder.query(&[("stage_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorTOTPStage Viewset +pub async fn stages_authenticator_totp_partial_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + patched_authenticator_totp_stage_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/totp/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_authenticator_totp_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorTOTPStage Viewset +pub async fn stages_authenticator_totp_retrieve( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/totp/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorTOTPStage Viewset +pub async fn stages_authenticator_totp_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + authenticator_totp_stage_request: models::AuthenticatorTotpStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/totp/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&authenticator_totp_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn stages_authenticator_totp_used_by_list( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/totp/{stage_uuid}/used_by/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorValidateStage Viewset +pub async fn stages_authenticator_validate_create( + configuration: &configuration::Configuration, + authenticator_validate_stage_request: models::AuthenticatorValidateStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/authenticator/validate/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&authenticator_validate_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorValidateStage Viewset +pub async fn stages_authenticator_validate_destroy( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/validate/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorValidateStage Viewset +pub async fn stages_authenticator_validate_list( + configuration: &configuration::Configuration, + configuration_stages: Option>, + name: Option<&str>, + not_configured_action: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/authenticator/validate/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = configuration_stages { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("configuration_stages".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "configuration_stages", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = not_configured_action { + local_var_req_builder = local_var_req_builder.query(&[("not_configured_action", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorValidateStage Viewset +pub async fn stages_authenticator_validate_partial_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + patched_authenticator_validate_stage_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/validate/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_authenticator_validate_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorValidateStage Viewset +pub async fn stages_authenticator_validate_retrieve( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/validate/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorValidateStage Viewset +pub async fn stages_authenticator_validate_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + authenticator_validate_stage_request: models::AuthenticatorValidateStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/validate/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&authenticator_validate_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn stages_authenticator_validate_used_by_list( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/validate/{stage_uuid}/used_by/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorWebAuthnStage Viewset +pub async fn stages_authenticator_webauthn_create( + configuration: &configuration::Configuration, + authenticator_web_authn_stage_request: models::AuthenticatorWebAuthnStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/authenticator/webauthn/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&authenticator_web_authn_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorWebAuthnStage Viewset +pub async fn stages_authenticator_webauthn_destroy( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/webauthn/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// WebAuthnDeviceType Viewset +pub async fn stages_authenticator_webauthn_device_types_list( + configuration: &configuration::Configuration, + aaguid: Option<&str>, + description: Option<&str>, + icon: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/webauthn_device_types/", + local_var_configuration.base_path + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = aaguid { + local_var_req_builder = local_var_req_builder.query(&[("aaguid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = description { + local_var_req_builder = local_var_req_builder.query(&[("description", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = icon { + local_var_req_builder = local_var_req_builder.query(&[("icon", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// WebAuthnDeviceType Viewset +pub async fn stages_authenticator_webauthn_device_types_retrieve( + configuration: &configuration::Configuration, + aaguid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/webauthn_device_types/{aaguid}/", + local_var_configuration.base_path, + aaguid = crate::apis::urlencode(aaguid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorWebAuthnStage Viewset +pub async fn stages_authenticator_webauthn_list( + configuration: &configuration::Configuration, + authenticator_attachment: Option<&str>, + configure_flow: Option<&str>, + device_type_restrictions: Option>, + friendly_name: Option<&str>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + resident_key_requirement: Option<&str>, + search: Option<&str>, + stage_uuid: Option<&str>, + user_verification: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/authenticator/webauthn/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = authenticator_attachment { + local_var_req_builder = + local_var_req_builder.query(&[("authenticator_attachment", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = configure_flow { + local_var_req_builder = local_var_req_builder.query(&[("configure_flow", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = device_type_restrictions { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("device_type_restrictions".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "device_type_restrictions", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = friendly_name { + local_var_req_builder = local_var_req_builder.query(&[("friendly_name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = resident_key_requirement { + local_var_req_builder = + local_var_req_builder.query(&[("resident_key_requirement", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = stage_uuid { + local_var_req_builder = local_var_req_builder.query(&[("stage_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user_verification { + local_var_req_builder = local_var_req_builder.query(&[("user_verification", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorWebAuthnStage Viewset +pub async fn stages_authenticator_webauthn_partial_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + patched_authenticator_web_authn_stage_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/webauthn/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_authenticator_web_authn_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorWebAuthnStage Viewset +pub async fn stages_authenticator_webauthn_retrieve( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/webauthn/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// AuthenticatorWebAuthnStage Viewset +pub async fn stages_authenticator_webauthn_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + authenticator_web_authn_stage_request: models::AuthenticatorWebAuthnStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/webauthn/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&authenticator_web_authn_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn stages_authenticator_webauthn_used_by_list( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/authenticator/webauthn/{stage_uuid}/used_by/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// CaptchaStage Viewset +pub async fn stages_captcha_create( + configuration: &configuration::Configuration, + captcha_stage_request: models::CaptchaStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/captcha/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&captcha_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// CaptchaStage Viewset +pub async fn stages_captcha_destroy( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/captcha/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// CaptchaStage Viewset +pub async fn stages_captcha_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + public_key: Option<&str>, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/captcha/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = public_key { + local_var_req_builder = local_var_req_builder.query(&[("public_key", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// CaptchaStage Viewset +pub async fn stages_captcha_partial_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + patched_captcha_stage_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/captcha/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_captcha_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// CaptchaStage Viewset +pub async fn stages_captcha_retrieve( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/captcha/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// CaptchaStage Viewset +pub async fn stages_captcha_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + captcha_stage_request: models::CaptchaStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/captcha/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&captcha_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn stages_captcha_used_by_list( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/captcha/{stage_uuid}/used_by/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ConsentStage Viewset +pub async fn stages_consent_create( + configuration: &configuration::Configuration, + consent_stage_request: models::ConsentStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/consent/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&consent_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ConsentStage Viewset +pub async fn stages_consent_destroy( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/consent/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ConsentStage Viewset +pub async fn stages_consent_list( + configuration: &configuration::Configuration, + consent_expire_in: Option<&str>, + mode: Option<&str>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + stage_uuid: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/consent/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = consent_expire_in { + local_var_req_builder = local_var_req_builder.query(&[("consent_expire_in", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = mode { + local_var_req_builder = local_var_req_builder.query(&[("mode", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = stage_uuid { + local_var_req_builder = local_var_req_builder.query(&[("stage_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ConsentStage Viewset +pub async fn stages_consent_partial_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + patched_consent_stage_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/consent/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_consent_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ConsentStage Viewset +pub async fn stages_consent_retrieve( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/consent/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// ConsentStage Viewset +pub async fn stages_consent_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + consent_stage_request: models::ConsentStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/consent/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&consent_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn stages_consent_used_by_list( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/consent/{stage_uuid}/used_by/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// DenyStage Viewset +pub async fn stages_deny_create( + configuration: &configuration::Configuration, + deny_stage_request: models::DenyStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/deny/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&deny_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// DenyStage Viewset +pub async fn stages_deny_destroy( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/deny/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// DenyStage Viewset +pub async fn stages_deny_list( + configuration: &configuration::Configuration, + deny_message: Option<&str>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + stage_uuid: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/deny/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = deny_message { + local_var_req_builder = local_var_req_builder.query(&[("deny_message", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = stage_uuid { + local_var_req_builder = local_var_req_builder.query(&[("stage_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// DenyStage Viewset +pub async fn stages_deny_partial_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + patched_deny_stage_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/deny/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_deny_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// DenyStage Viewset +pub async fn stages_deny_retrieve( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/deny/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// DenyStage Viewset +pub async fn stages_deny_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + deny_stage_request: models::DenyStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/deny/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&deny_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn stages_deny_used_by_list( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/deny/{stage_uuid}/used_by/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// DummyStage Viewset +pub async fn stages_dummy_create( + configuration: &configuration::Configuration, + dummy_stage_request: models::DummyStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/dummy/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&dummy_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// DummyStage Viewset +pub async fn stages_dummy_destroy( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/dummy/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// DummyStage Viewset +pub async fn stages_dummy_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + stage_uuid: Option<&str>, + throw_error: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/dummy/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = stage_uuid { + local_var_req_builder = local_var_req_builder.query(&[("stage_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = throw_error { + local_var_req_builder = local_var_req_builder.query(&[("throw_error", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// DummyStage Viewset +pub async fn stages_dummy_partial_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + patched_dummy_stage_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/dummy/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_dummy_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// DummyStage Viewset +pub async fn stages_dummy_retrieve( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/dummy/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// DummyStage Viewset +pub async fn stages_dummy_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + dummy_stage_request: models::DummyStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/dummy/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&dummy_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn stages_dummy_used_by_list( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/dummy/{stage_uuid}/used_by/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// EmailStage Viewset +pub async fn stages_email_create( + configuration: &configuration::Configuration, + email_stage_request: models::EmailStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/email/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&email_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// EmailStage Viewset +pub async fn stages_email_destroy( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/email/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// EmailStage Viewset +pub async fn stages_email_list( + configuration: &configuration::Configuration, + activate_user_on_success: Option, + from_address: Option<&str>, + host: Option<&str>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + port: Option, + search: Option<&str>, + subject: Option<&str>, + template: Option<&str>, + timeout: Option, + token_expiry: Option, + use_global_settings: Option, + use_ssl: Option, + use_tls: Option, + username: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/email/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = activate_user_on_success { + local_var_req_builder = + local_var_req_builder.query(&[("activate_user_on_success", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = from_address { + local_var_req_builder = local_var_req_builder.query(&[("from_address", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = host { + local_var_req_builder = local_var_req_builder.query(&[("host", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = port { + local_var_req_builder = local_var_req_builder.query(&[("port", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = subject { + local_var_req_builder = local_var_req_builder.query(&[("subject", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = template { + local_var_req_builder = local_var_req_builder.query(&[("template", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = timeout { + local_var_req_builder = local_var_req_builder.query(&[("timeout", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = token_expiry { + local_var_req_builder = local_var_req_builder.query(&[("token_expiry", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = use_global_settings { + local_var_req_builder = local_var_req_builder.query(&[("use_global_settings", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = use_ssl { + local_var_req_builder = local_var_req_builder.query(&[("use_ssl", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = use_tls { + local_var_req_builder = local_var_req_builder.query(&[("use_tls", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = username { + local_var_req_builder = local_var_req_builder.query(&[("username", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// EmailStage Viewset +pub async fn stages_email_partial_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + patched_email_stage_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/email/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_email_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// EmailStage Viewset +pub async fn stages_email_retrieve( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/email/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get all available templates, including custom templates +pub async fn stages_email_templates_list( + configuration: &configuration::Configuration, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/email/templates/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// EmailStage Viewset +pub async fn stages_email_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + email_stage_request: models::EmailStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/email/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&email_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn stages_email_used_by_list( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/email/{stage_uuid}/used_by/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// IdentificationStage Viewset +pub async fn stages_identification_create( + configuration: &configuration::Configuration, + identification_stage_request: models::IdentificationStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/identification/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&identification_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// IdentificationStage Viewset +pub async fn stages_identification_destroy( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/identification/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// IdentificationStage Viewset +pub async fn stages_identification_list( + configuration: &configuration::Configuration, + case_insensitive_matching: Option, + enrollment_flow: Option<&str>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + password_stage: Option<&str>, + passwordless_flow: Option<&str>, + recovery_flow: Option<&str>, + search: Option<&str>, + show_matched_user: Option, + show_source_labels: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/identification/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = case_insensitive_matching { + local_var_req_builder = + local_var_req_builder.query(&[("case_insensitive_matching", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = enrollment_flow { + local_var_req_builder = local_var_req_builder.query(&[("enrollment_flow", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = password_stage { + local_var_req_builder = local_var_req_builder.query(&[("password_stage", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = passwordless_flow { + local_var_req_builder = local_var_req_builder.query(&[("passwordless_flow", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = recovery_flow { + local_var_req_builder = local_var_req_builder.query(&[("recovery_flow", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = show_matched_user { + local_var_req_builder = local_var_req_builder.query(&[("show_matched_user", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = show_source_labels { + local_var_req_builder = local_var_req_builder.query(&[("show_source_labels", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// IdentificationStage Viewset +pub async fn stages_identification_partial_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + patched_identification_stage_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/identification/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_identification_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// IdentificationStage Viewset +pub async fn stages_identification_retrieve( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/identification/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// IdentificationStage Viewset +pub async fn stages_identification_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + identification_stage_request: models::IdentificationStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/identification/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&identification_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn stages_identification_used_by_list( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/identification/{stage_uuid}/used_by/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Invitation Viewset +pub async fn stages_invitation_invitations_create( + configuration: &configuration::Configuration, + invitation_request: models::InvitationRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/invitation/invitations/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&invitation_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Invitation Viewset +pub async fn stages_invitation_invitations_destroy( + configuration: &configuration::Configuration, + invite_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/invitation/invitations/{invite_uuid}/", + local_var_configuration.base_path, + invite_uuid = crate::apis::urlencode(invite_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Invitation Viewset +pub async fn stages_invitation_invitations_list( + configuration: &configuration::Configuration, + created_by__username: Option<&str>, + expires: Option, + flow__slug: Option<&str>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/invitation/invitations/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = created_by__username { + local_var_req_builder = local_var_req_builder.query(&[("created_by__username", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = expires { + local_var_req_builder = local_var_req_builder.query(&[("expires", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = flow__slug { + local_var_req_builder = local_var_req_builder.query(&[("flow__slug", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Invitation Viewset +pub async fn stages_invitation_invitations_partial_update( + configuration: &configuration::Configuration, + invite_uuid: &str, + patched_invitation_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/invitation/invitations/{invite_uuid}/", + local_var_configuration.base_path, + invite_uuid = crate::apis::urlencode(invite_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_invitation_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Invitation Viewset +pub async fn stages_invitation_invitations_retrieve( + configuration: &configuration::Configuration, + invite_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/invitation/invitations/{invite_uuid}/", + local_var_configuration.base_path, + invite_uuid = crate::apis::urlencode(invite_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Invitation Viewset +pub async fn stages_invitation_invitations_update( + configuration: &configuration::Configuration, + invite_uuid: &str, + invitation_request: models::InvitationRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/invitation/invitations/{invite_uuid}/", + local_var_configuration.base_path, + invite_uuid = crate::apis::urlencode(invite_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&invitation_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn stages_invitation_invitations_used_by_list( + configuration: &configuration::Configuration, + invite_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/invitation/invitations/{invite_uuid}/used_by/", + local_var_configuration.base_path, + invite_uuid = crate::apis::urlencode(invite_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// InvitationStage Viewset +pub async fn stages_invitation_stages_create( + configuration: &configuration::Configuration, + invitation_stage_request: models::InvitationStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/invitation/stages/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&invitation_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// InvitationStage Viewset +pub async fn stages_invitation_stages_destroy( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/invitation/stages/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// InvitationStage Viewset +pub async fn stages_invitation_stages_list( + configuration: &configuration::Configuration, + continue_flow_without_invitation: Option, + name: Option<&str>, + no_flows: Option, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + stage_uuid: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/invitation/stages/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = continue_flow_without_invitation { + local_var_req_builder = + local_var_req_builder.query(&[("continue_flow_without_invitation", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = no_flows { + local_var_req_builder = local_var_req_builder.query(&[("no_flows", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = stage_uuid { + local_var_req_builder = local_var_req_builder.query(&[("stage_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// InvitationStage Viewset +pub async fn stages_invitation_stages_partial_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + patched_invitation_stage_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/invitation/stages/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_invitation_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// InvitationStage Viewset +pub async fn stages_invitation_stages_retrieve( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/invitation/stages/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// InvitationStage Viewset +pub async fn stages_invitation_stages_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + invitation_stage_request: models::InvitationStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/invitation/stages/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&invitation_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn stages_invitation_stages_used_by_list( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/invitation/stages/{stage_uuid}/used_by/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PasswordStage Viewset +pub async fn stages_password_create( + configuration: &configuration::Configuration, + password_stage_request: models::PasswordStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/password/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&password_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PasswordStage Viewset +pub async fn stages_password_destroy( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/password/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PasswordStage Viewset +pub async fn stages_password_list( + configuration: &configuration::Configuration, + allow_show_password: Option, + configure_flow: Option<&str>, + failed_attempts_before_cancel: Option, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/password/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = allow_show_password { + local_var_req_builder = local_var_req_builder.query(&[("allow_show_password", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = configure_flow { + local_var_req_builder = local_var_req_builder.query(&[("configure_flow", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = failed_attempts_before_cancel { + local_var_req_builder = + local_var_req_builder.query(&[("failed_attempts_before_cancel", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PasswordStage Viewset +pub async fn stages_password_partial_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + patched_password_stage_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/password/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_password_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PasswordStage Viewset +pub async fn stages_password_retrieve( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/password/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PasswordStage Viewset +pub async fn stages_password_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + password_stage_request: models::PasswordStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/password/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&password_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn stages_password_used_by_list( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/password/{stage_uuid}/used_by/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Prompt Viewset +pub async fn stages_prompt_prompts_create( + configuration: &configuration::Configuration, + prompt_request: models::PromptRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/prompt/prompts/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&prompt_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Prompt Viewset +pub async fn stages_prompt_prompts_destroy( + configuration: &configuration::Configuration, + prompt_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/prompt/prompts/{prompt_uuid}/", + local_var_configuration.base_path, + prompt_uuid = crate::apis::urlencode(prompt_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Prompt Viewset +pub async fn stages_prompt_prompts_list( + configuration: &configuration::Configuration, + field_key: Option<&str>, + label: Option<&str>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + placeholder: Option<&str>, + search: Option<&str>, + r#type: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/prompt/prompts/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = field_key { + local_var_req_builder = local_var_req_builder.query(&[("field_key", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = label { + local_var_req_builder = local_var_req_builder.query(&[("label", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = placeholder { + local_var_req_builder = local_var_req_builder.query(&[("placeholder", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = r#type { + local_var_req_builder = local_var_req_builder.query(&[("type", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Prompt Viewset +pub async fn stages_prompt_prompts_partial_update( + configuration: &configuration::Configuration, + prompt_uuid: &str, + patched_prompt_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/prompt/prompts/{prompt_uuid}/", + local_var_configuration.base_path, + prompt_uuid = crate::apis::urlencode(prompt_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_prompt_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Preview a prompt as a challenge, just like a flow would receive +pub async fn stages_prompt_prompts_preview_create( + configuration: &configuration::Configuration, + prompt_request: models::PromptRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/prompt/prompts/preview/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&prompt_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Prompt Viewset +pub async fn stages_prompt_prompts_retrieve( + configuration: &configuration::Configuration, + prompt_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/prompt/prompts/{prompt_uuid}/", + local_var_configuration.base_path, + prompt_uuid = crate::apis::urlencode(prompt_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Prompt Viewset +pub async fn stages_prompt_prompts_update( + configuration: &configuration::Configuration, + prompt_uuid: &str, + prompt_request: models::PromptRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/prompt/prompts/{prompt_uuid}/", + local_var_configuration.base_path, + prompt_uuid = crate::apis::urlencode(prompt_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&prompt_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn stages_prompt_prompts_used_by_list( + configuration: &configuration::Configuration, + prompt_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/prompt/prompts/{prompt_uuid}/used_by/", + local_var_configuration.base_path, + prompt_uuid = crate::apis::urlencode(prompt_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PromptStage Viewset +pub async fn stages_prompt_stages_create( + configuration: &configuration::Configuration, + prompt_stage_request: models::PromptStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/prompt/stages/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&prompt_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PromptStage Viewset +pub async fn stages_prompt_stages_destroy( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/prompt/stages/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PromptStage Viewset +pub async fn stages_prompt_stages_list( + configuration: &configuration::Configuration, + fields: Option>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + stage_uuid: Option<&str>, + validation_policies: Option>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/prompt/stages/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = fields { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("fields".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "fields", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = stage_uuid { + local_var_req_builder = local_var_req_builder.query(&[("stage_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = validation_policies { + local_var_req_builder = match "multi" { + "multi" => local_var_req_builder.query( + &local_var_str + .into_iter() + .map(|p| ("validation_policies".to_owned(), p.to_string())) + .collect::>(), + ), + _ => local_var_req_builder.query(&[( + "validation_policies", + &local_var_str + .into_iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + .to_string(), + )]), + }; + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PromptStage Viewset +pub async fn stages_prompt_stages_partial_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + patched_prompt_stage_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/prompt/stages/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_prompt_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PromptStage Viewset +pub async fn stages_prompt_stages_retrieve( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/prompt/stages/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// PromptStage Viewset +pub async fn stages_prompt_stages_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + prompt_stage_request: models::PromptStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/prompt/stages/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&prompt_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn stages_prompt_stages_used_by_list( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/prompt/stages/{stage_uuid}/used_by/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SourceStage Viewset +pub async fn stages_source_create( + configuration: &configuration::Configuration, + source_stage_request: models::SourceStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/source/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&source_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SourceStage Viewset +pub async fn stages_source_destroy( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/source/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SourceStage Viewset +pub async fn stages_source_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + resume_timeout: Option<&str>, + search: Option<&str>, + source: Option<&str>, + stage_uuid: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/source/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = resume_timeout { + local_var_req_builder = local_var_req_builder.query(&[("resume_timeout", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = source { + local_var_req_builder = local_var_req_builder.query(&[("source", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = stage_uuid { + local_var_req_builder = local_var_req_builder.query(&[("stage_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SourceStage Viewset +pub async fn stages_source_partial_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + patched_source_stage_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/source/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_source_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SourceStage Viewset +pub async fn stages_source_retrieve( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/source/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// SourceStage Viewset +pub async fn stages_source_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + source_stage_request: models::SourceStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/source/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&source_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn stages_source_used_by_list( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/source/{stage_uuid}/used_by/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserDeleteStage Viewset +pub async fn stages_user_delete_create( + configuration: &configuration::Configuration, + user_delete_stage_request: models::UserDeleteStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/user_delete/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&user_delete_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserDeleteStage Viewset +pub async fn stages_user_delete_destroy( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/user_delete/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserDeleteStage Viewset +pub async fn stages_user_delete_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + stage_uuid: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/user_delete/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = stage_uuid { + local_var_req_builder = local_var_req_builder.query(&[("stage_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserDeleteStage Viewset +pub async fn stages_user_delete_partial_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + patched_user_delete_stage_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/user_delete/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_user_delete_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserDeleteStage Viewset +pub async fn stages_user_delete_retrieve( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/user_delete/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserDeleteStage Viewset +pub async fn stages_user_delete_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + user_delete_stage_request: models::UserDeleteStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/user_delete/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&user_delete_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn stages_user_delete_used_by_list( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/user_delete/{stage_uuid}/used_by/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserLoginStage Viewset +pub async fn stages_user_login_create( + configuration: &configuration::Configuration, + user_login_stage_request: models::UserLoginStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/user_login/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&user_login_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserLoginStage Viewset +pub async fn stages_user_login_destroy( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/user_login/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserLoginStage Viewset +pub async fn stages_user_login_list( + configuration: &configuration::Configuration, + geoip_binding: Option<&str>, + name: Option<&str>, + network_binding: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + remember_me_offset: Option<&str>, + search: Option<&str>, + session_duration: Option<&str>, + stage_uuid: Option<&str>, + terminate_other_sessions: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/user_login/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = geoip_binding { + local_var_req_builder = local_var_req_builder.query(&[("geoip_binding", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = network_binding { + local_var_req_builder = local_var_req_builder.query(&[("network_binding", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = remember_me_offset { + local_var_req_builder = local_var_req_builder.query(&[("remember_me_offset", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = session_duration { + local_var_req_builder = local_var_req_builder.query(&[("session_duration", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = stage_uuid { + local_var_req_builder = local_var_req_builder.query(&[("stage_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = terminate_other_sessions { + local_var_req_builder = + local_var_req_builder.query(&[("terminate_other_sessions", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserLoginStage Viewset +pub async fn stages_user_login_partial_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + patched_user_login_stage_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/user_login/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_user_login_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserLoginStage Viewset +pub async fn stages_user_login_retrieve( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/user_login/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserLoginStage Viewset +pub async fn stages_user_login_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + user_login_stage_request: models::UserLoginStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/user_login/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&user_login_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn stages_user_login_used_by_list( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/user_login/{stage_uuid}/used_by/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserLogoutStage Viewset +pub async fn stages_user_logout_create( + configuration: &configuration::Configuration, + user_logout_stage_request: models::UserLogoutStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/user_logout/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&user_logout_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserLogoutStage Viewset +pub async fn stages_user_logout_destroy( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/user_logout/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserLogoutStage Viewset +pub async fn stages_user_logout_list( + configuration: &configuration::Configuration, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + stage_uuid: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/user_logout/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = stage_uuid { + local_var_req_builder = local_var_req_builder.query(&[("stage_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserLogoutStage Viewset +pub async fn stages_user_logout_partial_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + patched_user_logout_stage_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/user_logout/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_user_logout_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserLogoutStage Viewset +pub async fn stages_user_logout_retrieve( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/user_logout/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserLogoutStage Viewset +pub async fn stages_user_logout_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + user_logout_stage_request: models::UserLogoutStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/user_logout/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&user_logout_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn stages_user_logout_used_by_list( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/user_logout/{stage_uuid}/used_by/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserWriteStage Viewset +pub async fn stages_user_write_create( + configuration: &configuration::Configuration, + user_write_stage_request: models::UserWriteStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/user_write/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&user_write_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserWriteStage Viewset +pub async fn stages_user_write_destroy( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/user_write/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserWriteStage Viewset +pub async fn stages_user_write_list( + configuration: &configuration::Configuration, + create_users_as_inactive: Option, + create_users_group: Option<&str>, + name: Option<&str>, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, + stage_uuid: Option<&str>, + user_creation_mode: Option<&str>, + user_path_template: Option<&str>, + user_type: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/stages/user_write/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = create_users_as_inactive { + local_var_req_builder = + local_var_req_builder.query(&[("create_users_as_inactive", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = create_users_group { + local_var_req_builder = local_var_req_builder.query(&[("create_users_group", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = name { + local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = stage_uuid { + local_var_req_builder = local_var_req_builder.query(&[("stage_uuid", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user_creation_mode { + local_var_req_builder = local_var_req_builder.query(&[("user_creation_mode", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user_path_template { + local_var_req_builder = local_var_req_builder.query(&[("user_path_template", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = user_type { + local_var_req_builder = local_var_req_builder.query(&[("user_type", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserWriteStage Viewset +pub async fn stages_user_write_partial_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + patched_user_write_stage_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/user_write/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&patched_user_write_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserWriteStage Viewset +pub async fn stages_user_write_retrieve( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/user_write/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// UserWriteStage Viewset +pub async fn stages_user_write_update( + configuration: &configuration::Configuration, + stage_uuid: &str, + user_write_stage_request: models::UserWriteStageRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/user_write/{stage_uuid}/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&user_write_stage_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Get a list of all objects that use this object +pub async fn stages_user_write_used_by_list( + configuration: &configuration::Configuration, + stage_uuid: &str, +) -> Result, Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/stages/user_write/{stage_uuid}/used_by/", + local_var_configuration.base_path, + stage_uuid = crate::apis::urlencode(stage_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} diff --git a/src/apis/tenants_api.rs b/src/apis/tenants_api.rs new file mode 100644 index 0000000..1782c5a --- /dev/null +++ b/src/apis/tenants_api.rs @@ -0,0 +1,702 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use super::{configuration, Error}; +use crate::{apis::ResponseContent, models}; +use reqwest; +use serde::{Deserialize, Serialize}; + +/// struct for typed errors of method [`tenants_domains_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum TenantsDomainsCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`tenants_domains_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum TenantsDomainsDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`tenants_domains_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum TenantsDomainsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`tenants_domains_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum TenantsDomainsPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`tenants_domains_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum TenantsDomainsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`tenants_domains_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum TenantsDomainsUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`tenants_tenants_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum TenantsTenantsCreateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`tenants_tenants_create_admin_group_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum TenantsTenantsCreateAdminGroupCreateError { + Status400(), + Status404(), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`tenants_tenants_create_recovery_key_create`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum TenantsTenantsCreateRecoveryKeyCreateError { + Status400(), + Status404(), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`tenants_tenants_destroy`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum TenantsTenantsDestroyError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`tenants_tenants_list`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum TenantsTenantsListError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`tenants_tenants_partial_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum TenantsTenantsPartialUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`tenants_tenants_retrieve`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum TenantsTenantsRetrieveError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`tenants_tenants_update`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum TenantsTenantsUpdateError { + Status400(models::ValidationError), + Status403(models::GenericError), + UnknownValue(serde_json::Value), +} + +/// Domain ViewSet +pub async fn tenants_domains_create( + configuration: &configuration::Configuration, + domain_request: models::DomainRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/tenants/domains/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + local_var_req_builder = local_var_req_builder.json(&domain_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Domain ViewSet +pub async fn tenants_domains_destroy( + configuration: &configuration::Configuration, + id: i32, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/tenants/domains/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Domain ViewSet +pub async fn tenants_domains_list( + configuration: &configuration::Configuration, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/tenants/domains/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Domain ViewSet +pub async fn tenants_domains_partial_update( + configuration: &configuration::Configuration, + id: i32, + patched_domain_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/tenants/domains/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + local_var_req_builder = local_var_req_builder.json(&patched_domain_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Domain ViewSet +pub async fn tenants_domains_retrieve( + configuration: &configuration::Configuration, + id: i32, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/tenants/domains/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Domain ViewSet +pub async fn tenants_domains_update( + configuration: &configuration::Configuration, + id: i32, + domain_request: models::DomainRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/tenants/domains/{id}/", local_var_configuration.base_path, id = id); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + local_var_req_builder = local_var_req_builder.json(&domain_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Tenant Viewset +pub async fn tenants_tenants_create( + configuration: &configuration::Configuration, + tenant_request: models::TenantRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/tenants/tenants/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + local_var_req_builder = local_var_req_builder.json(&tenant_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Create admin group and add user to it. +pub async fn tenants_tenants_create_admin_group_create( + configuration: &configuration::Configuration, + tenant_uuid: &str, + tenant_admin_group_request_request: models::TenantAdminGroupRequestRequest, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/tenants/tenants/{tenant_uuid}/create_admin_group/", + local_var_configuration.base_path, + tenant_uuid = crate::apis::urlencode(tenant_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + local_var_req_builder = local_var_req_builder.json(&tenant_admin_group_request_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Create recovery key for user. +pub async fn tenants_tenants_create_recovery_key_create( + configuration: &configuration::Configuration, + tenant_uuid: &str, + tenant_recovery_key_request_request: models::TenantRecoveryKeyRequestRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/tenants/tenants/{tenant_uuid}/create_recovery_key/", + local_var_configuration.base_path, + tenant_uuid = crate::apis::urlencode(tenant_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + local_var_req_builder = local_var_req_builder.json(&tenant_recovery_key_request_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Tenant Viewset +pub async fn tenants_tenants_destroy( + configuration: &configuration::Configuration, + tenant_uuid: &str, +) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/tenants/tenants/{tenant_uuid}/", + local_var_configuration.base_path, + tenant_uuid = crate::apis::urlencode(tenant_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Tenant Viewset +pub async fn tenants_tenants_list( + configuration: &configuration::Configuration, + ordering: Option<&str>, + page: Option, + page_size: Option, + search: Option<&str>, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/tenants/tenants/", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_str) = ordering { + local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page { + local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = page_size { + local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = search { + local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Tenant Viewset +pub async fn tenants_tenants_partial_update( + configuration: &configuration::Configuration, + tenant_uuid: &str, + patched_tenant_request: Option, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/tenants/tenants/{tenant_uuid}/", + local_var_configuration.base_path, + tenant_uuid = crate::apis::urlencode(tenant_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + local_var_req_builder = local_var_req_builder.json(&patched_tenant_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Tenant Viewset +pub async fn tenants_tenants_retrieve( + configuration: &configuration::Configuration, + tenant_uuid: &str, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/tenants/tenants/{tenant_uuid}/", + local_var_configuration.base_path, + tenant_uuid = crate::apis::urlencode(tenant_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Tenant Viewset +pub async fn tenants_tenants_update( + configuration: &configuration::Configuration, + tenant_uuid: &str, + tenant_request: models::TenantRequest, +) -> Result> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/tenants/tenants/{tenant_uuid}/", + local_var_configuration.base_path, + tenant_uuid = crate::apis::urlencode(tenant_uuid) + ); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + local_var_req_builder = local_var_req_builder.json(&tenant_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } +} diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..9556a0a --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,11 @@ +#![allow(unused_imports)] +#![allow(clippy::too_many_arguments)] + +extern crate reqwest; +extern crate serde; +extern crate serde_json; +extern crate serde_repr; +extern crate url; + +pub mod apis; +pub mod models; diff --git a/src/models/access_denied_challenge.rs b/src/models/access_denied_challenge.rs new file mode 100644 index 0000000..49665e3 --- /dev/null +++ b/src/models/access_denied_challenge.rs @@ -0,0 +1,43 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AccessDeniedChallenge : Challenge when a flow's active stage calls `stage_invalid()`. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AccessDeniedChallenge { + #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")] + pub flow_info: Option, + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")] + pub response_errors: Option>>, + #[serde(rename = "pending_user")] + pub pending_user: String, + #[serde(rename = "pending_user_avatar")] + pub pending_user_avatar: String, + #[serde(rename = "error_message", skip_serializing_if = "Option::is_none")] + pub error_message: Option, +} + +impl AccessDeniedChallenge { + /// Challenge when a flow's active stage calls `stage_invalid()`. + pub fn new(pending_user: String, pending_user_avatar: String) -> AccessDeniedChallenge { + AccessDeniedChallenge { + flow_info: None, + component: None, + response_errors: None, + pending_user, + pending_user_avatar, + error_message: None, + } + } +} diff --git a/src/models/alg_enum.rs b/src/models/alg_enum.rs new file mode 100644 index 0000000..bc16f11 --- /dev/null +++ b/src/models/alg_enum.rs @@ -0,0 +1,36 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum AlgEnum { + #[serde(rename = "rsa")] + Rsa, + #[serde(rename = "ecdsa")] + Ecdsa, +} + +impl std::fmt::Display for AlgEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Rsa => write!(f, "rsa"), + Self::Ecdsa => write!(f, "ecdsa"), + } + } +} + +impl Default for AlgEnum { + fn default() -> AlgEnum { + Self::Rsa + } +} diff --git a/src/models/app.rs b/src/models/app.rs new file mode 100644 index 0000000..05bdd7f --- /dev/null +++ b/src/models/app.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// App : Serialize Application info +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct App { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "label")] + pub label: String, +} + +impl App { + /// Serialize Application info + pub fn new(name: String, label: String) -> App { + App { name, label } + } +} diff --git a/src/models/app_enum.rs b/src/models/app_enum.rs new file mode 100644 index 0000000..64d58d4 --- /dev/null +++ b/src/models/app_enum.rs @@ -0,0 +1,205 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum AppEnum { + #[serde(rename = "authentik.tenants")] + Tenants, + #[serde(rename = "authentik.admin")] + Admin, + #[serde(rename = "authentik.api")] + Api, + #[serde(rename = "authentik.crypto")] + Crypto, + #[serde(rename = "authentik.flows")] + Flows, + #[serde(rename = "authentik.outposts")] + Outposts, + #[serde(rename = "authentik.policies.dummy")] + PoliciesPeriodDummy, + #[serde(rename = "authentik.policies.event_matcher")] + PoliciesPeriodEventMatcher, + #[serde(rename = "authentik.policies.expiry")] + PoliciesPeriodExpiry, + #[serde(rename = "authentik.policies.expression")] + PoliciesPeriodExpression, + #[serde(rename = "authentik.policies.geoip")] + PoliciesPeriodGeoip, + #[serde(rename = "authentik.policies.password")] + PoliciesPeriodPassword, + #[serde(rename = "authentik.policies.reputation")] + PoliciesPeriodReputation, + #[serde(rename = "authentik.policies")] + Policies, + #[serde(rename = "authentik.providers.ldap")] + ProvidersPeriodLdap, + #[serde(rename = "authentik.providers.oauth2")] + ProvidersPeriodOauth2, + #[serde(rename = "authentik.providers.proxy")] + ProvidersPeriodProxy, + #[serde(rename = "authentik.providers.radius")] + ProvidersPeriodRadius, + #[serde(rename = "authentik.providers.saml")] + ProvidersPeriodSaml, + #[serde(rename = "authentik.providers.scim")] + ProvidersPeriodScim, + #[serde(rename = "authentik.rbac")] + Rbac, + #[serde(rename = "authentik.recovery")] + Recovery, + #[serde(rename = "authentik.sources.ldap")] + SourcesPeriodLdap, + #[serde(rename = "authentik.sources.oauth")] + SourcesPeriodOauth, + #[serde(rename = "authentik.sources.plex")] + SourcesPeriodPlex, + #[serde(rename = "authentik.sources.saml")] + SourcesPeriodSaml, + #[serde(rename = "authentik.sources.scim")] + SourcesPeriodScim, + #[serde(rename = "authentik.stages.authenticator")] + StagesPeriodAuthenticator, + #[serde(rename = "authentik.stages.authenticator_duo")] + StagesPeriodAuthenticatorDuo, + #[serde(rename = "authentik.stages.authenticator_sms")] + StagesPeriodAuthenticatorSms, + #[serde(rename = "authentik.stages.authenticator_static")] + StagesPeriodAuthenticatorStatic, + #[serde(rename = "authentik.stages.authenticator_totp")] + StagesPeriodAuthenticatorTotp, + #[serde(rename = "authentik.stages.authenticator_validate")] + StagesPeriodAuthenticatorValidate, + #[serde(rename = "authentik.stages.authenticator_webauthn")] + StagesPeriodAuthenticatorWebauthn, + #[serde(rename = "authentik.stages.captcha")] + StagesPeriodCaptcha, + #[serde(rename = "authentik.stages.consent")] + StagesPeriodConsent, + #[serde(rename = "authentik.stages.deny")] + StagesPeriodDeny, + #[serde(rename = "authentik.stages.dummy")] + StagesPeriodDummy, + #[serde(rename = "authentik.stages.email")] + StagesPeriodEmail, + #[serde(rename = "authentik.stages.identification")] + StagesPeriodIdentification, + #[serde(rename = "authentik.stages.invitation")] + StagesPeriodInvitation, + #[serde(rename = "authentik.stages.password")] + StagesPeriodPassword, + #[serde(rename = "authentik.stages.prompt")] + StagesPeriodPrompt, + #[serde(rename = "authentik.stages.user_delete")] + StagesPeriodUserDelete, + #[serde(rename = "authentik.stages.user_login")] + StagesPeriodUserLogin, + #[serde(rename = "authentik.stages.user_logout")] + StagesPeriodUserLogout, + #[serde(rename = "authentik.stages.user_write")] + StagesPeriodUserWrite, + #[serde(rename = "authentik.brands")] + Brands, + #[serde(rename = "authentik.blueprints")] + Blueprints, + #[serde(rename = "authentik.core")] + Core, + #[serde(rename = "authentik.enterprise")] + Enterprise, + #[serde(rename = "authentik.enterprise.audit")] + EnterprisePeriodAudit, + #[serde(rename = "authentik.enterprise.providers.google_workspace")] + EnterprisePeriodProvidersPeriodGoogleWorkspace, + #[serde(rename = "authentik.enterprise.providers.microsoft_entra")] + EnterprisePeriodProvidersPeriodMicrosoftEntra, + #[serde(rename = "authentik.enterprise.providers.rac")] + EnterprisePeriodProvidersPeriodRac, + #[serde(rename = "authentik.enterprise.stages.source")] + EnterprisePeriodStagesPeriodSource, + #[serde(rename = "authentik.events")] + Events, +} + +impl std::fmt::Display for AppEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Tenants => write!(f, "authentik.tenants"), + Self::Admin => write!(f, "authentik.admin"), + Self::Api => write!(f, "authentik.api"), + Self::Crypto => write!(f, "authentik.crypto"), + Self::Flows => write!(f, "authentik.flows"), + Self::Outposts => write!(f, "authentik.outposts"), + Self::PoliciesPeriodDummy => write!(f, "authentik.policies.dummy"), + Self::PoliciesPeriodEventMatcher => write!(f, "authentik.policies.event_matcher"), + Self::PoliciesPeriodExpiry => write!(f, "authentik.policies.expiry"), + Self::PoliciesPeriodExpression => write!(f, "authentik.policies.expression"), + Self::PoliciesPeriodGeoip => write!(f, "authentik.policies.geoip"), + Self::PoliciesPeriodPassword => write!(f, "authentik.policies.password"), + Self::PoliciesPeriodReputation => write!(f, "authentik.policies.reputation"), + Self::Policies => write!(f, "authentik.policies"), + Self::ProvidersPeriodLdap => write!(f, "authentik.providers.ldap"), + Self::ProvidersPeriodOauth2 => write!(f, "authentik.providers.oauth2"), + Self::ProvidersPeriodProxy => write!(f, "authentik.providers.proxy"), + Self::ProvidersPeriodRadius => write!(f, "authentik.providers.radius"), + Self::ProvidersPeriodSaml => write!(f, "authentik.providers.saml"), + Self::ProvidersPeriodScim => write!(f, "authentik.providers.scim"), + Self::Rbac => write!(f, "authentik.rbac"), + Self::Recovery => write!(f, "authentik.recovery"), + Self::SourcesPeriodLdap => write!(f, "authentik.sources.ldap"), + Self::SourcesPeriodOauth => write!(f, "authentik.sources.oauth"), + Self::SourcesPeriodPlex => write!(f, "authentik.sources.plex"), + Self::SourcesPeriodSaml => write!(f, "authentik.sources.saml"), + Self::SourcesPeriodScim => write!(f, "authentik.sources.scim"), + Self::StagesPeriodAuthenticator => write!(f, "authentik.stages.authenticator"), + Self::StagesPeriodAuthenticatorDuo => write!(f, "authentik.stages.authenticator_duo"), + Self::StagesPeriodAuthenticatorSms => write!(f, "authentik.stages.authenticator_sms"), + Self::StagesPeriodAuthenticatorStatic => write!(f, "authentik.stages.authenticator_static"), + Self::StagesPeriodAuthenticatorTotp => write!(f, "authentik.stages.authenticator_totp"), + Self::StagesPeriodAuthenticatorValidate => write!(f, "authentik.stages.authenticator_validate"), + Self::StagesPeriodAuthenticatorWebauthn => write!(f, "authentik.stages.authenticator_webauthn"), + Self::StagesPeriodCaptcha => write!(f, "authentik.stages.captcha"), + Self::StagesPeriodConsent => write!(f, "authentik.stages.consent"), + Self::StagesPeriodDeny => write!(f, "authentik.stages.deny"), + Self::StagesPeriodDummy => write!(f, "authentik.stages.dummy"), + Self::StagesPeriodEmail => write!(f, "authentik.stages.email"), + Self::StagesPeriodIdentification => write!(f, "authentik.stages.identification"), + Self::StagesPeriodInvitation => write!(f, "authentik.stages.invitation"), + Self::StagesPeriodPassword => write!(f, "authentik.stages.password"), + Self::StagesPeriodPrompt => write!(f, "authentik.stages.prompt"), + Self::StagesPeriodUserDelete => write!(f, "authentik.stages.user_delete"), + Self::StagesPeriodUserLogin => write!(f, "authentik.stages.user_login"), + Self::StagesPeriodUserLogout => write!(f, "authentik.stages.user_logout"), + Self::StagesPeriodUserWrite => write!(f, "authentik.stages.user_write"), + Self::Brands => write!(f, "authentik.brands"), + Self::Blueprints => write!(f, "authentik.blueprints"), + Self::Core => write!(f, "authentik.core"), + Self::Enterprise => write!(f, "authentik.enterprise"), + Self::EnterprisePeriodAudit => write!(f, "authentik.enterprise.audit"), + Self::EnterprisePeriodProvidersPeriodGoogleWorkspace => { + write!(f, "authentik.enterprise.providers.google_workspace") + } + Self::EnterprisePeriodProvidersPeriodMicrosoftEntra => { + write!(f, "authentik.enterprise.providers.microsoft_entra") + } + Self::EnterprisePeriodProvidersPeriodRac => write!(f, "authentik.enterprise.providers.rac"), + Self::EnterprisePeriodStagesPeriodSource => write!(f, "authentik.enterprise.stages.source"), + Self::Events => write!(f, "authentik.events"), + } + } +} + +impl Default for AppEnum { + fn default() -> AppEnum { + Self::Tenants + } +} diff --git a/src/models/apple_challenge_response_request.rs b/src/models/apple_challenge_response_request.rs new file mode 100644 index 0000000..f75fe35 --- /dev/null +++ b/src/models/apple_challenge_response_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AppleChallengeResponseRequest : Pseudo class for apple response +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AppleChallengeResponseRequest { + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, +} + +impl AppleChallengeResponseRequest { + /// Pseudo class for apple response + pub fn new() -> AppleChallengeResponseRequest { + AppleChallengeResponseRequest { component: None } + } +} diff --git a/src/models/apple_login_challenge.rs b/src/models/apple_login_challenge.rs new file mode 100644 index 0000000..8eb6622 --- /dev/null +++ b/src/models/apple_login_challenge.rs @@ -0,0 +1,46 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AppleLoginChallenge : Special challenge for apple-native authentication flow, which happens on the client. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AppleLoginChallenge { + #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")] + pub flow_info: Option, + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")] + pub response_errors: Option>>, + #[serde(rename = "client_id")] + pub client_id: String, + #[serde(rename = "scope")] + pub scope: String, + #[serde(rename = "redirect_uri")] + pub redirect_uri: String, + #[serde(rename = "state")] + pub state: String, +} + +impl AppleLoginChallenge { + /// Special challenge for apple-native authentication flow, which happens on the client. + pub fn new(client_id: String, scope: String, redirect_uri: String, state: String) -> AppleLoginChallenge { + AppleLoginChallenge { + flow_info: None, + component: None, + response_errors: None, + client_id, + scope, + redirect_uri, + state, + } + } +} diff --git a/src/models/application.rs b/src/models/application.rs new file mode 100644 index 0000000..a0f0898 --- /dev/null +++ b/src/models/application.rs @@ -0,0 +1,88 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Application : Application Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Application { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + /// Application's display Name. + #[serde(rename = "name")] + pub name: String, + /// Internal application name, used in URLs. + #[serde(rename = "slug")] + pub slug: String, + #[serde( + rename = "provider", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub provider: Option>, + #[serde(rename = "provider_obj")] + pub provider_obj: models::Provider, + #[serde(rename = "backchannel_providers", skip_serializing_if = "Option::is_none")] + pub backchannel_providers: Option>, + #[serde(rename = "backchannel_providers_obj")] + pub backchannel_providers_obj: Vec, + /// Allow formatting of launch URL + #[serde(rename = "launch_url", deserialize_with = "Option::deserialize")] + pub launch_url: Option, + /// Open launch URL in a new browser tab or window. + #[serde(rename = "open_in_new_tab", skip_serializing_if = "Option::is_none")] + pub open_in_new_tab: Option, + #[serde(rename = "meta_launch_url", skip_serializing_if = "Option::is_none")] + pub meta_launch_url: Option, + /// Get the URL to the App Icon image. If the name is /static or starts with http it is returned as-is + #[serde(rename = "meta_icon", deserialize_with = "Option::deserialize")] + pub meta_icon: Option, + #[serde(rename = "meta_description", skip_serializing_if = "Option::is_none")] + pub meta_description: Option, + #[serde(rename = "meta_publisher", skip_serializing_if = "Option::is_none")] + pub meta_publisher: Option, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + #[serde(rename = "group", skip_serializing_if = "Option::is_none")] + pub group: Option, +} + +impl Application { + /// Application Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + slug: String, + provider_obj: models::Provider, + backchannel_providers_obj: Vec, + launch_url: Option, + meta_icon: Option, + ) -> Application { + Application { + pk, + name, + slug, + provider: None, + provider_obj, + backchannel_providers: None, + backchannel_providers_obj, + launch_url, + open_in_new_tab: None, + meta_launch_url: None, + meta_icon, + meta_description: None, + meta_publisher: None, + policy_engine_mode: None, + group: None, + } + } +} diff --git a/src/models/application_request.rs b/src/models/application_request.rs new file mode 100644 index 0000000..7866862 --- /dev/null +++ b/src/models/application_request.rs @@ -0,0 +1,63 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ApplicationRequest : Application Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ApplicationRequest { + /// Application's display Name. + #[serde(rename = "name")] + pub name: String, + /// Internal application name, used in URLs. + #[serde(rename = "slug")] + pub slug: String, + #[serde( + rename = "provider", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub provider: Option>, + #[serde(rename = "backchannel_providers", skip_serializing_if = "Option::is_none")] + pub backchannel_providers: Option>, + /// Open launch URL in a new browser tab or window. + #[serde(rename = "open_in_new_tab", skip_serializing_if = "Option::is_none")] + pub open_in_new_tab: Option, + #[serde(rename = "meta_launch_url", skip_serializing_if = "Option::is_none")] + pub meta_launch_url: Option, + #[serde(rename = "meta_description", skip_serializing_if = "Option::is_none")] + pub meta_description: Option, + #[serde(rename = "meta_publisher", skip_serializing_if = "Option::is_none")] + pub meta_publisher: Option, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + #[serde(rename = "group", skip_serializing_if = "Option::is_none")] + pub group: Option, +} + +impl ApplicationRequest { + /// Application Serializer + pub fn new(name: String, slug: String) -> ApplicationRequest { + ApplicationRequest { + name, + slug, + provider: None, + backchannel_providers: None, + open_in_new_tab: None, + meta_launch_url: None, + meta_description: None, + meta_publisher: None, + policy_engine_mode: None, + group: None, + } + } +} diff --git a/src/models/auth_mode_enum.rs b/src/models/auth_mode_enum.rs new file mode 100644 index 0000000..6159ef4 --- /dev/null +++ b/src/models/auth_mode_enum.rs @@ -0,0 +1,36 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum AuthModeEnum { + #[serde(rename = "static")] + Static, + #[serde(rename = "prompt")] + Prompt, +} + +impl std::fmt::Display for AuthModeEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Static => write!(f, "static"), + Self::Prompt => write!(f, "prompt"), + } + } +} + +impl Default for AuthModeEnum { + fn default() -> AuthModeEnum { + Self::Static + } +} diff --git a/src/models/auth_type_enum.rs b/src/models/auth_type_enum.rs new file mode 100644 index 0000000..5a3657a --- /dev/null +++ b/src/models/auth_type_enum.rs @@ -0,0 +1,36 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum AuthTypeEnum { + #[serde(rename = "basic")] + Basic, + #[serde(rename = "bearer")] + Bearer, +} + +impl std::fmt::Display for AuthTypeEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Basic => write!(f, "basic"), + Self::Bearer => write!(f, "bearer"), + } + } +} + +impl Default for AuthTypeEnum { + fn default() -> AuthTypeEnum { + Self::Basic + } +} diff --git a/src/models/authenticated_session.rs b/src/models/authenticated_session.rs new file mode 100644 index 0000000..c2c9cb9 --- /dev/null +++ b/src/models/authenticated_session.rs @@ -0,0 +1,69 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatedSession : AuthenticatedSession Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatedSession { + #[serde(rename = "uuid", skip_serializing_if = "Option::is_none")] + pub uuid: Option, + /// Check if session is currently active session + #[serde(rename = "current")] + pub current: bool, + #[serde(rename = "user_agent")] + pub user_agent: models::AuthenticatedSessionUserAgent, + #[serde(rename = "geo_ip", deserialize_with = "Option::deserialize")] + pub geo_ip: Option, + #[serde(rename = "asn", deserialize_with = "Option::deserialize")] + pub asn: Option, + #[serde(rename = "user")] + pub user: i32, + #[serde(rename = "last_ip")] + pub last_ip: String, + #[serde(rename = "last_user_agent", skip_serializing_if = "Option::is_none")] + pub last_user_agent: Option, + #[serde(rename = "last_used")] + pub last_used: String, + #[serde( + rename = "expires", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub expires: Option>, +} + +impl AuthenticatedSession { + /// AuthenticatedSession Serializer + pub fn new( + current: bool, + user_agent: models::AuthenticatedSessionUserAgent, + geo_ip: Option, + asn: Option, + user: i32, + last_ip: String, + last_used: String, + ) -> AuthenticatedSession { + AuthenticatedSession { + uuid: None, + current, + user_agent, + geo_ip, + asn, + user, + last_ip, + last_user_agent: None, + last_used, + expires: None, + } + } +} diff --git a/src/models/authenticated_session_asn.rs b/src/models/authenticated_session_asn.rs new file mode 100644 index 0000000..4dd4649 --- /dev/null +++ b/src/models/authenticated_session_asn.rs @@ -0,0 +1,30 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatedSessionAsn : Get ASN Data +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatedSessionAsn { + #[serde(rename = "asn")] + pub asn: i32, + #[serde(rename = "as_org", deserialize_with = "Option::deserialize")] + pub as_org: Option, + #[serde(rename = "network", deserialize_with = "Option::deserialize")] + pub network: Option, +} + +impl AuthenticatedSessionAsn { + /// Get ASN Data + pub fn new(asn: i32, as_org: Option, network: Option) -> AuthenticatedSessionAsn { + AuthenticatedSessionAsn { asn, as_org, network } + } +} diff --git a/src/models/authenticated_session_geo_ip.rs b/src/models/authenticated_session_geo_ip.rs new file mode 100644 index 0000000..bd64202 --- /dev/null +++ b/src/models/authenticated_session_geo_ip.rs @@ -0,0 +1,40 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatedSessionGeoIp : Get GeoIP Data +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatedSessionGeoIp { + #[serde(rename = "continent")] + pub continent: String, + #[serde(rename = "country")] + pub country: String, + #[serde(rename = "lat")] + pub lat: f64, + #[serde(rename = "long")] + pub long: f64, + #[serde(rename = "city")] + pub city: String, +} + +impl AuthenticatedSessionGeoIp { + /// Get GeoIP Data + pub fn new(continent: String, country: String, lat: f64, long: f64, city: String) -> AuthenticatedSessionGeoIp { + AuthenticatedSessionGeoIp { + continent, + country, + lat, + long, + city, + } + } +} diff --git a/src/models/authenticated_session_user_agent.rs b/src/models/authenticated_session_user_agent.rs new file mode 100644 index 0000000..3cb8f40 --- /dev/null +++ b/src/models/authenticated_session_user_agent.rs @@ -0,0 +1,42 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatedSessionUserAgent : Get parsed user agent +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatedSessionUserAgent { + #[serde(rename = "device")] + pub device: models::AuthenticatedSessionUserAgentDevice, + #[serde(rename = "os")] + pub os: models::AuthenticatedSessionUserAgentOs, + #[serde(rename = "user_agent")] + pub user_agent: models::AuthenticatedSessionUserAgentUserAgent, + #[serde(rename = "string")] + pub string: String, +} + +impl AuthenticatedSessionUserAgent { + /// Get parsed user agent + pub fn new( + device: models::AuthenticatedSessionUserAgentDevice, + os: models::AuthenticatedSessionUserAgentOs, + user_agent: models::AuthenticatedSessionUserAgentUserAgent, + string: String, + ) -> AuthenticatedSessionUserAgent { + AuthenticatedSessionUserAgent { + device, + os, + user_agent, + string, + } + } +} diff --git a/src/models/authenticated_session_user_agent_device.rs b/src/models/authenticated_session_user_agent_device.rs new file mode 100644 index 0000000..c6013cb --- /dev/null +++ b/src/models/authenticated_session_user_agent_device.rs @@ -0,0 +1,30 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatedSessionUserAgentDevice : User agent device +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatedSessionUserAgentDevice { + #[serde(rename = "brand")] + pub brand: String, + #[serde(rename = "family")] + pub family: String, + #[serde(rename = "model")] + pub model: String, +} + +impl AuthenticatedSessionUserAgentDevice { + /// User agent device + pub fn new(brand: String, family: String, model: String) -> AuthenticatedSessionUserAgentDevice { + AuthenticatedSessionUserAgentDevice { brand, family, model } + } +} diff --git a/src/models/authenticated_session_user_agent_os.rs b/src/models/authenticated_session_user_agent_os.rs new file mode 100644 index 0000000..1c8dced --- /dev/null +++ b/src/models/authenticated_session_user_agent_os.rs @@ -0,0 +1,46 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatedSessionUserAgentOs : User agent os +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatedSessionUserAgentOs { + #[serde(rename = "family")] + pub family: String, + #[serde(rename = "major")] + pub major: String, + #[serde(rename = "minor")] + pub minor: String, + #[serde(rename = "patch")] + pub patch: String, + #[serde(rename = "patch_minor")] + pub patch_minor: String, +} + +impl AuthenticatedSessionUserAgentOs { + /// User agent os + pub fn new( + family: String, + major: String, + minor: String, + patch: String, + patch_minor: String, + ) -> AuthenticatedSessionUserAgentOs { + AuthenticatedSessionUserAgentOs { + family, + major, + minor, + patch, + patch_minor, + } + } +} diff --git a/src/models/authenticated_session_user_agent_user_agent.rs b/src/models/authenticated_session_user_agent_user_agent.rs new file mode 100644 index 0000000..5d9d8d9 --- /dev/null +++ b/src/models/authenticated_session_user_agent_user_agent.rs @@ -0,0 +1,37 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatedSessionUserAgentUserAgent : User agent browser +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatedSessionUserAgentUserAgent { + #[serde(rename = "family")] + pub family: String, + #[serde(rename = "major")] + pub major: String, + #[serde(rename = "minor")] + pub minor: String, + #[serde(rename = "patch")] + pub patch: String, +} + +impl AuthenticatedSessionUserAgentUserAgent { + /// User agent browser + pub fn new(family: String, major: String, minor: String, patch: String) -> AuthenticatedSessionUserAgentUserAgent { + AuthenticatedSessionUserAgentUserAgent { + family, + major, + minor, + patch, + } + } +} diff --git a/src/models/authentication_enum.rs b/src/models/authentication_enum.rs new file mode 100644 index 0000000..d117480 --- /dev/null +++ b/src/models/authentication_enum.rs @@ -0,0 +1,45 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum AuthenticationEnum { + #[serde(rename = "none")] + None, + #[serde(rename = "require_authenticated")] + RequireAuthenticated, + #[serde(rename = "require_unauthenticated")] + RequireUnauthenticated, + #[serde(rename = "require_superuser")] + RequireSuperuser, + #[serde(rename = "require_outpost")] + RequireOutpost, +} + +impl std::fmt::Display for AuthenticationEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::None => write!(f, "none"), + Self::RequireAuthenticated => write!(f, "require_authenticated"), + Self::RequireUnauthenticated => write!(f, "require_unauthenticated"), + Self::RequireSuperuser => write!(f, "require_superuser"), + Self::RequireOutpost => write!(f, "require_outpost"), + } + } +} + +impl Default for AuthenticationEnum { + fn default() -> AuthenticationEnum { + Self::None + } +} diff --git a/src/models/authenticator_attachment_enum.rs b/src/models/authenticator_attachment_enum.rs new file mode 100644 index 0000000..2307530 --- /dev/null +++ b/src/models/authenticator_attachment_enum.rs @@ -0,0 +1,36 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum AuthenticatorAttachmentEnum { + #[serde(rename = "platform")] + Platform, + #[serde(rename = "cross-platform")] + CrossPlatform, +} + +impl std::fmt::Display for AuthenticatorAttachmentEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Platform => write!(f, "platform"), + Self::CrossPlatform => write!(f, "cross-platform"), + } + } +} + +impl Default for AuthenticatorAttachmentEnum { + fn default() -> AuthenticatorAttachmentEnum { + Self::Platform + } +} diff --git a/src/models/authenticator_duo_challenge.rs b/src/models/authenticator_duo_challenge.rs new file mode 100644 index 0000000..c9f4675 --- /dev/null +++ b/src/models/authenticator_duo_challenge.rs @@ -0,0 +1,55 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorDuoChallenge : Duo Challenge +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorDuoChallenge { + #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")] + pub flow_info: Option, + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")] + pub response_errors: Option>>, + #[serde(rename = "pending_user")] + pub pending_user: String, + #[serde(rename = "pending_user_avatar")] + pub pending_user_avatar: String, + #[serde(rename = "activation_barcode")] + pub activation_barcode: String, + #[serde(rename = "activation_code")] + pub activation_code: String, + #[serde(rename = "stage_uuid")] + pub stage_uuid: String, +} + +impl AuthenticatorDuoChallenge { + /// Duo Challenge + pub fn new( + pending_user: String, + pending_user_avatar: String, + activation_barcode: String, + activation_code: String, + stage_uuid: String, + ) -> AuthenticatorDuoChallenge { + AuthenticatorDuoChallenge { + flow_info: None, + component: None, + response_errors: None, + pending_user, + pending_user_avatar, + activation_barcode, + activation_code, + stage_uuid, + } + } +} diff --git a/src/models/authenticator_duo_challenge_response_request.rs b/src/models/authenticator_duo_challenge_response_request.rs new file mode 100644 index 0000000..4d739d5 --- /dev/null +++ b/src/models/authenticator_duo_challenge_response_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorDuoChallengeResponseRequest : Pseudo class for duo response +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorDuoChallengeResponseRequest { + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, +} + +impl AuthenticatorDuoChallengeResponseRequest { + /// Pseudo class for duo response + pub fn new() -> AuthenticatorDuoChallengeResponseRequest { + AuthenticatorDuoChallengeResponseRequest { component: None } + } +} diff --git a/src/models/authenticator_duo_stage.rs b/src/models/authenticator_duo_stage.rs new file mode 100644 index 0000000..a99e257 --- /dev/null +++ b/src/models/authenticator_duo_stage.rs @@ -0,0 +1,85 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorDuoStage : AuthenticatorDuoStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorDuoStage { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Get object type so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. + #[serde( + rename = "configure_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub configure_flow: Option>, + #[serde( + rename = "friendly_name", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub friendly_name: Option>, + #[serde(rename = "client_id")] + pub client_id: String, + #[serde(rename = "api_hostname")] + pub api_hostname: String, + #[serde(rename = "admin_integration_key", skip_serializing_if = "Option::is_none")] + pub admin_integration_key: Option, +} + +impl AuthenticatorDuoStage { + /// AuthenticatorDuoStage Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + client_id: String, + api_hostname: String, + ) -> AuthenticatorDuoStage { + AuthenticatorDuoStage { + pk, + name, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + flow_set: None, + configure_flow: None, + friendly_name: None, + client_id, + api_hostname, + admin_integration_key: None, + } + } +} diff --git a/src/models/authenticator_duo_stage_device_import_response.rs b/src/models/authenticator_duo_stage_device_import_response.rs new file mode 100644 index 0000000..ab38321 --- /dev/null +++ b/src/models/authenticator_duo_stage_device_import_response.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorDuoStageDeviceImportResponse { + #[serde(rename = "count")] + pub count: i32, + #[serde(rename = "error")] + pub error: String, +} + +impl AuthenticatorDuoStageDeviceImportResponse { + pub fn new(count: i32, error: String) -> AuthenticatorDuoStageDeviceImportResponse { + AuthenticatorDuoStageDeviceImportResponse { count, error } + } +} diff --git a/src/models/authenticator_duo_stage_manual_device_import_request.rs b/src/models/authenticator_duo_stage_manual_device_import_request.rs new file mode 100644 index 0000000..8eb4d7a --- /dev/null +++ b/src/models/authenticator_duo_stage_manual_device_import_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorDuoStageManualDeviceImportRequest { + #[serde(rename = "duo_user_id")] + pub duo_user_id: String, + #[serde(rename = "username")] + pub username: String, +} + +impl AuthenticatorDuoStageManualDeviceImportRequest { + pub fn new(duo_user_id: String, username: String) -> AuthenticatorDuoStageManualDeviceImportRequest { + AuthenticatorDuoStageManualDeviceImportRequest { duo_user_id, username } + } +} diff --git a/src/models/authenticator_duo_stage_request.rs b/src/models/authenticator_duo_stage_request.rs new file mode 100644 index 0000000..42b8378 --- /dev/null +++ b/src/models/authenticator_duo_stage_request.rs @@ -0,0 +1,68 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorDuoStageRequest : AuthenticatorDuoStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorDuoStageRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. + #[serde( + rename = "configure_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub configure_flow: Option>, + #[serde( + rename = "friendly_name", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub friendly_name: Option>, + #[serde(rename = "client_id")] + pub client_id: String, + #[serde(rename = "client_secret")] + pub client_secret: String, + #[serde(rename = "api_hostname")] + pub api_hostname: String, + #[serde(rename = "admin_integration_key", skip_serializing_if = "Option::is_none")] + pub admin_integration_key: Option, + #[serde(rename = "admin_secret_key", skip_serializing_if = "Option::is_none")] + pub admin_secret_key: Option, +} + +impl AuthenticatorDuoStageRequest { + /// AuthenticatorDuoStage Serializer + pub fn new( + name: String, + client_id: String, + client_secret: String, + api_hostname: String, + ) -> AuthenticatorDuoStageRequest { + AuthenticatorDuoStageRequest { + name, + flow_set: None, + configure_flow: None, + friendly_name: None, + client_id, + client_secret, + api_hostname, + admin_integration_key: None, + admin_secret_key: None, + } + } +} diff --git a/src/models/authenticator_sms_challenge.rs b/src/models/authenticator_sms_challenge.rs new file mode 100644 index 0000000..c15ef9c --- /dev/null +++ b/src/models/authenticator_sms_challenge.rs @@ -0,0 +1,43 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorSmsChallenge : SMS Setup challenge +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorSmsChallenge { + #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")] + pub flow_info: Option, + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")] + pub response_errors: Option>>, + #[serde(rename = "pending_user")] + pub pending_user: String, + #[serde(rename = "pending_user_avatar")] + pub pending_user_avatar: String, + #[serde(rename = "phone_number_required", skip_serializing_if = "Option::is_none")] + pub phone_number_required: Option, +} + +impl AuthenticatorSmsChallenge { + /// SMS Setup challenge + pub fn new(pending_user: String, pending_user_avatar: String) -> AuthenticatorSmsChallenge { + AuthenticatorSmsChallenge { + flow_info: None, + component: None, + response_errors: None, + pending_user, + pending_user_avatar, + phone_number_required: None, + } + } +} diff --git a/src/models/authenticator_sms_challenge_response_request.rs b/src/models/authenticator_sms_challenge_response_request.rs new file mode 100644 index 0000000..d1770d7 --- /dev/null +++ b/src/models/authenticator_sms_challenge_response_request.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorSmsChallengeResponseRequest : SMS Challenge response, device is set by get_response_instance +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorSmsChallengeResponseRequest { + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "code", skip_serializing_if = "Option::is_none")] + pub code: Option, + #[serde(rename = "phone_number", skip_serializing_if = "Option::is_none")] + pub phone_number: Option, +} + +impl AuthenticatorSmsChallengeResponseRequest { + /// SMS Challenge response, device is set by get_response_instance + pub fn new() -> AuthenticatorSmsChallengeResponseRequest { + AuthenticatorSmsChallengeResponseRequest { + component: None, + code: None, + phone_number: None, + } + } +} diff --git a/src/models/authenticator_sms_stage.rs b/src/models/authenticator_sms_stage.rs new file mode 100644 index 0000000..19f4fbb --- /dev/null +++ b/src/models/authenticator_sms_stage.rs @@ -0,0 +1,109 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorSmsStage : AuthenticatorSMSStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorSmsStage { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Get object type so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. + #[serde( + rename = "configure_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub configure_flow: Option>, + #[serde( + rename = "friendly_name", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub friendly_name: Option>, + #[serde(rename = "provider")] + pub provider: models::ProviderEnum, + #[serde(rename = "from_number")] + pub from_number: String, + #[serde(rename = "account_sid")] + pub account_sid: String, + #[serde(rename = "auth")] + pub auth: String, + #[serde(rename = "auth_password", skip_serializing_if = "Option::is_none")] + pub auth_password: Option, + #[serde(rename = "auth_type", skip_serializing_if = "Option::is_none")] + pub auth_type: Option, + /// When enabled, the Phone number is only used during enrollment to verify the users authenticity. Only a hash of the phone number is saved to ensure it is not reused in the future. + #[serde(rename = "verify_only", skip_serializing_if = "Option::is_none")] + pub verify_only: Option, + /// Optionally modify the payload being sent to custom providers. + #[serde( + rename = "mapping", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub mapping: Option>, +} + +impl AuthenticatorSmsStage { + /// AuthenticatorSMSStage Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + provider: models::ProviderEnum, + from_number: String, + account_sid: String, + auth: String, + ) -> AuthenticatorSmsStage { + AuthenticatorSmsStage { + pk, + name, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + flow_set: None, + configure_flow: None, + friendly_name: None, + provider, + from_number, + account_sid, + auth, + auth_password: None, + auth_type: None, + verify_only: None, + mapping: None, + } + } +} diff --git a/src/models/authenticator_sms_stage_request.rs b/src/models/authenticator_sms_stage_request.rs new file mode 100644 index 0000000..9f9af69 --- /dev/null +++ b/src/models/authenticator_sms_stage_request.rs @@ -0,0 +1,85 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorSmsStageRequest : AuthenticatorSMSStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorSmsStageRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. + #[serde( + rename = "configure_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub configure_flow: Option>, + #[serde( + rename = "friendly_name", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub friendly_name: Option>, + #[serde(rename = "provider")] + pub provider: models::ProviderEnum, + #[serde(rename = "from_number")] + pub from_number: String, + #[serde(rename = "account_sid")] + pub account_sid: String, + #[serde(rename = "auth")] + pub auth: String, + #[serde(rename = "auth_password", skip_serializing_if = "Option::is_none")] + pub auth_password: Option, + #[serde(rename = "auth_type", skip_serializing_if = "Option::is_none")] + pub auth_type: Option, + /// When enabled, the Phone number is only used during enrollment to verify the users authenticity. Only a hash of the phone number is saved to ensure it is not reused in the future. + #[serde(rename = "verify_only", skip_serializing_if = "Option::is_none")] + pub verify_only: Option, + /// Optionally modify the payload being sent to custom providers. + #[serde( + rename = "mapping", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub mapping: Option>, +} + +impl AuthenticatorSmsStageRequest { + /// AuthenticatorSMSStage Serializer + pub fn new( + name: String, + provider: models::ProviderEnum, + from_number: String, + account_sid: String, + auth: String, + ) -> AuthenticatorSmsStageRequest { + AuthenticatorSmsStageRequest { + name, + flow_set: None, + configure_flow: None, + friendly_name: None, + provider, + from_number, + account_sid, + auth, + auth_password: None, + auth_type: None, + verify_only: None, + mapping: None, + } + } +} diff --git a/src/models/authenticator_static_challenge.rs b/src/models/authenticator_static_challenge.rs new file mode 100644 index 0000000..1ab72f3 --- /dev/null +++ b/src/models/authenticator_static_challenge.rs @@ -0,0 +1,43 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorStaticChallenge : Static authenticator challenge +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorStaticChallenge { + #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")] + pub flow_info: Option, + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")] + pub response_errors: Option>>, + #[serde(rename = "pending_user")] + pub pending_user: String, + #[serde(rename = "pending_user_avatar")] + pub pending_user_avatar: String, + #[serde(rename = "codes")] + pub codes: Vec, +} + +impl AuthenticatorStaticChallenge { + /// Static authenticator challenge + pub fn new(pending_user: String, pending_user_avatar: String, codes: Vec) -> AuthenticatorStaticChallenge { + AuthenticatorStaticChallenge { + flow_info: None, + component: None, + response_errors: None, + pending_user, + pending_user_avatar, + codes, + } + } +} diff --git a/src/models/authenticator_static_challenge_response_request.rs b/src/models/authenticator_static_challenge_response_request.rs new file mode 100644 index 0000000..89ecc5a --- /dev/null +++ b/src/models/authenticator_static_challenge_response_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorStaticChallengeResponseRequest : Pseudo class for static response +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorStaticChallengeResponseRequest { + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, +} + +impl AuthenticatorStaticChallengeResponseRequest { + /// Pseudo class for static response + pub fn new() -> AuthenticatorStaticChallengeResponseRequest { + AuthenticatorStaticChallengeResponseRequest { component: None } + } +} diff --git a/src/models/authenticator_static_stage.rs b/src/models/authenticator_static_stage.rs new file mode 100644 index 0000000..0a21928 --- /dev/null +++ b/src/models/authenticator_static_stage.rs @@ -0,0 +1,80 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorStaticStage : AuthenticatorStaticStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorStaticStage { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Get object type so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. + #[serde( + rename = "configure_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub configure_flow: Option>, + #[serde( + rename = "friendly_name", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub friendly_name: Option>, + #[serde(rename = "token_count", skip_serializing_if = "Option::is_none")] + pub token_count: Option, + #[serde(rename = "token_length", skip_serializing_if = "Option::is_none")] + pub token_length: Option, +} + +impl AuthenticatorStaticStage { + /// AuthenticatorStaticStage Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> AuthenticatorStaticStage { + AuthenticatorStaticStage { + pk, + name, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + flow_set: None, + configure_flow: None, + friendly_name: None, + token_count: None, + token_length: None, + } + } +} diff --git a/src/models/authenticator_static_stage_request.rs b/src/models/authenticator_static_stage_request.rs new file mode 100644 index 0000000..aa81226 --- /dev/null +++ b/src/models/authenticator_static_stage_request.rs @@ -0,0 +1,54 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorStaticStageRequest : AuthenticatorStaticStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorStaticStageRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. + #[serde( + rename = "configure_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub configure_flow: Option>, + #[serde( + rename = "friendly_name", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub friendly_name: Option>, + #[serde(rename = "token_count", skip_serializing_if = "Option::is_none")] + pub token_count: Option, + #[serde(rename = "token_length", skip_serializing_if = "Option::is_none")] + pub token_length: Option, +} + +impl AuthenticatorStaticStageRequest { + /// AuthenticatorStaticStage Serializer + pub fn new(name: String) -> AuthenticatorStaticStageRequest { + AuthenticatorStaticStageRequest { + name, + flow_set: None, + configure_flow: None, + friendly_name: None, + token_count: None, + token_length: None, + } + } +} diff --git a/src/models/authenticator_totp_challenge.rs b/src/models/authenticator_totp_challenge.rs new file mode 100644 index 0000000..fc2af47 --- /dev/null +++ b/src/models/authenticator_totp_challenge.rs @@ -0,0 +1,43 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorTotpChallenge : TOTP Setup challenge +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorTotpChallenge { + #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")] + pub flow_info: Option, + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")] + pub response_errors: Option>>, + #[serde(rename = "pending_user")] + pub pending_user: String, + #[serde(rename = "pending_user_avatar")] + pub pending_user_avatar: String, + #[serde(rename = "config_url")] + pub config_url: String, +} + +impl AuthenticatorTotpChallenge { + /// TOTP Setup challenge + pub fn new(pending_user: String, pending_user_avatar: String, config_url: String) -> AuthenticatorTotpChallenge { + AuthenticatorTotpChallenge { + flow_info: None, + component: None, + response_errors: None, + pending_user, + pending_user_avatar, + config_url, + } + } +} diff --git a/src/models/authenticator_totp_challenge_response_request.rs b/src/models/authenticator_totp_challenge_response_request.rs new file mode 100644 index 0000000..b761f7c --- /dev/null +++ b/src/models/authenticator_totp_challenge_response_request.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorTotpChallengeResponseRequest : TOTP Challenge response, device is set by get_response_instance +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorTotpChallengeResponseRequest { + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "code")] + pub code: i32, +} + +impl AuthenticatorTotpChallengeResponseRequest { + /// TOTP Challenge response, device is set by get_response_instance + pub fn new(code: i32) -> AuthenticatorTotpChallengeResponseRequest { + AuthenticatorTotpChallengeResponseRequest { component: None, code } + } +} diff --git a/src/models/authenticator_totp_stage.rs b/src/models/authenticator_totp_stage.rs new file mode 100644 index 0000000..5abafd9 --- /dev/null +++ b/src/models/authenticator_totp_stage.rs @@ -0,0 +1,78 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorTotpStage : AuthenticatorTOTPStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorTotpStage { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Get object type so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. + #[serde( + rename = "configure_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub configure_flow: Option>, + #[serde( + rename = "friendly_name", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub friendly_name: Option>, + #[serde(rename = "digits")] + pub digits: models::DigitsEnum, +} + +impl AuthenticatorTotpStage { + /// AuthenticatorTOTPStage Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + digits: models::DigitsEnum, + ) -> AuthenticatorTotpStage { + AuthenticatorTotpStage { + pk, + name, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + flow_set: None, + configure_flow: None, + friendly_name: None, + digits, + } + } +} diff --git a/src/models/authenticator_totp_stage_request.rs b/src/models/authenticator_totp_stage_request.rs new file mode 100644 index 0000000..d016814 --- /dev/null +++ b/src/models/authenticator_totp_stage_request.rs @@ -0,0 +1,51 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorTotpStageRequest : AuthenticatorTOTPStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorTotpStageRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. + #[serde( + rename = "configure_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub configure_flow: Option>, + #[serde( + rename = "friendly_name", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub friendly_name: Option>, + #[serde(rename = "digits")] + pub digits: models::DigitsEnum, +} + +impl AuthenticatorTotpStageRequest { + /// AuthenticatorTOTPStage Serializer + pub fn new(name: String, digits: models::DigitsEnum) -> AuthenticatorTotpStageRequest { + AuthenticatorTotpStageRequest { + name, + flow_set: None, + configure_flow: None, + friendly_name: None, + digits, + } + } +} diff --git a/src/models/authenticator_validate_stage.rs b/src/models/authenticator_validate_stage.rs new file mode 100644 index 0000000..8ae4ad1 --- /dev/null +++ b/src/models/authenticator_validate_stage.rs @@ -0,0 +1,83 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorValidateStage : AuthenticatorValidateStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorValidateStage { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Get object type so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + #[serde(rename = "not_configured_action", skip_serializing_if = "Option::is_none")] + pub not_configured_action: Option, + /// Device classes which can be used to authenticate + #[serde(rename = "device_classes", skip_serializing_if = "Option::is_none")] + pub device_classes: Option>, + /// Stages used to configure Authenticator when user doesn't have any compatible devices. After this configuration Stage passes, the user is not prompted again. + #[serde(rename = "configuration_stages", skip_serializing_if = "Option::is_none")] + pub configuration_stages: Option>, + /// If any of the user's device has been used within this threshold, this stage will be skipped + #[serde(rename = "last_auth_threshold", skip_serializing_if = "Option::is_none")] + pub last_auth_threshold: Option, + /// Enforce user verification for WebAuthn devices. + #[serde(rename = "webauthn_user_verification", skip_serializing_if = "Option::is_none")] + pub webauthn_user_verification: Option, + #[serde(rename = "webauthn_allowed_device_types", skip_serializing_if = "Option::is_none")] + pub webauthn_allowed_device_types: Option>, + #[serde(rename = "webauthn_allowed_device_types_obj")] + pub webauthn_allowed_device_types_obj: Vec, +} + +impl AuthenticatorValidateStage { + /// AuthenticatorValidateStage Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + webauthn_allowed_device_types_obj: Vec, + ) -> AuthenticatorValidateStage { + AuthenticatorValidateStage { + pk, + name, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + flow_set: None, + not_configured_action: None, + device_classes: None, + configuration_stages: None, + last_auth_threshold: None, + webauthn_user_verification: None, + webauthn_allowed_device_types: None, + webauthn_allowed_device_types_obj, + } + } +} diff --git a/src/models/authenticator_validate_stage_request.rs b/src/models/authenticator_validate_stage_request.rs new file mode 100644 index 0000000..ad52de3 --- /dev/null +++ b/src/models/authenticator_validate_stage_request.rs @@ -0,0 +1,53 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorValidateStageRequest : AuthenticatorValidateStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorValidateStageRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + #[serde(rename = "not_configured_action", skip_serializing_if = "Option::is_none")] + pub not_configured_action: Option, + /// Device classes which can be used to authenticate + #[serde(rename = "device_classes", skip_serializing_if = "Option::is_none")] + pub device_classes: Option>, + /// Stages used to configure Authenticator when user doesn't have any compatible devices. After this configuration Stage passes, the user is not prompted again. + #[serde(rename = "configuration_stages", skip_serializing_if = "Option::is_none")] + pub configuration_stages: Option>, + /// If any of the user's device has been used within this threshold, this stage will be skipped + #[serde(rename = "last_auth_threshold", skip_serializing_if = "Option::is_none")] + pub last_auth_threshold: Option, + /// Enforce user verification for WebAuthn devices. + #[serde(rename = "webauthn_user_verification", skip_serializing_if = "Option::is_none")] + pub webauthn_user_verification: Option, + #[serde(rename = "webauthn_allowed_device_types", skip_serializing_if = "Option::is_none")] + pub webauthn_allowed_device_types: Option>, +} + +impl AuthenticatorValidateStageRequest { + /// AuthenticatorValidateStage Serializer + pub fn new(name: String) -> AuthenticatorValidateStageRequest { + AuthenticatorValidateStageRequest { + name, + flow_set: None, + not_configured_action: None, + device_classes: None, + configuration_stages: None, + last_auth_threshold: None, + webauthn_user_verification: None, + webauthn_allowed_device_types: None, + } + } +} diff --git a/src/models/authenticator_validation_challenge.rs b/src/models/authenticator_validation_challenge.rs new file mode 100644 index 0000000..baf76d2 --- /dev/null +++ b/src/models/authenticator_validation_challenge.rs @@ -0,0 +1,51 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorValidationChallenge : Authenticator challenge +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorValidationChallenge { + #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")] + pub flow_info: Option, + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")] + pub response_errors: Option>>, + #[serde(rename = "pending_user")] + pub pending_user: String, + #[serde(rename = "pending_user_avatar")] + pub pending_user_avatar: String, + #[serde(rename = "device_challenges")] + pub device_challenges: Vec, + #[serde(rename = "configuration_stages")] + pub configuration_stages: Vec, +} + +impl AuthenticatorValidationChallenge { + /// Authenticator challenge + pub fn new( + pending_user: String, + pending_user_avatar: String, + device_challenges: Vec, + configuration_stages: Vec, + ) -> AuthenticatorValidationChallenge { + AuthenticatorValidationChallenge { + flow_info: None, + component: None, + response_errors: None, + pending_user, + pending_user_avatar, + device_challenges, + configuration_stages, + } + } +} diff --git a/src/models/authenticator_validation_challenge_response_request.rs b/src/models/authenticator_validation_challenge_response_request.rs new file mode 100644 index 0000000..2b86d55 --- /dev/null +++ b/src/models/authenticator_validation_challenge_response_request.rs @@ -0,0 +1,43 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorValidationChallengeResponseRequest : Challenge used for Code-based and WebAuthn authenticators +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorValidationChallengeResponseRequest { + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "selected_challenge", skip_serializing_if = "Option::is_none")] + pub selected_challenge: Option, + #[serde(rename = "selected_stage", skip_serializing_if = "Option::is_none")] + pub selected_stage: Option, + #[serde(rename = "code", skip_serializing_if = "Option::is_none")] + pub code: Option, + #[serde(rename = "webauthn", skip_serializing_if = "Option::is_none")] + pub webauthn: Option>, + #[serde(rename = "duo", skip_serializing_if = "Option::is_none")] + pub duo: Option, +} + +impl AuthenticatorValidationChallengeResponseRequest { + /// Challenge used for Code-based and WebAuthn authenticators + pub fn new() -> AuthenticatorValidationChallengeResponseRequest { + AuthenticatorValidationChallengeResponseRequest { + component: None, + selected_challenge: None, + selected_stage: None, + code: None, + webauthn: None, + duo: None, + } + } +} diff --git a/src/models/authenticator_web_authn_challenge.rs b/src/models/authenticator_web_authn_challenge.rs new file mode 100644 index 0000000..866f032 --- /dev/null +++ b/src/models/authenticator_web_authn_challenge.rs @@ -0,0 +1,47 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorWebAuthnChallenge : WebAuthn Challenge +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorWebAuthnChallenge { + #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")] + pub flow_info: Option, + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")] + pub response_errors: Option>>, + #[serde(rename = "pending_user")] + pub pending_user: String, + #[serde(rename = "pending_user_avatar")] + pub pending_user_avatar: String, + #[serde(rename = "registration")] + pub registration: std::collections::HashMap, +} + +impl AuthenticatorWebAuthnChallenge { + /// WebAuthn Challenge + pub fn new( + pending_user: String, + pending_user_avatar: String, + registration: std::collections::HashMap, + ) -> AuthenticatorWebAuthnChallenge { + AuthenticatorWebAuthnChallenge { + flow_info: None, + component: None, + response_errors: None, + pending_user, + pending_user_avatar, + registration, + } + } +} diff --git a/src/models/authenticator_web_authn_challenge_response_request.rs b/src/models/authenticator_web_authn_challenge_response_request.rs new file mode 100644 index 0000000..00bf1a4 --- /dev/null +++ b/src/models/authenticator_web_authn_challenge_response_request.rs @@ -0,0 +1,33 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorWebAuthnChallengeResponseRequest : WebAuthn Challenge response +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorWebAuthnChallengeResponseRequest { + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response")] + pub response: std::collections::HashMap, +} + +impl AuthenticatorWebAuthnChallengeResponseRequest { + /// WebAuthn Challenge response + pub fn new( + response: std::collections::HashMap, + ) -> AuthenticatorWebAuthnChallengeResponseRequest { + AuthenticatorWebAuthnChallengeResponseRequest { + component: None, + response, + } + } +} diff --git a/src/models/authenticator_web_authn_stage.rs b/src/models/authenticator_web_authn_stage.rs new file mode 100644 index 0000000..ae5dec3 --- /dev/null +++ b/src/models/authenticator_web_authn_stage.rs @@ -0,0 +1,95 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorWebAuthnStage : AuthenticatorWebAuthnStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorWebAuthnStage { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Get object type so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. + #[serde( + rename = "configure_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub configure_flow: Option>, + #[serde( + rename = "friendly_name", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub friendly_name: Option>, + #[serde(rename = "user_verification", skip_serializing_if = "Option::is_none")] + pub user_verification: Option, + #[serde( + rename = "authenticator_attachment", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authenticator_attachment: Option>, + #[serde(rename = "resident_key_requirement", skip_serializing_if = "Option::is_none")] + pub resident_key_requirement: Option, + #[serde(rename = "device_type_restrictions", skip_serializing_if = "Option::is_none")] + pub device_type_restrictions: Option>, + #[serde(rename = "device_type_restrictions_obj")] + pub device_type_restrictions_obj: Vec, +} + +impl AuthenticatorWebAuthnStage { + /// AuthenticatorWebAuthnStage Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + device_type_restrictions_obj: Vec, + ) -> AuthenticatorWebAuthnStage { + AuthenticatorWebAuthnStage { + pk, + name, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + flow_set: None, + configure_flow: None, + friendly_name: None, + user_verification: None, + authenticator_attachment: None, + resident_key_requirement: None, + device_type_restrictions: None, + device_type_restrictions_obj, + } + } +} diff --git a/src/models/authenticator_web_authn_stage_request.rs b/src/models/authenticator_web_authn_stage_request.rs new file mode 100644 index 0000000..149ede4 --- /dev/null +++ b/src/models/authenticator_web_authn_stage_request.rs @@ -0,0 +1,65 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AuthenticatorWebAuthnStageRequest : AuthenticatorWebAuthnStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthenticatorWebAuthnStageRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. + #[serde( + rename = "configure_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub configure_flow: Option>, + #[serde( + rename = "friendly_name", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub friendly_name: Option>, + #[serde(rename = "user_verification", skip_serializing_if = "Option::is_none")] + pub user_verification: Option, + #[serde( + rename = "authenticator_attachment", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authenticator_attachment: Option>, + #[serde(rename = "resident_key_requirement", skip_serializing_if = "Option::is_none")] + pub resident_key_requirement: Option, + #[serde(rename = "device_type_restrictions", skip_serializing_if = "Option::is_none")] + pub device_type_restrictions: Option>, +} + +impl AuthenticatorWebAuthnStageRequest { + /// AuthenticatorWebAuthnStage Serializer + pub fn new(name: String) -> AuthenticatorWebAuthnStageRequest { + AuthenticatorWebAuthnStageRequest { + name, + flow_set: None, + configure_flow: None, + friendly_name: None, + user_verification: None, + authenticator_attachment: None, + resident_key_requirement: None, + device_type_restrictions: None, + } + } +} diff --git a/src/models/auto_submit_challenge_response_request.rs b/src/models/auto_submit_challenge_response_request.rs new file mode 100644 index 0000000..2b23b90 --- /dev/null +++ b/src/models/auto_submit_challenge_response_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AutoSubmitChallengeResponseRequest : Pseudo class for autosubmit response +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AutoSubmitChallengeResponseRequest { + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, +} + +impl AutoSubmitChallengeResponseRequest { + /// Pseudo class for autosubmit response + pub fn new() -> AutoSubmitChallengeResponseRequest { + AutoSubmitChallengeResponseRequest { component: None } + } +} diff --git a/src/models/autosubmit_challenge.rs b/src/models/autosubmit_challenge.rs new file mode 100644 index 0000000..2d77cfd --- /dev/null +++ b/src/models/autosubmit_challenge.rs @@ -0,0 +1,43 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AutosubmitChallenge : Autosubmit challenge used to send and navigate a POST request +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AutosubmitChallenge { + #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")] + pub flow_info: Option, + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")] + pub response_errors: Option>>, + #[serde(rename = "url")] + pub url: String, + #[serde(rename = "attrs")] + pub attrs: std::collections::HashMap, + #[serde(rename = "title", skip_serializing_if = "Option::is_none")] + pub title: Option, +} + +impl AutosubmitChallenge { + /// Autosubmit challenge used to send and navigate a POST request + pub fn new(url: String, attrs: std::collections::HashMap) -> AutosubmitChallenge { + AutosubmitChallenge { + flow_info: None, + component: None, + response_errors: None, + url, + attrs, + title: None, + } + } +} diff --git a/src/models/backends_enum.rs b/src/models/backends_enum.rs new file mode 100644 index 0000000..09d05d4 --- /dev/null +++ b/src/models/backends_enum.rs @@ -0,0 +1,39 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum BackendsEnum { + #[serde(rename = "authentik.core.auth.InbuiltBackend")] + CorePeriodAuthPeriodInbuiltBackend, + #[serde(rename = "authentik.core.auth.TokenBackend")] + CorePeriodAuthPeriodTokenBackend, + #[serde(rename = "authentik.sources.ldap.auth.LDAPBackend")] + SourcesPeriodLdapPeriodAuthPeriodLdapBackend, +} + +impl std::fmt::Display for BackendsEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::CorePeriodAuthPeriodInbuiltBackend => write!(f, "authentik.core.auth.InbuiltBackend"), + Self::CorePeriodAuthPeriodTokenBackend => write!(f, "authentik.core.auth.TokenBackend"), + Self::SourcesPeriodLdapPeriodAuthPeriodLdapBackend => write!(f, "authentik.sources.ldap.auth.LDAPBackend"), + } + } +} + +impl Default for BackendsEnum { + fn default() -> BackendsEnum { + Self::CorePeriodAuthPeriodInbuiltBackend + } +} diff --git a/src/models/binding_type_enum.rs b/src/models/binding_type_enum.rs new file mode 100644 index 0000000..d3145d3 --- /dev/null +++ b/src/models/binding_type_enum.rs @@ -0,0 +1,39 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum BindingTypeEnum { + #[serde(rename = "REDIRECT")] + Redirect, + #[serde(rename = "POST")] + Post, + #[serde(rename = "POST_AUTO")] + PostAuto, +} + +impl std::fmt::Display for BindingTypeEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Redirect => write!(f, "REDIRECT"), + Self::Post => write!(f, "POST"), + Self::PostAuto => write!(f, "POST_AUTO"), + } + } +} + +impl Default for BindingTypeEnum { + fn default() -> BindingTypeEnum { + Self::Redirect + } +} diff --git a/src/models/blueprint_file.rs b/src/models/blueprint_file.rs new file mode 100644 index 0000000..c8e82b4 --- /dev/null +++ b/src/models/blueprint_file.rs @@ -0,0 +1,35 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct BlueprintFile { + #[serde(rename = "path")] + pub path: String, + #[serde(rename = "last_m")] + pub last_m: String, + #[serde(rename = "hash")] + pub hash: String, + #[serde(rename = "meta")] + pub meta: models::Metadata, +} + +impl BlueprintFile { + pub fn new(path: String, last_m: String, hash: String, meta: models::Metadata) -> BlueprintFile { + BlueprintFile { + path, + last_m, + hash, + meta, + } + } +} diff --git a/src/models/blueprint_instance.rs b/src/models/blueprint_instance.rs new file mode 100644 index 0000000..a0e0aaa --- /dev/null +++ b/src/models/blueprint_instance.rs @@ -0,0 +1,71 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// BlueprintInstance : Info about a single blueprint instance file +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct BlueprintInstance { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "path", skip_serializing_if = "Option::is_none")] + pub path: Option, + #[serde( + rename = "context", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub context: Option>, + #[serde(rename = "last_applied")] + pub last_applied: String, + #[serde(rename = "last_applied_hash")] + pub last_applied_hash: String, + #[serde(rename = "status")] + pub status: models::BlueprintInstanceStatusEnum, + #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")] + pub enabled: Option, + #[serde(rename = "managed_models")] + pub managed_models: Vec, + #[serde(rename = "metadata", deserialize_with = "Option::deserialize")] + pub metadata: Option, + #[serde(rename = "content", skip_serializing_if = "Option::is_none")] + pub content: Option, +} + +impl BlueprintInstance { + /// Info about a single blueprint instance file + pub fn new( + pk: uuid::Uuid, + name: String, + last_applied: String, + last_applied_hash: String, + status: models::BlueprintInstanceStatusEnum, + managed_models: Vec, + metadata: Option, + ) -> BlueprintInstance { + BlueprintInstance { + pk, + name, + path: None, + context: None, + last_applied, + last_applied_hash, + status, + enabled: None, + managed_models, + metadata, + content: None, + } + } +} diff --git a/src/models/blueprint_instance_request.rs b/src/models/blueprint_instance_request.rs new file mode 100644 index 0000000..81583e8 --- /dev/null +++ b/src/models/blueprint_instance_request.rs @@ -0,0 +1,45 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// BlueprintInstanceRequest : Info about a single blueprint instance file +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct BlueprintInstanceRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "path", skip_serializing_if = "Option::is_none")] + pub path: Option, + #[serde( + rename = "context", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub context: Option>, + #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")] + pub enabled: Option, + #[serde(rename = "content", skip_serializing_if = "Option::is_none")] + pub content: Option, +} + +impl BlueprintInstanceRequest { + /// Info about a single blueprint instance file + pub fn new(name: String) -> BlueprintInstanceRequest { + BlueprintInstanceRequest { + name, + path: None, + context: None, + enabled: None, + content: None, + } + } +} diff --git a/src/models/blueprint_instance_status_enum.rs b/src/models/blueprint_instance_status_enum.rs new file mode 100644 index 0000000..2f7df94 --- /dev/null +++ b/src/models/blueprint_instance_status_enum.rs @@ -0,0 +1,45 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum BlueprintInstanceStatusEnum { + #[serde(rename = "successful")] + Successful, + #[serde(rename = "warning")] + Warning, + #[serde(rename = "error")] + Error, + #[serde(rename = "orphaned")] + Orphaned, + #[serde(rename = "unknown")] + Unknown, +} + +impl std::fmt::Display for BlueprintInstanceStatusEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Successful => write!(f, "successful"), + Self::Warning => write!(f, "warning"), + Self::Error => write!(f, "error"), + Self::Orphaned => write!(f, "orphaned"), + Self::Unknown => write!(f, "unknown"), + } + } +} + +impl Default for BlueprintInstanceStatusEnum { + fn default() -> BlueprintInstanceStatusEnum { + Self::Successful + } +} diff --git a/src/models/brand.rs b/src/models/brand.rs new file mode 100644 index 0000000..62cdf6a --- /dev/null +++ b/src/models/brand.rs @@ -0,0 +1,118 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Brand : Brand Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Brand { + #[serde(rename = "brand_uuid")] + pub brand_uuid: uuid::Uuid, + /// Domain that activates this brand. Can be a superset, i.e. `a.b` for `aa.b` and `ba.b` + #[serde(rename = "domain")] + pub domain: String, + #[serde(rename = "default", skip_serializing_if = "Option::is_none")] + pub default: Option, + #[serde(rename = "branding_title", skip_serializing_if = "Option::is_none")] + pub branding_title: Option, + #[serde(rename = "branding_logo", skip_serializing_if = "Option::is_none")] + pub branding_logo: Option, + #[serde(rename = "branding_favicon", skip_serializing_if = "Option::is_none")] + pub branding_favicon: Option, + #[serde( + rename = "flow_authentication", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub flow_authentication: Option>, + #[serde( + rename = "flow_invalidation", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub flow_invalidation: Option>, + #[serde( + rename = "flow_recovery", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub flow_recovery: Option>, + #[serde( + rename = "flow_unenrollment", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub flow_unenrollment: Option>, + #[serde( + rename = "flow_user_settings", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub flow_user_settings: Option>, + #[serde( + rename = "flow_device_code", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub flow_device_code: Option>, + /// When set, external users will be redirected to this application after authenticating. + #[serde( + rename = "default_application", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub default_application: Option>, + /// Web Certificate used by the authentik Core webserver. + #[serde( + rename = "web_certificate", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub web_certificate: Option>, + #[serde( + rename = "attributes", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub attributes: Option>, +} + +impl Brand { + /// Brand Serializer + pub fn new(brand_uuid: uuid::Uuid, domain: String) -> Brand { + Brand { + brand_uuid, + domain, + default: None, + branding_title: None, + branding_logo: None, + branding_favicon: None, + flow_authentication: None, + flow_invalidation: None, + flow_recovery: None, + flow_unenrollment: None, + flow_user_settings: None, + flow_device_code: None, + default_application: None, + web_certificate: None, + attributes: None, + } + } +} diff --git a/src/models/brand_request.rs b/src/models/brand_request.rs new file mode 100644 index 0000000..1add764 --- /dev/null +++ b/src/models/brand_request.rs @@ -0,0 +1,115 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// BrandRequest : Brand Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct BrandRequest { + /// Domain that activates this brand. Can be a superset, i.e. `a.b` for `aa.b` and `ba.b` + #[serde(rename = "domain")] + pub domain: String, + #[serde(rename = "default", skip_serializing_if = "Option::is_none")] + pub default: Option, + #[serde(rename = "branding_title", skip_serializing_if = "Option::is_none")] + pub branding_title: Option, + #[serde(rename = "branding_logo", skip_serializing_if = "Option::is_none")] + pub branding_logo: Option, + #[serde(rename = "branding_favicon", skip_serializing_if = "Option::is_none")] + pub branding_favicon: Option, + #[serde( + rename = "flow_authentication", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub flow_authentication: Option>, + #[serde( + rename = "flow_invalidation", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub flow_invalidation: Option>, + #[serde( + rename = "flow_recovery", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub flow_recovery: Option>, + #[serde( + rename = "flow_unenrollment", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub flow_unenrollment: Option>, + #[serde( + rename = "flow_user_settings", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub flow_user_settings: Option>, + #[serde( + rename = "flow_device_code", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub flow_device_code: Option>, + /// When set, external users will be redirected to this application after authenticating. + #[serde( + rename = "default_application", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub default_application: Option>, + /// Web Certificate used by the authentik Core webserver. + #[serde( + rename = "web_certificate", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub web_certificate: Option>, + #[serde( + rename = "attributes", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub attributes: Option>, +} + +impl BrandRequest { + /// Brand Serializer + pub fn new(domain: String) -> BrandRequest { + BrandRequest { + domain, + default: None, + branding_title: None, + branding_logo: None, + branding_favicon: None, + flow_authentication: None, + flow_invalidation: None, + flow_recovery: None, + flow_unenrollment: None, + flow_user_settings: None, + flow_device_code: None, + default_application: None, + web_certificate: None, + attributes: None, + } + } +} diff --git a/src/models/cache.rs b/src/models/cache.rs new file mode 100644 index 0000000..888683d --- /dev/null +++ b/src/models/cache.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Cache : Generic cache stats for an object +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Cache { + #[serde(rename = "count")] + pub count: i32, +} + +impl Cache { + /// Generic cache stats for an object + pub fn new(count: i32) -> Cache { + Cache { count } + } +} diff --git a/src/models/capabilities_enum.rs b/src/models/capabilities_enum.rs new file mode 100644 index 0000000..7c97012 --- /dev/null +++ b/src/models/capabilities_enum.rs @@ -0,0 +1,48 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum CapabilitiesEnum { + #[serde(rename = "can_save_media")] + CanSaveMedia, + #[serde(rename = "can_geo_ip")] + CanGeoIp, + #[serde(rename = "can_asn")] + CanAsn, + #[serde(rename = "can_impersonate")] + CanImpersonate, + #[serde(rename = "can_debug")] + CanDebug, + #[serde(rename = "is_enterprise")] + IsEnterprise, +} + +impl std::fmt::Display for CapabilitiesEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::CanSaveMedia => write!(f, "can_save_media"), + Self::CanGeoIp => write!(f, "can_geo_ip"), + Self::CanAsn => write!(f, "can_asn"), + Self::CanImpersonate => write!(f, "can_impersonate"), + Self::CanDebug => write!(f, "can_debug"), + Self::IsEnterprise => write!(f, "is_enterprise"), + } + } +} + +impl Default for CapabilitiesEnum { + fn default() -> CapabilitiesEnum { + Self::CanSaveMedia + } +} diff --git a/src/models/captcha_challenge.rs b/src/models/captcha_challenge.rs new file mode 100644 index 0000000..566e068 --- /dev/null +++ b/src/models/captcha_challenge.rs @@ -0,0 +1,51 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// CaptchaChallenge : Site public key +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct CaptchaChallenge { + #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")] + pub flow_info: Option, + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")] + pub response_errors: Option>>, + #[serde(rename = "pending_user")] + pub pending_user: String, + #[serde(rename = "pending_user_avatar")] + pub pending_user_avatar: String, + #[serde(rename = "site_key")] + pub site_key: String, + #[serde(rename = "js_url")] + pub js_url: String, +} + +impl CaptchaChallenge { + /// Site public key + pub fn new( + pending_user: String, + pending_user_avatar: String, + site_key: String, + js_url: String, + ) -> CaptchaChallenge { + CaptchaChallenge { + flow_info: None, + component: None, + response_errors: None, + pending_user, + pending_user_avatar, + site_key, + js_url, + } + } +} diff --git a/src/models/captcha_challenge_response_request.rs b/src/models/captcha_challenge_response_request.rs new file mode 100644 index 0000000..7487a3f --- /dev/null +++ b/src/models/captcha_challenge_response_request.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// CaptchaChallengeResponseRequest : Validate captcha token +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct CaptchaChallengeResponseRequest { + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "token")] + pub token: String, +} + +impl CaptchaChallengeResponseRequest { + /// Validate captcha token + pub fn new(token: String) -> CaptchaChallengeResponseRequest { + CaptchaChallengeResponseRequest { component: None, token } + } +} diff --git a/src/models/captcha_stage.rs b/src/models/captcha_stage.rs new file mode 100644 index 0000000..a0d3b47 --- /dev/null +++ b/src/models/captcha_stage.rs @@ -0,0 +1,78 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// CaptchaStage : CaptchaStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct CaptchaStage { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Get object type so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Public key, acquired your captcha Provider. + #[serde(rename = "public_key")] + pub public_key: String, + #[serde(rename = "js_url", skip_serializing_if = "Option::is_none")] + pub js_url: Option, + #[serde(rename = "api_url", skip_serializing_if = "Option::is_none")] + pub api_url: Option, + #[serde(rename = "score_min_threshold", skip_serializing_if = "Option::is_none")] + pub score_min_threshold: Option, + #[serde(rename = "score_max_threshold", skip_serializing_if = "Option::is_none")] + pub score_max_threshold: Option, + /// When enabled and the received captcha score is outside of the given threshold, the stage will show an error message. When not enabled, the flow will continue, but the data from the captcha will be available in the context for policy decisions + #[serde(rename = "error_on_invalid_score", skip_serializing_if = "Option::is_none")] + pub error_on_invalid_score: Option, +} + +impl CaptchaStage { + /// CaptchaStage Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + public_key: String, + ) -> CaptchaStage { + CaptchaStage { + pk, + name, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + flow_set: None, + public_key, + js_url: None, + api_url: None, + score_min_threshold: None, + score_max_threshold: None, + error_on_invalid_score: None, + } + } +} diff --git a/src/models/captcha_stage_request.rs b/src/models/captcha_stage_request.rs new file mode 100644 index 0000000..2ceed8c --- /dev/null +++ b/src/models/captcha_stage_request.rs @@ -0,0 +1,55 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// CaptchaStageRequest : CaptchaStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct CaptchaStageRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Public key, acquired your captcha Provider. + #[serde(rename = "public_key")] + pub public_key: String, + /// Private key, acquired your captcha Provider. + #[serde(rename = "private_key")] + pub private_key: String, + #[serde(rename = "js_url", skip_serializing_if = "Option::is_none")] + pub js_url: Option, + #[serde(rename = "api_url", skip_serializing_if = "Option::is_none")] + pub api_url: Option, + #[serde(rename = "score_min_threshold", skip_serializing_if = "Option::is_none")] + pub score_min_threshold: Option, + #[serde(rename = "score_max_threshold", skip_serializing_if = "Option::is_none")] + pub score_max_threshold: Option, + /// When enabled and the received captcha score is outside of the given threshold, the stage will show an error message. When not enabled, the flow will continue, but the data from the captcha will be available in the context for policy decisions + #[serde(rename = "error_on_invalid_score", skip_serializing_if = "Option::is_none")] + pub error_on_invalid_score: Option, +} + +impl CaptchaStageRequest { + /// CaptchaStage Serializer + pub fn new(name: String, public_key: String, private_key: String) -> CaptchaStageRequest { + CaptchaStageRequest { + name, + flow_set: None, + public_key, + private_key, + js_url: None, + api_url: None, + score_min_threshold: None, + score_max_threshold: None, + error_on_invalid_score: None, + } + } +} diff --git a/src/models/certificate_data.rs b/src/models/certificate_data.rs new file mode 100644 index 0000000..e70cd1e --- /dev/null +++ b/src/models/certificate_data.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// CertificateData : Get CertificateKeyPair's data +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct CertificateData { + #[serde(rename = "data")] + pub data: String, +} + +impl CertificateData { + /// Get CertificateKeyPair's data + pub fn new(data: String) -> CertificateData { + CertificateData { data } + } +} diff --git a/src/models/certificate_generation_request.rs b/src/models/certificate_generation_request.rs new file mode 100644 index 0000000..48868a2 --- /dev/null +++ b/src/models/certificate_generation_request.rs @@ -0,0 +1,37 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// CertificateGenerationRequest : Certificate generation parameters +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct CertificateGenerationRequest { + #[serde(rename = "common_name")] + pub common_name: String, + #[serde(rename = "subject_alt_name", skip_serializing_if = "Option::is_none")] + pub subject_alt_name: Option, + #[serde(rename = "validity_days")] + pub validity_days: i32, + #[serde(rename = "alg", skip_serializing_if = "Option::is_none")] + pub alg: Option, +} + +impl CertificateGenerationRequest { + /// Certificate generation parameters + pub fn new(common_name: String, validity_days: i32) -> CertificateGenerationRequest { + CertificateGenerationRequest { + common_name, + subject_alt_name: None, + validity_days, + alg: None, + } + } +} diff --git a/src/models/certificate_key_pair.rs b/src/models/certificate_key_pair.rs new file mode 100644 index 0000000..6cc5fce --- /dev/null +++ b/src/models/certificate_key_pair.rs @@ -0,0 +1,79 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// CertificateKeyPair : CertificateKeyPair Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct CertificateKeyPair { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Get certificate Hash (SHA256) + #[serde(rename = "fingerprint_sha256", deserialize_with = "Option::deserialize")] + pub fingerprint_sha256: Option, + /// Get certificate Hash (SHA1) + #[serde(rename = "fingerprint_sha1", deserialize_with = "Option::deserialize")] + pub fingerprint_sha1: Option, + /// Get certificate expiry + #[serde(rename = "cert_expiry", deserialize_with = "Option::deserialize")] + pub cert_expiry: Option, + /// Get certificate subject as full rfc4514 + #[serde(rename = "cert_subject", deserialize_with = "Option::deserialize")] + pub cert_subject: Option, + /// Show if this keypair has a private key configured or not + #[serde(rename = "private_key_available")] + pub private_key_available: bool, + /// Get the private key's type, if set + #[serde(rename = "private_key_type", deserialize_with = "Option::deserialize")] + pub private_key_type: Option, + /// Get URL to download certificate + #[serde(rename = "certificate_download_url")] + pub certificate_download_url: String, + /// Get URL to download private key + #[serde(rename = "private_key_download_url")] + pub private_key_download_url: String, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde(rename = "managed", deserialize_with = "Option::deserialize")] + pub managed: Option, +} + +impl CertificateKeyPair { + /// CertificateKeyPair Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + fingerprint_sha256: Option, + fingerprint_sha1: Option, + cert_expiry: Option, + cert_subject: Option, + private_key_available: bool, + private_key_type: Option, + certificate_download_url: String, + private_key_download_url: String, + managed: Option, + ) -> CertificateKeyPair { + CertificateKeyPair { + pk, + name, + fingerprint_sha256, + fingerprint_sha1, + cert_expiry, + cert_subject, + private_key_available, + private_key_type, + certificate_download_url, + private_key_download_url, + managed, + } + } +} diff --git a/src/models/certificate_key_pair_request.rs b/src/models/certificate_key_pair_request.rs new file mode 100644 index 0000000..cf38b8a --- /dev/null +++ b/src/models/certificate_key_pair_request.rs @@ -0,0 +1,36 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// CertificateKeyPairRequest : CertificateKeyPair Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct CertificateKeyPairRequest { + #[serde(rename = "name")] + pub name: String, + /// PEM-encoded Certificate data + #[serde(rename = "certificate_data")] + pub certificate_data: String, + /// Optional Private Key. If this is set, you can use this keypair for encryption. + #[serde(rename = "key_data", skip_serializing_if = "Option::is_none")] + pub key_data: Option, +} + +impl CertificateKeyPairRequest { + /// CertificateKeyPair Serializer + pub fn new(name: String, certificate_data: String) -> CertificateKeyPairRequest { + CertificateKeyPairRequest { + name, + certificate_data, + key_data: None, + } + } +} diff --git a/src/models/challenge_types.rs b/src/models/challenge_types.rs new file mode 100644 index 0000000..2e9704a --- /dev/null +++ b/src/models/challenge_types.rs @@ -0,0 +1,69 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(tag = "component")] +pub enum ChallengeTypes { + #[serde(rename = "ak-stage-access-denied")] + AkStageAccessDenied(models::AccessDeniedChallenge), + #[serde(rename = "ak-source-oauth-apple")] + AkSourceOauthApple(models::AppleLoginChallenge), + #[serde(rename = "ak-stage-authenticator-duo")] + AkStageAuthenticatorDuo(models::AuthenticatorDuoChallenge), + #[serde(rename = "ak-stage-authenticator-sms")] + AkStageAuthenticatorSms(models::AuthenticatorSmsChallenge), + #[serde(rename = "ak-stage-authenticator-static")] + AkStageAuthenticatorStatic(models::AuthenticatorStaticChallenge), + #[serde(rename = "ak-stage-authenticator-totp")] + AkStageAuthenticatorTotp(models::AuthenticatorTotpChallenge), + #[serde(rename = "ak-stage-authenticator-validate")] + AkStageAuthenticatorValidate(models::AuthenticatorValidationChallenge), + #[serde(rename = "ak-stage-authenticator-webauthn")] + AkStageAuthenticatorWebauthn(models::AuthenticatorWebAuthnChallenge), + #[serde(rename = "ak-stage-autosubmit")] + AkStageAutosubmit(models::AutosubmitChallenge), + #[serde(rename = "ak-stage-captcha")] + AkStageCaptcha(models::CaptchaChallenge), + #[serde(rename = "ak-stage-consent")] + AkStageConsent(models::ConsentChallenge), + #[serde(rename = "ak-stage-dummy")] + AkStageDummy(models::DummyChallenge), + #[serde(rename = "ak-stage-email")] + AkStageEmail(models::EmailChallenge), + #[serde(rename = "ak-stage-flow-error")] + AkStageFlowError(models::FlowErrorChallenge), + #[serde(rename = "ak-stage-identification")] + AkStageIdentification(models::IdentificationChallenge), + #[serde(rename = "ak-provider-oauth2-device-code")] + AkProviderOauth2DeviceCode(models::OAuthDeviceCodeChallenge), + #[serde(rename = "ak-provider-oauth2-device-code-finish")] + AkProviderOauth2DeviceCodeFinish(models::OAuthDeviceCodeFinishChallenge), + #[serde(rename = "ak-stage-password")] + AkStagePassword(models::PasswordChallenge), + #[serde(rename = "ak-source-plex")] + AkSourcePlex(models::PlexAuthenticationChallenge), + #[serde(rename = "ak-stage-prompt")] + AkStagePrompt(models::PromptChallenge), + #[serde(rename = "xak-flow-redirect")] + XakFlowRedirect(models::RedirectChallenge), + #[serde(rename = "xak-flow-shell")] + XakFlowShell(models::ShellChallenge), + #[serde(rename = "ak-stage-user-login")] + AkStageUserLogin(models::UserLoginChallenge), +} + +impl Default for ChallengeTypes { + fn default() -> Self { + Self::AkStageAccessDenied(Default::default()) + } +} diff --git a/src/models/client_type_enum.rs b/src/models/client_type_enum.rs new file mode 100644 index 0000000..bc36cb4 --- /dev/null +++ b/src/models/client_type_enum.rs @@ -0,0 +1,36 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum ClientTypeEnum { + #[serde(rename = "confidential")] + Confidential, + #[serde(rename = "public")] + Public, +} + +impl std::fmt::Display for ClientTypeEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Confidential => write!(f, "confidential"), + Self::Public => write!(f, "public"), + } + } +} + +impl Default for ClientTypeEnum { + fn default() -> ClientTypeEnum { + Self::Confidential + } +} diff --git a/src/models/config.rs b/src/models/config.rs new file mode 100644 index 0000000..c996279 --- /dev/null +++ b/src/models/config.rs @@ -0,0 +1,50 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Config : Serialize authentik Config into DRF Object +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Config { + #[serde(rename = "error_reporting")] + pub error_reporting: models::ErrorReportingConfig, + #[serde(rename = "capabilities")] + pub capabilities: Vec, + #[serde(rename = "cache_timeout")] + pub cache_timeout: i32, + #[serde(rename = "cache_timeout_flows")] + pub cache_timeout_flows: i32, + #[serde(rename = "cache_timeout_policies")] + pub cache_timeout_policies: i32, + #[serde(rename = "cache_timeout_reputation")] + pub cache_timeout_reputation: i32, +} + +impl Config { + /// Serialize authentik Config into DRF Object + pub fn new( + error_reporting: models::ErrorReportingConfig, + capabilities: Vec, + cache_timeout: i32, + cache_timeout_flows: i32, + cache_timeout_policies: i32, + cache_timeout_reputation: i32, + ) -> Config { + Config { + error_reporting, + capabilities, + cache_timeout, + cache_timeout_flows, + cache_timeout_policies, + cache_timeout_reputation, + } + } +} diff --git a/src/models/connection_token.rs b/src/models/connection_token.rs new file mode 100644 index 0000000..1318c97 --- /dev/null +++ b/src/models/connection_token.rs @@ -0,0 +1,49 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ConnectionToken : ConnectionToken Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ConnectionToken { + #[serde(rename = "pk", skip_serializing_if = "Option::is_none")] + pub pk: Option, + #[serde(rename = "provider")] + pub provider: i32, + #[serde(rename = "provider_obj")] + pub provider_obj: models::RacProvider, + #[serde(rename = "endpoint")] + pub endpoint: uuid::Uuid, + #[serde(rename = "endpoint_obj")] + pub endpoint_obj: models::Endpoint, + #[serde(rename = "user")] + pub user: models::GroupMember, +} + +impl ConnectionToken { + /// ConnectionToken Serializer + pub fn new( + provider: i32, + provider_obj: models::RacProvider, + endpoint: uuid::Uuid, + endpoint_obj: models::Endpoint, + user: models::GroupMember, + ) -> ConnectionToken { + ConnectionToken { + pk: None, + provider, + provider_obj, + endpoint, + endpoint_obj, + user, + } + } +} diff --git a/src/models/connection_token_request.rs b/src/models/connection_token_request.rs new file mode 100644 index 0000000..23210ba --- /dev/null +++ b/src/models/connection_token_request.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ConnectionTokenRequest : ConnectionToken Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ConnectionTokenRequest { + #[serde(rename = "pk", skip_serializing_if = "Option::is_none")] + pub pk: Option, + #[serde(rename = "provider")] + pub provider: i32, + #[serde(rename = "endpoint")] + pub endpoint: uuid::Uuid, +} + +impl ConnectionTokenRequest { + /// ConnectionToken Serializer + pub fn new(provider: i32, endpoint: uuid::Uuid) -> ConnectionTokenRequest { + ConnectionTokenRequest { + pk: None, + provider, + endpoint, + } + } +} diff --git a/src/models/consent_challenge.rs b/src/models/consent_challenge.rs new file mode 100644 index 0000000..06d5dcf --- /dev/null +++ b/src/models/consent_challenge.rs @@ -0,0 +1,58 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ConsentChallenge : Challenge info for consent screens +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ConsentChallenge { + #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")] + pub flow_info: Option, + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")] + pub response_errors: Option>>, + #[serde(rename = "pending_user")] + pub pending_user: String, + #[serde(rename = "pending_user_avatar")] + pub pending_user_avatar: String, + #[serde(rename = "header_text", skip_serializing_if = "Option::is_none")] + pub header_text: Option, + #[serde(rename = "permissions")] + pub permissions: Vec, + #[serde(rename = "additional_permissions")] + pub additional_permissions: Vec, + #[serde(rename = "token")] + pub token: String, +} + +impl ConsentChallenge { + /// Challenge info for consent screens + pub fn new( + pending_user: String, + pending_user_avatar: String, + permissions: Vec, + additional_permissions: Vec, + token: String, + ) -> ConsentChallenge { + ConsentChallenge { + flow_info: None, + component: None, + response_errors: None, + pending_user, + pending_user_avatar, + header_text: None, + permissions, + additional_permissions, + token, + } + } +} diff --git a/src/models/consent_challenge_response_request.rs b/src/models/consent_challenge_response_request.rs new file mode 100644 index 0000000..cdbc394 --- /dev/null +++ b/src/models/consent_challenge_response_request.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ConsentChallengeResponseRequest : Consent challenge response, any valid response request is valid +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ConsentChallengeResponseRequest { + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "token")] + pub token: String, +} + +impl ConsentChallengeResponseRequest { + /// Consent challenge response, any valid response request is valid + pub fn new(token: String) -> ConsentChallengeResponseRequest { + ConsentChallengeResponseRequest { component: None, token } + } +} diff --git a/src/models/consent_permission.rs b/src/models/consent_permission.rs new file mode 100644 index 0000000..d563070 --- /dev/null +++ b/src/models/consent_permission.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ConsentPermission : Permission used for consent +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ConsentPermission { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "id")] + pub id: String, +} + +impl ConsentPermission { + /// Permission used for consent + pub fn new(name: String, id: String) -> ConsentPermission { + ConsentPermission { name, id } + } +} diff --git a/src/models/consent_stage.rs b/src/models/consent_stage.rs new file mode 100644 index 0000000..5a3b6f0 --- /dev/null +++ b/src/models/consent_stage.rs @@ -0,0 +1,64 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ConsentStage : ConsentStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ConsentStage { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Get object type so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// Offset after which consent expires. (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "consent_expire_in", skip_serializing_if = "Option::is_none")] + pub consent_expire_in: Option, +} + +impl ConsentStage { + /// ConsentStage Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> ConsentStage { + ConsentStage { + pk, + name, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + flow_set: None, + mode: None, + consent_expire_in: None, + } + } +} diff --git a/src/models/consent_stage_mode_enum.rs b/src/models/consent_stage_mode_enum.rs new file mode 100644 index 0000000..4389f3d --- /dev/null +++ b/src/models/consent_stage_mode_enum.rs @@ -0,0 +1,39 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum ConsentStageModeEnum { + #[serde(rename = "always_require")] + AlwaysRequire, + #[serde(rename = "permanent")] + Permanent, + #[serde(rename = "expiring")] + Expiring, +} + +impl std::fmt::Display for ConsentStageModeEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::AlwaysRequire => write!(f, "always_require"), + Self::Permanent => write!(f, "permanent"), + Self::Expiring => write!(f, "expiring"), + } + } +} + +impl Default for ConsentStageModeEnum { + fn default() -> ConsentStageModeEnum { + Self::AlwaysRequire + } +} diff --git a/src/models/consent_stage_request.rs b/src/models/consent_stage_request.rs new file mode 100644 index 0000000..7669a43 --- /dev/null +++ b/src/models/consent_stage_request.rs @@ -0,0 +1,38 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ConsentStageRequest : ConsentStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ConsentStageRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// Offset after which consent expires. (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "consent_expire_in", skip_serializing_if = "Option::is_none")] + pub consent_expire_in: Option, +} + +impl ConsentStageRequest { + /// ConsentStage Serializer + pub fn new(name: String) -> ConsentStageRequest { + ConsentStageRequest { + name, + flow_set: None, + mode: None, + consent_expire_in: None, + } + } +} diff --git a/src/models/contextual_flow_info.rs b/src/models/contextual_flow_info.rs new file mode 100644 index 0000000..a3f9df5 --- /dev/null +++ b/src/models/contextual_flow_info.rs @@ -0,0 +1,37 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ContextualFlowInfo : Contextual flow information for a challenge +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ContextualFlowInfo { + #[serde(rename = "title", skip_serializing_if = "Option::is_none")] + pub title: Option, + #[serde(rename = "background", skip_serializing_if = "Option::is_none")] + pub background: Option, + #[serde(rename = "cancel_url")] + pub cancel_url: String, + #[serde(rename = "layout")] + pub layout: models::ContextualFlowInfoLayoutEnum, +} + +impl ContextualFlowInfo { + /// Contextual flow information for a challenge + pub fn new(cancel_url: String, layout: models::ContextualFlowInfoLayoutEnum) -> ContextualFlowInfo { + ContextualFlowInfo { + title: None, + background: None, + cancel_url, + layout, + } + } +} diff --git a/src/models/contextual_flow_info_layout_enum.rs b/src/models/contextual_flow_info_layout_enum.rs new file mode 100644 index 0000000..927e240 --- /dev/null +++ b/src/models/contextual_flow_info_layout_enum.rs @@ -0,0 +1,45 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum ContextualFlowInfoLayoutEnum { + #[serde(rename = "stacked")] + Stacked, + #[serde(rename = "content_left")] + ContentLeft, + #[serde(rename = "content_right")] + ContentRight, + #[serde(rename = "sidebar_left")] + SidebarLeft, + #[serde(rename = "sidebar_right")] + SidebarRight, +} + +impl std::fmt::Display for ContextualFlowInfoLayoutEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Stacked => write!(f, "stacked"), + Self::ContentLeft => write!(f, "content_left"), + Self::ContentRight => write!(f, "content_right"), + Self::SidebarLeft => write!(f, "sidebar_left"), + Self::SidebarRight => write!(f, "sidebar_right"), + } + } +} + +impl Default for ContextualFlowInfoLayoutEnum { + fn default() -> ContextualFlowInfoLayoutEnum { + Self::Stacked + } +} diff --git a/src/models/coordinate.rs b/src/models/coordinate.rs new file mode 100644 index 0000000..068738f --- /dev/null +++ b/src/models/coordinate.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Coordinate : Coordinates for diagrams +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Coordinate { + #[serde(rename = "x_cord")] + pub x_cord: i32, + #[serde(rename = "y_cord")] + pub y_cord: i32, +} + +impl Coordinate { + /// Coordinates for diagrams + pub fn new(x_cord: i32, y_cord: i32) -> Coordinate { + Coordinate { x_cord, y_cord } + } +} diff --git a/src/models/country_code_enum.rs b/src/models/country_code_enum.rs new file mode 100644 index 0000000..8366141 --- /dev/null +++ b/src/models/country_code_enum.rs @@ -0,0 +1,777 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum CountryCodeEnum { + #[serde(rename = "AF")] + Af, + #[serde(rename = "AX")] + Ax, + #[serde(rename = "AL")] + Al, + #[serde(rename = "DZ")] + Dz, + #[serde(rename = "AS")] + As, + #[serde(rename = "AD")] + Ad, + #[serde(rename = "AO")] + Ao, + #[serde(rename = "AI")] + Ai, + #[serde(rename = "AQ")] + Aq, + #[serde(rename = "AG")] + Ag, + #[serde(rename = "AR")] + Ar, + #[serde(rename = "AM")] + Am, + #[serde(rename = "AW")] + Aw, + #[serde(rename = "AU")] + Au, + #[serde(rename = "AT")] + At, + #[serde(rename = "AZ")] + Az, + #[serde(rename = "BS")] + Bs, + #[serde(rename = "BH")] + Bh, + #[serde(rename = "BD")] + Bd, + #[serde(rename = "BB")] + Bb, + #[serde(rename = "BY")] + By, + #[serde(rename = "BE")] + Be, + #[serde(rename = "BZ")] + Bz, + #[serde(rename = "BJ")] + Bj, + #[serde(rename = "BM")] + Bm, + #[serde(rename = "BT")] + Bt, + #[serde(rename = "BO")] + Bo, + #[serde(rename = "BQ")] + Bq, + #[serde(rename = "BA")] + Ba, + #[serde(rename = "BW")] + Bw, + #[serde(rename = "BV")] + Bv, + #[serde(rename = "BR")] + Br, + #[serde(rename = "IO")] + Io, + #[serde(rename = "BN")] + Bn, + #[serde(rename = "BG")] + Bg, + #[serde(rename = "BF")] + Bf, + #[serde(rename = "BI")] + Bi, + #[serde(rename = "CV")] + Cv, + #[serde(rename = "KH")] + Kh, + #[serde(rename = "CM")] + Cm, + #[serde(rename = "CA")] + Ca, + #[serde(rename = "KY")] + Ky, + #[serde(rename = "CF")] + Cf, + #[serde(rename = "TD")] + Td, + #[serde(rename = "CL")] + Cl, + #[serde(rename = "CN")] + Cn, + #[serde(rename = "CX")] + Cx, + #[serde(rename = "CC")] + Cc, + #[serde(rename = "CO")] + Co, + #[serde(rename = "KM")] + Km, + #[serde(rename = "CG")] + Cg, + #[serde(rename = "CD")] + Cd, + #[serde(rename = "CK")] + Ck, + #[serde(rename = "CR")] + Cr, + #[serde(rename = "CI")] + Ci, + #[serde(rename = "HR")] + Hr, + #[serde(rename = "CU")] + Cu, + #[serde(rename = "CW")] + Cw, + #[serde(rename = "CY")] + Cy, + #[serde(rename = "CZ")] + Cz, + #[serde(rename = "DK")] + Dk, + #[serde(rename = "DJ")] + Dj, + #[serde(rename = "DM")] + Dm, + #[serde(rename = "DO")] + Do, + #[serde(rename = "EC")] + Ec, + #[serde(rename = "EG")] + Eg, + #[serde(rename = "SV")] + Sv, + #[serde(rename = "GQ")] + Gq, + #[serde(rename = "ER")] + Er, + #[serde(rename = "EE")] + Ee, + #[serde(rename = "SZ")] + Sz, + #[serde(rename = "ET")] + Et, + #[serde(rename = "FK")] + Fk, + #[serde(rename = "FO")] + Fo, + #[serde(rename = "FJ")] + Fj, + #[serde(rename = "FI")] + Fi, + #[serde(rename = "FR")] + Fr, + #[serde(rename = "GF")] + Gf, + #[serde(rename = "PF")] + Pf, + #[serde(rename = "TF")] + Tf, + #[serde(rename = "GA")] + Ga, + #[serde(rename = "GM")] + Gm, + #[serde(rename = "GE")] + Ge, + #[serde(rename = "DE")] + De, + #[serde(rename = "GH")] + Gh, + #[serde(rename = "GI")] + Gi, + #[serde(rename = "GR")] + Gr, + #[serde(rename = "GL")] + Gl, + #[serde(rename = "GD")] + Gd, + #[serde(rename = "GP")] + Gp, + #[serde(rename = "GU")] + Gu, + #[serde(rename = "GT")] + Gt, + #[serde(rename = "GG")] + Gg, + #[serde(rename = "GN")] + Gn, + #[serde(rename = "GW")] + Gw, + #[serde(rename = "GY")] + Gy, + #[serde(rename = "HT")] + Ht, + #[serde(rename = "HM")] + Hm, + #[serde(rename = "VA")] + Va, + #[serde(rename = "HN")] + Hn, + #[serde(rename = "HK")] + Hk, + #[serde(rename = "HU")] + Hu, + #[serde(rename = "IS")] + Is, + #[serde(rename = "IN")] + In, + #[serde(rename = "ID")] + Id, + #[serde(rename = "IR")] + Ir, + #[serde(rename = "IQ")] + Iq, + #[serde(rename = "IE")] + Ie, + #[serde(rename = "IM")] + Im, + #[serde(rename = "IL")] + Il, + #[serde(rename = "IT")] + It, + #[serde(rename = "JM")] + Jm, + #[serde(rename = "JP")] + Jp, + #[serde(rename = "JE")] + Je, + #[serde(rename = "JO")] + Jo, + #[serde(rename = "KZ")] + Kz, + #[serde(rename = "KE")] + Ke, + #[serde(rename = "KI")] + Ki, + #[serde(rename = "KW")] + Kw, + #[serde(rename = "KG")] + Kg, + #[serde(rename = "LA")] + La, + #[serde(rename = "LV")] + Lv, + #[serde(rename = "LB")] + Lb, + #[serde(rename = "LS")] + Ls, + #[serde(rename = "LR")] + Lr, + #[serde(rename = "LY")] + Ly, + #[serde(rename = "LI")] + Li, + #[serde(rename = "LT")] + Lt, + #[serde(rename = "LU")] + Lu, + #[serde(rename = "MO")] + Mo, + #[serde(rename = "MG")] + Mg, + #[serde(rename = "MW")] + Mw, + #[serde(rename = "MY")] + My, + #[serde(rename = "MV")] + Mv, + #[serde(rename = "ML")] + Ml, + #[serde(rename = "MT")] + Mt, + #[serde(rename = "MH")] + Mh, + #[serde(rename = "MQ")] + Mq, + #[serde(rename = "MR")] + Mr, + #[serde(rename = "MU")] + Mu, + #[serde(rename = "YT")] + Yt, + #[serde(rename = "MX")] + Mx, + #[serde(rename = "FM")] + Fm, + #[serde(rename = "MD")] + Md, + #[serde(rename = "MC")] + Mc, + #[serde(rename = "MN")] + Mn, + #[serde(rename = "ME")] + Me, + #[serde(rename = "MS")] + Ms, + #[serde(rename = "MA")] + Ma, + #[serde(rename = "MZ")] + Mz, + #[serde(rename = "MM")] + Mm, + #[serde(rename = "NA")] + Na, + #[serde(rename = "NR")] + Nr, + #[serde(rename = "NP")] + Np, + #[serde(rename = "NL")] + Nl, + #[serde(rename = "NC")] + Nc, + #[serde(rename = "NZ")] + Nz, + #[serde(rename = "NI")] + Ni, + #[serde(rename = "NE")] + Ne, + #[serde(rename = "NG")] + Ng, + #[serde(rename = "NU")] + Nu, + #[serde(rename = "NF")] + Nf, + #[serde(rename = "KP")] + Kp, + #[serde(rename = "MK")] + Mk, + #[serde(rename = "MP")] + Mp, + #[serde(rename = "NO")] + No, + #[serde(rename = "OM")] + Om, + #[serde(rename = "PK")] + Pk, + #[serde(rename = "PW")] + Pw, + #[serde(rename = "PS")] + Ps, + #[serde(rename = "PA")] + Pa, + #[serde(rename = "PG")] + Pg, + #[serde(rename = "PY")] + Py, + #[serde(rename = "PE")] + Pe, + #[serde(rename = "PH")] + Ph, + #[serde(rename = "PN")] + Pn, + #[serde(rename = "PL")] + Pl, + #[serde(rename = "PT")] + Pt, + #[serde(rename = "PR")] + Pr, + #[serde(rename = "QA")] + Qa, + #[serde(rename = "RE")] + Re, + #[serde(rename = "RO")] + Ro, + #[serde(rename = "RU")] + Ru, + #[serde(rename = "RW")] + Rw, + #[serde(rename = "BL")] + Bl, + #[serde(rename = "SH")] + Sh, + #[serde(rename = "KN")] + Kn, + #[serde(rename = "LC")] + Lc, + #[serde(rename = "MF")] + Mf, + #[serde(rename = "PM")] + Pm, + #[serde(rename = "VC")] + Vc, + #[serde(rename = "WS")] + Ws, + #[serde(rename = "SM")] + Sm, + #[serde(rename = "ST")] + St, + #[serde(rename = "SA")] + Sa, + #[serde(rename = "SN")] + Sn, + #[serde(rename = "RS")] + Rs, + #[serde(rename = "SC")] + Sc, + #[serde(rename = "SL")] + Sl, + #[serde(rename = "SG")] + Sg, + #[serde(rename = "SX")] + Sx, + #[serde(rename = "SK")] + Sk, + #[serde(rename = "SI")] + Si, + #[serde(rename = "SB")] + Sb, + #[serde(rename = "SO")] + So, + #[serde(rename = "ZA")] + Za, + #[serde(rename = "GS")] + Gs, + #[serde(rename = "KR")] + Kr, + #[serde(rename = "SS")] + Ss, + #[serde(rename = "ES")] + Es, + #[serde(rename = "LK")] + Lk, + #[serde(rename = "SD")] + Sd, + #[serde(rename = "SR")] + Sr, + #[serde(rename = "SJ")] + Sj, + #[serde(rename = "SE")] + Se, + #[serde(rename = "CH")] + Ch, + #[serde(rename = "SY")] + Sy, + #[serde(rename = "TW")] + Tw, + #[serde(rename = "TJ")] + Tj, + #[serde(rename = "TZ")] + Tz, + #[serde(rename = "TH")] + Th, + #[serde(rename = "TL")] + Tl, + #[serde(rename = "TG")] + Tg, + #[serde(rename = "TK")] + Tk, + #[serde(rename = "TO")] + To, + #[serde(rename = "TT")] + Tt, + #[serde(rename = "TN")] + Tn, + #[serde(rename = "TR")] + Tr, + #[serde(rename = "TM")] + Tm, + #[serde(rename = "TC")] + Tc, + #[serde(rename = "TV")] + Tv, + #[serde(rename = "UG")] + Ug, + #[serde(rename = "UA")] + Ua, + #[serde(rename = "AE")] + Ae, + #[serde(rename = "GB")] + Gb, + #[serde(rename = "UM")] + Um, + #[serde(rename = "US")] + Us, + #[serde(rename = "UY")] + Uy, + #[serde(rename = "UZ")] + Uz, + #[serde(rename = "VU")] + Vu, + #[serde(rename = "VE")] + Ve, + #[serde(rename = "VN")] + Vn, + #[serde(rename = "VG")] + Vg, + #[serde(rename = "VI")] + Vi, + #[serde(rename = "WF")] + Wf, + #[serde(rename = "EH")] + Eh, + #[serde(rename = "YE")] + Ye, + #[serde(rename = "ZM")] + Zm, + #[serde(rename = "ZW")] + Zw, +} + +impl std::fmt::Display for CountryCodeEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Af => write!(f, "AF"), + Self::Ax => write!(f, "AX"), + Self::Al => write!(f, "AL"), + Self::Dz => write!(f, "DZ"), + Self::As => write!(f, "AS"), + Self::Ad => write!(f, "AD"), + Self::Ao => write!(f, "AO"), + Self::Ai => write!(f, "AI"), + Self::Aq => write!(f, "AQ"), + Self::Ag => write!(f, "AG"), + Self::Ar => write!(f, "AR"), + Self::Am => write!(f, "AM"), + Self::Aw => write!(f, "AW"), + Self::Au => write!(f, "AU"), + Self::At => write!(f, "AT"), + Self::Az => write!(f, "AZ"), + Self::Bs => write!(f, "BS"), + Self::Bh => write!(f, "BH"), + Self::Bd => write!(f, "BD"), + Self::Bb => write!(f, "BB"), + Self::By => write!(f, "BY"), + Self::Be => write!(f, "BE"), + Self::Bz => write!(f, "BZ"), + Self::Bj => write!(f, "BJ"), + Self::Bm => write!(f, "BM"), + Self::Bt => write!(f, "BT"), + Self::Bo => write!(f, "BO"), + Self::Bq => write!(f, "BQ"), + Self::Ba => write!(f, "BA"), + Self::Bw => write!(f, "BW"), + Self::Bv => write!(f, "BV"), + Self::Br => write!(f, "BR"), + Self::Io => write!(f, "IO"), + Self::Bn => write!(f, "BN"), + Self::Bg => write!(f, "BG"), + Self::Bf => write!(f, "BF"), + Self::Bi => write!(f, "BI"), + Self::Cv => write!(f, "CV"), + Self::Kh => write!(f, "KH"), + Self::Cm => write!(f, "CM"), + Self::Ca => write!(f, "CA"), + Self::Ky => write!(f, "KY"), + Self::Cf => write!(f, "CF"), + Self::Td => write!(f, "TD"), + Self::Cl => write!(f, "CL"), + Self::Cn => write!(f, "CN"), + Self::Cx => write!(f, "CX"), + Self::Cc => write!(f, "CC"), + Self::Co => write!(f, "CO"), + Self::Km => write!(f, "KM"), + Self::Cg => write!(f, "CG"), + Self::Cd => write!(f, "CD"), + Self::Ck => write!(f, "CK"), + Self::Cr => write!(f, "CR"), + Self::Ci => write!(f, "CI"), + Self::Hr => write!(f, "HR"), + Self::Cu => write!(f, "CU"), + Self::Cw => write!(f, "CW"), + Self::Cy => write!(f, "CY"), + Self::Cz => write!(f, "CZ"), + Self::Dk => write!(f, "DK"), + Self::Dj => write!(f, "DJ"), + Self::Dm => write!(f, "DM"), + Self::Do => write!(f, "DO"), + Self::Ec => write!(f, "EC"), + Self::Eg => write!(f, "EG"), + Self::Sv => write!(f, "SV"), + Self::Gq => write!(f, "GQ"), + Self::Er => write!(f, "ER"), + Self::Ee => write!(f, "EE"), + Self::Sz => write!(f, "SZ"), + Self::Et => write!(f, "ET"), + Self::Fk => write!(f, "FK"), + Self::Fo => write!(f, "FO"), + Self::Fj => write!(f, "FJ"), + Self::Fi => write!(f, "FI"), + Self::Fr => write!(f, "FR"), + Self::Gf => write!(f, "GF"), + Self::Pf => write!(f, "PF"), + Self::Tf => write!(f, "TF"), + Self::Ga => write!(f, "GA"), + Self::Gm => write!(f, "GM"), + Self::Ge => write!(f, "GE"), + Self::De => write!(f, "DE"), + Self::Gh => write!(f, "GH"), + Self::Gi => write!(f, "GI"), + Self::Gr => write!(f, "GR"), + Self::Gl => write!(f, "GL"), + Self::Gd => write!(f, "GD"), + Self::Gp => write!(f, "GP"), + Self::Gu => write!(f, "GU"), + Self::Gt => write!(f, "GT"), + Self::Gg => write!(f, "GG"), + Self::Gn => write!(f, "GN"), + Self::Gw => write!(f, "GW"), + Self::Gy => write!(f, "GY"), + Self::Ht => write!(f, "HT"), + Self::Hm => write!(f, "HM"), + Self::Va => write!(f, "VA"), + Self::Hn => write!(f, "HN"), + Self::Hk => write!(f, "HK"), + Self::Hu => write!(f, "HU"), + Self::Is => write!(f, "IS"), + Self::In => write!(f, "IN"), + Self::Id => write!(f, "ID"), + Self::Ir => write!(f, "IR"), + Self::Iq => write!(f, "IQ"), + Self::Ie => write!(f, "IE"), + Self::Im => write!(f, "IM"), + Self::Il => write!(f, "IL"), + Self::It => write!(f, "IT"), + Self::Jm => write!(f, "JM"), + Self::Jp => write!(f, "JP"), + Self::Je => write!(f, "JE"), + Self::Jo => write!(f, "JO"), + Self::Kz => write!(f, "KZ"), + Self::Ke => write!(f, "KE"), + Self::Ki => write!(f, "KI"), + Self::Kw => write!(f, "KW"), + Self::Kg => write!(f, "KG"), + Self::La => write!(f, "LA"), + Self::Lv => write!(f, "LV"), + Self::Lb => write!(f, "LB"), + Self::Ls => write!(f, "LS"), + Self::Lr => write!(f, "LR"), + Self::Ly => write!(f, "LY"), + Self::Li => write!(f, "LI"), + Self::Lt => write!(f, "LT"), + Self::Lu => write!(f, "LU"), + Self::Mo => write!(f, "MO"), + Self::Mg => write!(f, "MG"), + Self::Mw => write!(f, "MW"), + Self::My => write!(f, "MY"), + Self::Mv => write!(f, "MV"), + Self::Ml => write!(f, "ML"), + Self::Mt => write!(f, "MT"), + Self::Mh => write!(f, "MH"), + Self::Mq => write!(f, "MQ"), + Self::Mr => write!(f, "MR"), + Self::Mu => write!(f, "MU"), + Self::Yt => write!(f, "YT"), + Self::Mx => write!(f, "MX"), + Self::Fm => write!(f, "FM"), + Self::Md => write!(f, "MD"), + Self::Mc => write!(f, "MC"), + Self::Mn => write!(f, "MN"), + Self::Me => write!(f, "ME"), + Self::Ms => write!(f, "MS"), + Self::Ma => write!(f, "MA"), + Self::Mz => write!(f, "MZ"), + Self::Mm => write!(f, "MM"), + Self::Na => write!(f, "NA"), + Self::Nr => write!(f, "NR"), + Self::Np => write!(f, "NP"), + Self::Nl => write!(f, "NL"), + Self::Nc => write!(f, "NC"), + Self::Nz => write!(f, "NZ"), + Self::Ni => write!(f, "NI"), + Self::Ne => write!(f, "NE"), + Self::Ng => write!(f, "NG"), + Self::Nu => write!(f, "NU"), + Self::Nf => write!(f, "NF"), + Self::Kp => write!(f, "KP"), + Self::Mk => write!(f, "MK"), + Self::Mp => write!(f, "MP"), + Self::No => write!(f, "NO"), + Self::Om => write!(f, "OM"), + Self::Pk => write!(f, "PK"), + Self::Pw => write!(f, "PW"), + Self::Ps => write!(f, "PS"), + Self::Pa => write!(f, "PA"), + Self::Pg => write!(f, "PG"), + Self::Py => write!(f, "PY"), + Self::Pe => write!(f, "PE"), + Self::Ph => write!(f, "PH"), + Self::Pn => write!(f, "PN"), + Self::Pl => write!(f, "PL"), + Self::Pt => write!(f, "PT"), + Self::Pr => write!(f, "PR"), + Self::Qa => write!(f, "QA"), + Self::Re => write!(f, "RE"), + Self::Ro => write!(f, "RO"), + Self::Ru => write!(f, "RU"), + Self::Rw => write!(f, "RW"), + Self::Bl => write!(f, "BL"), + Self::Sh => write!(f, "SH"), + Self::Kn => write!(f, "KN"), + Self::Lc => write!(f, "LC"), + Self::Mf => write!(f, "MF"), + Self::Pm => write!(f, "PM"), + Self::Vc => write!(f, "VC"), + Self::Ws => write!(f, "WS"), + Self::Sm => write!(f, "SM"), + Self::St => write!(f, "ST"), + Self::Sa => write!(f, "SA"), + Self::Sn => write!(f, "SN"), + Self::Rs => write!(f, "RS"), + Self::Sc => write!(f, "SC"), + Self::Sl => write!(f, "SL"), + Self::Sg => write!(f, "SG"), + Self::Sx => write!(f, "SX"), + Self::Sk => write!(f, "SK"), + Self::Si => write!(f, "SI"), + Self::Sb => write!(f, "SB"), + Self::So => write!(f, "SO"), + Self::Za => write!(f, "ZA"), + Self::Gs => write!(f, "GS"), + Self::Kr => write!(f, "KR"), + Self::Ss => write!(f, "SS"), + Self::Es => write!(f, "ES"), + Self::Lk => write!(f, "LK"), + Self::Sd => write!(f, "SD"), + Self::Sr => write!(f, "SR"), + Self::Sj => write!(f, "SJ"), + Self::Se => write!(f, "SE"), + Self::Ch => write!(f, "CH"), + Self::Sy => write!(f, "SY"), + Self::Tw => write!(f, "TW"), + Self::Tj => write!(f, "TJ"), + Self::Tz => write!(f, "TZ"), + Self::Th => write!(f, "TH"), + Self::Tl => write!(f, "TL"), + Self::Tg => write!(f, "TG"), + Self::Tk => write!(f, "TK"), + Self::To => write!(f, "TO"), + Self::Tt => write!(f, "TT"), + Self::Tn => write!(f, "TN"), + Self::Tr => write!(f, "TR"), + Self::Tm => write!(f, "TM"), + Self::Tc => write!(f, "TC"), + Self::Tv => write!(f, "TV"), + Self::Ug => write!(f, "UG"), + Self::Ua => write!(f, "UA"), + Self::Ae => write!(f, "AE"), + Self::Gb => write!(f, "GB"), + Self::Um => write!(f, "UM"), + Self::Us => write!(f, "US"), + Self::Uy => write!(f, "UY"), + Self::Uz => write!(f, "UZ"), + Self::Vu => write!(f, "VU"), + Self::Ve => write!(f, "VE"), + Self::Vn => write!(f, "VN"), + Self::Vg => write!(f, "VG"), + Self::Vi => write!(f, "VI"), + Self::Wf => write!(f, "WF"), + Self::Eh => write!(f, "EH"), + Self::Ye => write!(f, "YE"), + Self::Zm => write!(f, "ZM"), + Self::Zw => write!(f, "ZW"), + } + } +} + +impl Default for CountryCodeEnum { + fn default() -> CountryCodeEnum { + Self::Af + } +} diff --git a/src/models/current_brand.rs b/src/models/current_brand.rs new file mode 100644 index 0000000..a56f50e --- /dev/null +++ b/src/models/current_brand.rs @@ -0,0 +1,72 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// CurrentBrand : Partial brand information for styling +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct CurrentBrand { + #[serde(rename = "matched_domain")] + pub matched_domain: String, + #[serde(rename = "branding_title")] + pub branding_title: String, + #[serde(rename = "branding_logo")] + pub branding_logo: String, + #[serde(rename = "branding_favicon")] + pub branding_favicon: String, + #[serde(rename = "ui_footer_links")] + pub ui_footer_links: Vec, + #[serde(rename = "ui_theme")] + pub ui_theme: models::UiThemeEnum, + #[serde(rename = "flow_authentication", skip_serializing_if = "Option::is_none")] + pub flow_authentication: Option, + #[serde(rename = "flow_invalidation", skip_serializing_if = "Option::is_none")] + pub flow_invalidation: Option, + #[serde(rename = "flow_recovery", skip_serializing_if = "Option::is_none")] + pub flow_recovery: Option, + #[serde(rename = "flow_unenrollment", skip_serializing_if = "Option::is_none")] + pub flow_unenrollment: Option, + #[serde(rename = "flow_user_settings", skip_serializing_if = "Option::is_none")] + pub flow_user_settings: Option, + #[serde(rename = "flow_device_code", skip_serializing_if = "Option::is_none")] + pub flow_device_code: Option, + #[serde(rename = "default_locale")] + pub default_locale: String, +} + +impl CurrentBrand { + /// Partial brand information for styling + pub fn new( + matched_domain: String, + branding_title: String, + branding_logo: String, + branding_favicon: String, + ui_footer_links: Vec, + ui_theme: models::UiThemeEnum, + default_locale: String, + ) -> CurrentBrand { + CurrentBrand { + matched_domain, + branding_title, + branding_logo, + branding_favicon, + ui_footer_links, + ui_theme, + flow_authentication: None, + flow_invalidation: None, + flow_recovery: None, + flow_unenrollment: None, + flow_user_settings: None, + flow_device_code: None, + default_locale, + } + } +} diff --git a/src/models/denied_action_enum.rs b/src/models/denied_action_enum.rs new file mode 100644 index 0000000..e193935 --- /dev/null +++ b/src/models/denied_action_enum.rs @@ -0,0 +1,39 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum DeniedActionEnum { + #[serde(rename = "message_continue")] + MessageContinue, + #[serde(rename = "message")] + Message, + #[serde(rename = "continue")] + Continue, +} + +impl std::fmt::Display for DeniedActionEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::MessageContinue => write!(f, "message_continue"), + Self::Message => write!(f, "message"), + Self::Continue => write!(f, "continue"), + } + } +} + +impl Default for DeniedActionEnum { + fn default() -> DeniedActionEnum { + Self::MessageContinue + } +} diff --git a/src/models/deny_stage.rs b/src/models/deny_stage.rs new file mode 100644 index 0000000..2d91ad1 --- /dev/null +++ b/src/models/deny_stage.rs @@ -0,0 +1,60 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// DenyStage : DenyStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DenyStage { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Get object type so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + #[serde(rename = "deny_message", skip_serializing_if = "Option::is_none")] + pub deny_message: Option, +} + +impl DenyStage { + /// DenyStage Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> DenyStage { + DenyStage { + pk, + name, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + flow_set: None, + deny_message: None, + } + } +} diff --git a/src/models/deny_stage_request.rs b/src/models/deny_stage_request.rs new file mode 100644 index 0000000..cfff9ab --- /dev/null +++ b/src/models/deny_stage_request.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// DenyStageRequest : DenyStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DenyStageRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + #[serde(rename = "deny_message", skip_serializing_if = "Option::is_none")] + pub deny_message: Option, +} + +impl DenyStageRequest { + /// DenyStage Serializer + pub fn new(name: String) -> DenyStageRequest { + DenyStageRequest { + name, + flow_set: None, + deny_message: None, + } + } +} diff --git a/src/models/detailed_country.rs b/src/models/detailed_country.rs new file mode 100644 index 0000000..f6fa937 --- /dev/null +++ b/src/models/detailed_country.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DetailedCountry { + #[serde(rename = "code")] + pub code: models::CountryCodeEnum, + #[serde(rename = "name")] + pub name: String, +} + +impl DetailedCountry { + pub fn new(code: models::CountryCodeEnum, name: String) -> DetailedCountry { + DetailedCountry { code, name } + } +} diff --git a/src/models/detailed_country_field.rs b/src/models/detailed_country_field.rs new file mode 100644 index 0000000..f414ca3 --- /dev/null +++ b/src/models/detailed_country_field.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DetailedCountryField { + #[serde(rename = "code")] + pub code: models::CountryCodeEnum, + #[serde(rename = "name")] + pub name: String, +} + +impl DetailedCountryField { + pub fn new(code: models::CountryCodeEnum, name: String) -> DetailedCountryField { + DetailedCountryField { code, name } + } +} diff --git a/src/models/detailed_country_field_request.rs b/src/models/detailed_country_field_request.rs new file mode 100644 index 0000000..e41af82 --- /dev/null +++ b/src/models/detailed_country_field_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DetailedCountryFieldRequest { + #[serde(rename = "code")] + pub code: models::CountryCodeEnum, + #[serde(rename = "name")] + pub name: String, +} + +impl DetailedCountryFieldRequest { + pub fn new(code: models::CountryCodeEnum, name: String) -> DetailedCountryFieldRequest { + DetailedCountryFieldRequest { code, name } + } +} diff --git a/src/models/device.rs b/src/models/device.rs new file mode 100644 index 0000000..271f37a --- /dev/null +++ b/src/models/device.rs @@ -0,0 +1,70 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Device : Serializer for Duo authenticator devices +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Device { + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "name")] + pub name: String, + /// Get type of device + #[serde(rename = "type")] + pub r#type: String, + #[serde(rename = "confirmed")] + pub confirmed: bool, + #[serde(rename = "created")] + pub created: String, + #[serde(rename = "last_updated")] + pub last_updated: String, + #[serde(rename = "last_used", deserialize_with = "Option::deserialize")] + pub last_used: Option, +} + +impl Device { + /// Serializer for Duo authenticator devices + pub fn new( + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + pk: i32, + name: String, + r#type: String, + confirmed: bool, + created: String, + last_updated: String, + last_used: Option, + ) -> Device { + Device { + verbose_name, + verbose_name_plural, + meta_model_name, + pk, + name, + r#type, + confirmed, + created, + last_updated, + last_used, + } + } +} diff --git a/src/models/device_challenge.rs b/src/models/device_challenge.rs new file mode 100644 index 0000000..b6e9532 --- /dev/null +++ b/src/models/device_challenge.rs @@ -0,0 +1,38 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// DeviceChallenge : Single device challenge +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DeviceChallenge { + #[serde(rename = "device_class")] + pub device_class: String, + #[serde(rename = "device_uid")] + pub device_uid: String, + #[serde(rename = "challenge")] + pub challenge: std::collections::HashMap, +} + +impl DeviceChallenge { + /// Single device challenge + pub fn new( + device_class: String, + device_uid: String, + challenge: std::collections::HashMap, + ) -> DeviceChallenge { + DeviceChallenge { + device_class, + device_uid, + challenge, + } + } +} diff --git a/src/models/device_challenge_request.rs b/src/models/device_challenge_request.rs new file mode 100644 index 0000000..20bfc97 --- /dev/null +++ b/src/models/device_challenge_request.rs @@ -0,0 +1,38 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// DeviceChallengeRequest : Single device challenge +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DeviceChallengeRequest { + #[serde(rename = "device_class")] + pub device_class: String, + #[serde(rename = "device_uid")] + pub device_uid: String, + #[serde(rename = "challenge")] + pub challenge: std::collections::HashMap, +} + +impl DeviceChallengeRequest { + /// Single device challenge + pub fn new( + device_class: String, + device_uid: String, + challenge: std::collections::HashMap, + ) -> DeviceChallengeRequest { + DeviceChallengeRequest { + device_class, + device_uid, + challenge, + } + } +} diff --git a/src/models/device_classes_enum.rs b/src/models/device_classes_enum.rs new file mode 100644 index 0000000..33ffef6 --- /dev/null +++ b/src/models/device_classes_enum.rs @@ -0,0 +1,45 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum DeviceClassesEnum { + #[serde(rename = "static")] + Static, + #[serde(rename = "totp")] + Totp, + #[serde(rename = "webauthn")] + Webauthn, + #[serde(rename = "duo")] + Duo, + #[serde(rename = "sms")] + Sms, +} + +impl std::fmt::Display for DeviceClassesEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Static => write!(f, "static"), + Self::Totp => write!(f, "totp"), + Self::Webauthn => write!(f, "webauthn"), + Self::Duo => write!(f, "duo"), + Self::Sms => write!(f, "sms"), + } + } +} + +impl Default for DeviceClassesEnum { + fn default() -> DeviceClassesEnum { + Self::Static + } +} diff --git a/src/models/digest_algorithm_enum.rs b/src/models/digest_algorithm_enum.rs new file mode 100644 index 0000000..aeca312 --- /dev/null +++ b/src/models/digest_algorithm_enum.rs @@ -0,0 +1,44 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum DigestAlgorithmEnum { + #[serde(rename = "http://www.w3.org/2000/09/xmldsig#sha1")] + Variant2000Slash09SlashXmldsigHashSha1, + #[serde(rename = "http://www.w3.org/2001/04/xmlenc#sha256")] + Variant2001Slash04SlashXmlencHashSha256, + #[serde(rename = "http://www.w3.org/2001/04/xmldsig-more#sha384")] + Variant2001Slash04SlashXmldsigMoreHashSha384, + #[serde(rename = "http://www.w3.org/2001/04/xmlenc#sha512")] + Variant2001Slash04SlashXmlencHashSha512, +} + +impl std::fmt::Display for DigestAlgorithmEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Variant2000Slash09SlashXmldsigHashSha1 => write!(f, "http://www.w3.org/2000/09/xmldsig#sha1"), + Self::Variant2001Slash04SlashXmlencHashSha256 => write!(f, "http://www.w3.org/2001/04/xmlenc#sha256"), + Self::Variant2001Slash04SlashXmldsigMoreHashSha384 => { + write!(f, "http://www.w3.org/2001/04/xmldsig-more#sha384") + } + Self::Variant2001Slash04SlashXmlencHashSha512 => write!(f, "http://www.w3.org/2001/04/xmlenc#sha512"), + } + } +} + +impl Default for DigestAlgorithmEnum { + fn default() -> DigestAlgorithmEnum { + Self::Variant2000Slash09SlashXmldsigHashSha1 + } +} diff --git a/src/models/digits_enum.rs b/src/models/digits_enum.rs new file mode 100644 index 0000000..285ffc7 --- /dev/null +++ b/src/models/digits_enum.rs @@ -0,0 +1,36 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum DigitsEnum { + #[serde(rename = "6")] + Variant6, + #[serde(rename = "8")] + Variant8, +} + +impl std::fmt::Display for DigitsEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Variant6 => write!(f, "6"), + Self::Variant8 => write!(f, "8"), + } + } +} + +impl Default for DigitsEnum { + fn default() -> DigitsEnum { + Self::Variant6 + } +} diff --git a/src/models/docker_service_connection.rs b/src/models/docker_service_connection.rs new file mode 100644 index 0000000..a1fcebe --- /dev/null +++ b/src/models/docker_service_connection.rs @@ -0,0 +1,80 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// DockerServiceConnection : DockerServiceConnection Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DockerServiceConnection { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// If enabled, use the local connection. Required Docker socket/Kubernetes Integration + #[serde(rename = "local", skip_serializing_if = "Option::is_none")] + pub local: Option, + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + /// Can be in the format of 'unix://' when connecting to a local docker daemon, or 'https://:2376' when connecting to a remote system. + #[serde(rename = "url")] + pub url: String, + /// CA which the endpoint's Certificate is verified against. Can be left empty for no validation. + #[serde( + rename = "tls_verification", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub tls_verification: Option>, + /// Certificate/Key used for authentication. Can be left empty for no authentication. + #[serde( + rename = "tls_authentication", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub tls_authentication: Option>, +} + +impl DockerServiceConnection { + /// DockerServiceConnection Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + url: String, + ) -> DockerServiceConnection { + DockerServiceConnection { + pk, + name, + local: None, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + url, + tls_verification: None, + tls_authentication: None, + } + } +} diff --git a/src/models/docker_service_connection_request.rs b/src/models/docker_service_connection_request.rs new file mode 100644 index 0000000..1a30927 --- /dev/null +++ b/src/models/docker_service_connection_request.rs @@ -0,0 +1,54 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// DockerServiceConnectionRequest : DockerServiceConnection Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DockerServiceConnectionRequest { + #[serde(rename = "name")] + pub name: String, + /// If enabled, use the local connection. Required Docker socket/Kubernetes Integration + #[serde(rename = "local", skip_serializing_if = "Option::is_none")] + pub local: Option, + /// Can be in the format of 'unix://' when connecting to a local docker daemon, or 'https://:2376' when connecting to a remote system. + #[serde(rename = "url")] + pub url: String, + /// CA which the endpoint's Certificate is verified against. Can be left empty for no validation. + #[serde( + rename = "tls_verification", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub tls_verification: Option>, + /// Certificate/Key used for authentication. Can be left empty for no authentication. + #[serde( + rename = "tls_authentication", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub tls_authentication: Option>, +} + +impl DockerServiceConnectionRequest { + /// DockerServiceConnection Serializer + pub fn new(name: String, url: String) -> DockerServiceConnectionRequest { + DockerServiceConnectionRequest { + name, + local: None, + url, + tls_verification: None, + tls_authentication: None, + } + } +} diff --git a/src/models/domain.rs b/src/models/domain.rs new file mode 100644 index 0000000..e3f5f54 --- /dev/null +++ b/src/models/domain.rs @@ -0,0 +1,37 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Domain : Domain Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Domain { + #[serde(rename = "id")] + pub id: i32, + #[serde(rename = "domain")] + pub domain: String, + #[serde(rename = "is_primary", skip_serializing_if = "Option::is_none")] + pub is_primary: Option, + #[serde(rename = "tenant")] + pub tenant: uuid::Uuid, +} + +impl Domain { + /// Domain Serializer + pub fn new(id: i32, domain: String, tenant: uuid::Uuid) -> Domain { + Domain { + id, + domain, + is_primary: None, + tenant, + } + } +} diff --git a/src/models/domain_request.rs b/src/models/domain_request.rs new file mode 100644 index 0000000..375fe0e --- /dev/null +++ b/src/models/domain_request.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// DomainRequest : Domain Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DomainRequest { + #[serde(rename = "domain")] + pub domain: String, + #[serde(rename = "is_primary", skip_serializing_if = "Option::is_none")] + pub is_primary: Option, + #[serde(rename = "tenant")] + pub tenant: uuid::Uuid, +} + +impl DomainRequest { + /// Domain Serializer + pub fn new(domain: String, tenant: uuid::Uuid) -> DomainRequest { + DomainRequest { + domain, + is_primary: None, + tenant, + } + } +} diff --git a/src/models/dummy_challenge.rs b/src/models/dummy_challenge.rs new file mode 100644 index 0000000..53b17a6 --- /dev/null +++ b/src/models/dummy_challenge.rs @@ -0,0 +1,37 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// DummyChallenge : Dummy challenge +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DummyChallenge { + #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")] + pub flow_info: Option, + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")] + pub response_errors: Option>>, + #[serde(rename = "name")] + pub name: String, +} + +impl DummyChallenge { + /// Dummy challenge + pub fn new(name: String) -> DummyChallenge { + DummyChallenge { + flow_info: None, + component: None, + response_errors: None, + name, + } + } +} diff --git a/src/models/dummy_challenge_response_request.rs b/src/models/dummy_challenge_response_request.rs new file mode 100644 index 0000000..a977e3c --- /dev/null +++ b/src/models/dummy_challenge_response_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// DummyChallengeResponseRequest : Dummy challenge response +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DummyChallengeResponseRequest { + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, +} + +impl DummyChallengeResponseRequest { + /// Dummy challenge response + pub fn new() -> DummyChallengeResponseRequest { + DummyChallengeResponseRequest { component: None } + } +} diff --git a/src/models/dummy_policy.rs b/src/models/dummy_policy.rs new file mode 100644 index 0000000..aae4fa0 --- /dev/null +++ b/src/models/dummy_policy.rs @@ -0,0 +1,72 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// DummyPolicy : Dummy Policy Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DummyPolicy { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + #[serde(rename = "execution_logging", skip_serializing_if = "Option::is_none")] + pub execution_logging: Option, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + /// Return objects policy is bound to + #[serde(rename = "bound_to")] + pub bound_to: i32, + #[serde(rename = "result", skip_serializing_if = "Option::is_none")] + pub result: Option, + #[serde(rename = "wait_min", skip_serializing_if = "Option::is_none")] + pub wait_min: Option, + #[serde(rename = "wait_max", skip_serializing_if = "Option::is_none")] + pub wait_max: Option, +} + +impl DummyPolicy { + /// Dummy Policy Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + bound_to: i32, + ) -> DummyPolicy { + DummyPolicy { + pk, + name, + execution_logging: None, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + bound_to, + result: None, + wait_min: None, + wait_max: None, + } + } +} diff --git a/src/models/dummy_policy_request.rs b/src/models/dummy_policy_request.rs new file mode 100644 index 0000000..267ac50 --- /dev/null +++ b/src/models/dummy_policy_request.rs @@ -0,0 +1,41 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// DummyPolicyRequest : Dummy Policy Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DummyPolicyRequest { + #[serde(rename = "name")] + pub name: String, + /// When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + #[serde(rename = "execution_logging", skip_serializing_if = "Option::is_none")] + pub execution_logging: Option, + #[serde(rename = "result", skip_serializing_if = "Option::is_none")] + pub result: Option, + #[serde(rename = "wait_min", skip_serializing_if = "Option::is_none")] + pub wait_min: Option, + #[serde(rename = "wait_max", skip_serializing_if = "Option::is_none")] + pub wait_max: Option, +} + +impl DummyPolicyRequest { + /// Dummy Policy Serializer + pub fn new(name: String) -> DummyPolicyRequest { + DummyPolicyRequest { + name, + execution_logging: None, + result: None, + wait_min: None, + wait_max: None, + } + } +} diff --git a/src/models/dummy_stage.rs b/src/models/dummy_stage.rs new file mode 100644 index 0000000..2b9a82a --- /dev/null +++ b/src/models/dummy_stage.rs @@ -0,0 +1,60 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// DummyStage : DummyStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DummyStage { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Get object type so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + #[serde(rename = "throw_error", skip_serializing_if = "Option::is_none")] + pub throw_error: Option, +} + +impl DummyStage { + /// DummyStage Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> DummyStage { + DummyStage { + pk, + name, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + flow_set: None, + throw_error: None, + } + } +} diff --git a/src/models/dummy_stage_request.rs b/src/models/dummy_stage_request.rs new file mode 100644 index 0000000..5d5d5e5 --- /dev/null +++ b/src/models/dummy_stage_request.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// DummyStageRequest : DummyStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DummyStageRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + #[serde(rename = "throw_error", skip_serializing_if = "Option::is_none")] + pub throw_error: Option, +} + +impl DummyStageRequest { + /// DummyStage Serializer + pub fn new(name: String) -> DummyStageRequest { + DummyStageRequest { + name, + flow_set: None, + throw_error: None, + } + } +} diff --git a/src/models/duo_device.rs b/src/models/duo_device.rs new file mode 100644 index 0000000..7635eb9 --- /dev/null +++ b/src/models/duo_device.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// DuoDevice : Serializer for Duo authenticator devices +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DuoDevice { + #[serde(rename = "pk")] + pub pk: i32, + /// The human-readable name of this device. + #[serde(rename = "name")] + pub name: String, +} + +impl DuoDevice { + /// Serializer for Duo authenticator devices + pub fn new(pk: i32, name: String) -> DuoDevice { + DuoDevice { pk, name } + } +} diff --git a/src/models/duo_device_enrollment_status.rs b/src/models/duo_device_enrollment_status.rs new file mode 100644 index 0000000..9e4171b --- /dev/null +++ b/src/models/duo_device_enrollment_status.rs @@ -0,0 +1,24 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DuoDeviceEnrollmentStatus { + #[serde(rename = "duo_response")] + pub duo_response: models::DuoResponseEnum, +} + +impl DuoDeviceEnrollmentStatus { + pub fn new(duo_response: models::DuoResponseEnum) -> DuoDeviceEnrollmentStatus { + DuoDeviceEnrollmentStatus { duo_response } + } +} diff --git a/src/models/duo_device_request.rs b/src/models/duo_device_request.rs new file mode 100644 index 0000000..cb31be8 --- /dev/null +++ b/src/models/duo_device_request.rs @@ -0,0 +1,27 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// DuoDeviceRequest : Serializer for Duo authenticator devices +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DuoDeviceRequest { + /// The human-readable name of this device. + #[serde(rename = "name")] + pub name: String, +} + +impl DuoDeviceRequest { + /// Serializer for Duo authenticator devices + pub fn new(name: String) -> DuoDeviceRequest { + DuoDeviceRequest { name } + } +} diff --git a/src/models/duo_response_enum.rs b/src/models/duo_response_enum.rs new file mode 100644 index 0000000..a58a097 --- /dev/null +++ b/src/models/duo_response_enum.rs @@ -0,0 +1,39 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum DuoResponseEnum { + #[serde(rename = "success")] + Success, + #[serde(rename = "waiting")] + Waiting, + #[serde(rename = "invalid")] + Invalid, +} + +impl std::fmt::Display for DuoResponseEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Success => write!(f, "success"), + Self::Waiting => write!(f, "waiting"), + Self::Invalid => write!(f, "invalid"), + } + } +} + +impl Default for DuoResponseEnum { + fn default() -> DuoResponseEnum { + Self::Success + } +} diff --git a/src/models/email_challenge.rs b/src/models/email_challenge.rs new file mode 100644 index 0000000..4481af3 --- /dev/null +++ b/src/models/email_challenge.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EmailChallenge : Email challenge +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EmailChallenge { + #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")] + pub flow_info: Option, + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")] + pub response_errors: Option>>, +} + +impl EmailChallenge { + /// Email challenge + pub fn new() -> EmailChallenge { + EmailChallenge { + flow_info: None, + component: None, + response_errors: None, + } + } +} diff --git a/src/models/email_challenge_response_request.rs b/src/models/email_challenge_response_request.rs new file mode 100644 index 0000000..161c901 --- /dev/null +++ b/src/models/email_challenge_response_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EmailChallengeResponseRequest : Email challenge resposen. No fields. This challenge is always declared invalid to give the user a chance to retry +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EmailChallengeResponseRequest { + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, +} + +impl EmailChallengeResponseRequest { + /// Email challenge resposen. No fields. This challenge is always declared invalid to give the user a chance to retry + pub fn new() -> EmailChallengeResponseRequest { + EmailChallengeResponseRequest { component: None } + } +} diff --git a/src/models/email_stage.rs b/src/models/email_stage.rs new file mode 100644 index 0000000..21142a6 --- /dev/null +++ b/src/models/email_stage.rs @@ -0,0 +1,96 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EmailStage : EmailStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EmailStage { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Get object type so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// When enabled, global Email connection settings will be used and connection settings below will be ignored. + #[serde(rename = "use_global_settings", skip_serializing_if = "Option::is_none")] + pub use_global_settings: Option, + #[serde(rename = "host", skip_serializing_if = "Option::is_none")] + pub host: Option, + #[serde(rename = "port", skip_serializing_if = "Option::is_none")] + pub port: Option, + #[serde(rename = "username", skip_serializing_if = "Option::is_none")] + pub username: Option, + #[serde(rename = "use_tls", skip_serializing_if = "Option::is_none")] + pub use_tls: Option, + #[serde(rename = "use_ssl", skip_serializing_if = "Option::is_none")] + pub use_ssl: Option, + #[serde(rename = "timeout", skip_serializing_if = "Option::is_none")] + pub timeout: Option, + #[serde(rename = "from_address", skip_serializing_if = "Option::is_none")] + pub from_address: Option, + /// Time in minutes the token sent is valid. + #[serde(rename = "token_expiry", skip_serializing_if = "Option::is_none")] + pub token_expiry: Option, + #[serde(rename = "subject", skip_serializing_if = "Option::is_none")] + pub subject: Option, + #[serde(rename = "template", skip_serializing_if = "Option::is_none")] + pub template: Option, + /// Activate users upon completion of stage. + #[serde(rename = "activate_user_on_success", skip_serializing_if = "Option::is_none")] + pub activate_user_on_success: Option, +} + +impl EmailStage { + /// EmailStage Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> EmailStage { + EmailStage { + pk, + name, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + flow_set: None, + use_global_settings: None, + host: None, + port: None, + username: None, + use_tls: None, + use_ssl: None, + timeout: None, + from_address: None, + token_expiry: None, + subject: None, + template: None, + activate_user_on_success: None, + } + } +} diff --git a/src/models/email_stage_request.rs b/src/models/email_stage_request.rs new file mode 100644 index 0000000..eb0d11b --- /dev/null +++ b/src/models/email_stage_request.rs @@ -0,0 +1,73 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EmailStageRequest : EmailStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EmailStageRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// When enabled, global Email connection settings will be used and connection settings below will be ignored. + #[serde(rename = "use_global_settings", skip_serializing_if = "Option::is_none")] + pub use_global_settings: Option, + #[serde(rename = "host", skip_serializing_if = "Option::is_none")] + pub host: Option, + #[serde(rename = "port", skip_serializing_if = "Option::is_none")] + pub port: Option, + #[serde(rename = "username", skip_serializing_if = "Option::is_none")] + pub username: Option, + #[serde(rename = "password", skip_serializing_if = "Option::is_none")] + pub password: Option, + #[serde(rename = "use_tls", skip_serializing_if = "Option::is_none")] + pub use_tls: Option, + #[serde(rename = "use_ssl", skip_serializing_if = "Option::is_none")] + pub use_ssl: Option, + #[serde(rename = "timeout", skip_serializing_if = "Option::is_none")] + pub timeout: Option, + #[serde(rename = "from_address", skip_serializing_if = "Option::is_none")] + pub from_address: Option, + /// Time in minutes the token sent is valid. + #[serde(rename = "token_expiry", skip_serializing_if = "Option::is_none")] + pub token_expiry: Option, + #[serde(rename = "subject", skip_serializing_if = "Option::is_none")] + pub subject: Option, + #[serde(rename = "template", skip_serializing_if = "Option::is_none")] + pub template: Option, + /// Activate users upon completion of stage. + #[serde(rename = "activate_user_on_success", skip_serializing_if = "Option::is_none")] + pub activate_user_on_success: Option, +} + +impl EmailStageRequest { + /// EmailStage Serializer + pub fn new(name: String) -> EmailStageRequest { + EmailStageRequest { + name, + flow_set: None, + use_global_settings: None, + host: None, + port: None, + username: None, + password: None, + use_tls: None, + use_ssl: None, + timeout: None, + from_address: None, + token_expiry: None, + subject: None, + template: None, + activate_user_on_success: None, + } + } +} diff --git a/src/models/endpoint.rs b/src/models/endpoint.rs new file mode 100644 index 0000000..b661c6f --- /dev/null +++ b/src/models/endpoint.rs @@ -0,0 +1,73 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Endpoint : Endpoint Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Endpoint { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "provider")] + pub provider: i32, + #[serde(rename = "provider_obj")] + pub provider_obj: models::RacProvider, + #[serde(rename = "protocol")] + pub protocol: models::ProtocolEnum, + #[serde(rename = "host")] + pub host: String, + #[serde( + rename = "settings", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub settings: Option>, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + #[serde(rename = "auth_mode")] + pub auth_mode: models::AuthModeEnum, + /// Build actual launch URL (the provider itself does not have one, just individual endpoints) + #[serde(rename = "launch_url", deserialize_with = "Option::deserialize")] + pub launch_url: Option, + #[serde(rename = "maximum_connections", skip_serializing_if = "Option::is_none")] + pub maximum_connections: Option, +} + +impl Endpoint { + /// Endpoint Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + provider: i32, + provider_obj: models::RacProvider, + protocol: models::ProtocolEnum, + host: String, + auth_mode: models::AuthModeEnum, + launch_url: Option, + ) -> Endpoint { + Endpoint { + pk, + name, + provider, + provider_obj, + protocol, + host, + settings: None, + property_mappings: None, + auth_mode, + launch_url, + maximum_connections: None, + } + } +} diff --git a/src/models/endpoint_request.rs b/src/models/endpoint_request.rs new file mode 100644 index 0000000..43bb78d --- /dev/null +++ b/src/models/endpoint_request.rs @@ -0,0 +1,60 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EndpointRequest : Endpoint Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EndpointRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "provider")] + pub provider: i32, + #[serde(rename = "protocol")] + pub protocol: models::ProtocolEnum, + #[serde(rename = "host")] + pub host: String, + #[serde( + rename = "settings", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub settings: Option>, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + #[serde(rename = "auth_mode")] + pub auth_mode: models::AuthModeEnum, + #[serde(rename = "maximum_connections", skip_serializing_if = "Option::is_none")] + pub maximum_connections: Option, +} + +impl EndpointRequest { + /// Endpoint Serializer + pub fn new( + name: String, + provider: i32, + protocol: models::ProtocolEnum, + host: String, + auth_mode: models::AuthModeEnum, + ) -> EndpointRequest { + EndpointRequest { + name, + provider, + protocol, + host, + settings: None, + property_mappings: None, + auth_mode, + maximum_connections: None, + } + } +} diff --git a/src/models/error_detail.rs b/src/models/error_detail.rs new file mode 100644 index 0000000..74aca5c --- /dev/null +++ b/src/models/error_detail.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ErrorDetail : Serializer for rest_framework's error messages +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ErrorDetail { + #[serde(rename = "string")] + pub string: String, + #[serde(rename = "code")] + pub code: String, +} + +impl ErrorDetail { + /// Serializer for rest_framework's error messages + pub fn new(string: String, code: String) -> ErrorDetail { + ErrorDetail { string, code } + } +} diff --git a/src/models/error_reporting_config.rs b/src/models/error_reporting_config.rs new file mode 100644 index 0000000..a374472 --- /dev/null +++ b/src/models/error_reporting_config.rs @@ -0,0 +1,46 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ErrorReportingConfig : Config for error reporting +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ErrorReportingConfig { + #[serde(rename = "enabled")] + pub enabled: bool, + #[serde(rename = "sentry_dsn")] + pub sentry_dsn: String, + #[serde(rename = "environment")] + pub environment: String, + #[serde(rename = "send_pii")] + pub send_pii: bool, + #[serde(rename = "traces_sample_rate")] + pub traces_sample_rate: f64, +} + +impl ErrorReportingConfig { + /// Config for error reporting + pub fn new( + enabled: bool, + sentry_dsn: String, + environment: String, + send_pii: bool, + traces_sample_rate: f64, + ) -> ErrorReportingConfig { + ErrorReportingConfig { + enabled, + sentry_dsn, + environment, + send_pii, + traces_sample_rate, + } + } +} diff --git a/src/models/event.rs b/src/models/event.rs new file mode 100644 index 0000000..aa89810 --- /dev/null +++ b/src/models/event.rs @@ -0,0 +1,72 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Event : Event Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Event { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde( + rename = "user", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub user: Option>, + #[serde(rename = "action")] + pub action: models::EventActions, + #[serde(rename = "app")] + pub app: String, + #[serde( + rename = "context", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub context: Option>, + #[serde( + rename = "client_ip", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub client_ip: Option>, + #[serde(rename = "created")] + pub created: String, + #[serde(rename = "expires", skip_serializing_if = "Option::is_none")] + pub expires: Option, + #[serde( + rename = "brand", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub brand: Option>, +} + +impl Event { + /// Event Serializer + pub fn new(pk: uuid::Uuid, action: models::EventActions, app: String, created: String) -> Event { + Event { + pk, + user: None, + action, + app, + context: None, + client_ip: None, + created, + expires: None, + brand: None, + } + } +} diff --git a/src/models/event_actions.rs b/src/models/event_actions.rs new file mode 100644 index 0000000..6d61f04 --- /dev/null +++ b/src/models/event_actions.rs @@ -0,0 +1,111 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum EventActions { + #[serde(rename = "login")] + Login, + #[serde(rename = "login_failed")] + LoginFailed, + #[serde(rename = "logout")] + Logout, + #[serde(rename = "user_write")] + UserWrite, + #[serde(rename = "suspicious_request")] + SuspiciousRequest, + #[serde(rename = "password_set")] + PasswordSet, + #[serde(rename = "secret_view")] + SecretView, + #[serde(rename = "secret_rotate")] + SecretRotate, + #[serde(rename = "invitation_used")] + InvitationUsed, + #[serde(rename = "authorize_application")] + AuthorizeApplication, + #[serde(rename = "source_linked")] + SourceLinked, + #[serde(rename = "impersonation_started")] + ImpersonationStarted, + #[serde(rename = "impersonation_ended")] + ImpersonationEnded, + #[serde(rename = "flow_execution")] + FlowExecution, + #[serde(rename = "policy_execution")] + PolicyExecution, + #[serde(rename = "policy_exception")] + PolicyException, + #[serde(rename = "property_mapping_exception")] + PropertyMappingException, + #[serde(rename = "system_task_execution")] + SystemTaskExecution, + #[serde(rename = "system_task_exception")] + SystemTaskException, + #[serde(rename = "system_exception")] + SystemException, + #[serde(rename = "configuration_error")] + ConfigurationError, + #[serde(rename = "model_created")] + ModelCreated, + #[serde(rename = "model_updated")] + ModelUpdated, + #[serde(rename = "model_deleted")] + ModelDeleted, + #[serde(rename = "email_sent")] + EmailSent, + #[serde(rename = "update_available")] + UpdateAvailable, + #[serde(rename = "custom_")] + Custom, +} + +impl std::fmt::Display for EventActions { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Login => write!(f, "login"), + Self::LoginFailed => write!(f, "login_failed"), + Self::Logout => write!(f, "logout"), + Self::UserWrite => write!(f, "user_write"), + Self::SuspiciousRequest => write!(f, "suspicious_request"), + Self::PasswordSet => write!(f, "password_set"), + Self::SecretView => write!(f, "secret_view"), + Self::SecretRotate => write!(f, "secret_rotate"), + Self::InvitationUsed => write!(f, "invitation_used"), + Self::AuthorizeApplication => write!(f, "authorize_application"), + Self::SourceLinked => write!(f, "source_linked"), + Self::ImpersonationStarted => write!(f, "impersonation_started"), + Self::ImpersonationEnded => write!(f, "impersonation_ended"), + Self::FlowExecution => write!(f, "flow_execution"), + Self::PolicyExecution => write!(f, "policy_execution"), + Self::PolicyException => write!(f, "policy_exception"), + Self::PropertyMappingException => write!(f, "property_mapping_exception"), + Self::SystemTaskExecution => write!(f, "system_task_execution"), + Self::SystemTaskException => write!(f, "system_task_exception"), + Self::SystemException => write!(f, "system_exception"), + Self::ConfigurationError => write!(f, "configuration_error"), + Self::ModelCreated => write!(f, "model_created"), + Self::ModelUpdated => write!(f, "model_updated"), + Self::ModelDeleted => write!(f, "model_deleted"), + Self::EmailSent => write!(f, "email_sent"), + Self::UpdateAvailable => write!(f, "update_available"), + Self::Custom => write!(f, "custom_"), + } + } +} + +impl Default for EventActions { + fn default() -> EventActions { + Self::Login + } +} diff --git a/src/models/event_matcher_policy.rs b/src/models/event_matcher_policy.rs new file mode 100644 index 0000000..cb41f86 --- /dev/null +++ b/src/models/event_matcher_policy.rs @@ -0,0 +1,99 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EventMatcherPolicy : Event Matcher Policy Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EventMatcherPolicy { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + #[serde(rename = "execution_logging", skip_serializing_if = "Option::is_none")] + pub execution_logging: Option, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + /// Return objects policy is bound to + #[serde(rename = "bound_to")] + pub bound_to: i32, + /// Match created events with this action type. When left empty, all action types will be matched. + #[serde( + rename = "action", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub action: Option>, + /// Matches Event's Client IP (strict matching, for network matching use an Expression Policy) + #[serde( + rename = "client_ip", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub client_ip: Option>, + /// Match events created by selected application. When left empty, all applications are matched. + #[serde( + rename = "app", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub app: Option>, + /// Match events created by selected model. When left empty, all models are matched. When an app is selected, all the application's models are matched. + #[serde( + rename = "model", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub model: Option>, +} + +impl EventMatcherPolicy { + /// Event Matcher Policy Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + bound_to: i32, + ) -> EventMatcherPolicy { + EventMatcherPolicy { + pk, + name, + execution_logging: None, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + bound_to, + action: None, + client_ip: None, + app: None, + model: None, + } + } +} diff --git a/src/models/event_matcher_policy_request.rs b/src/models/event_matcher_policy_request.rs new file mode 100644 index 0000000..605da15 --- /dev/null +++ b/src/models/event_matcher_policy_request.rs @@ -0,0 +1,68 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EventMatcherPolicyRequest : Event Matcher Policy Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EventMatcherPolicyRequest { + #[serde(rename = "name")] + pub name: String, + /// When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + #[serde(rename = "execution_logging", skip_serializing_if = "Option::is_none")] + pub execution_logging: Option, + /// Match created events with this action type. When left empty, all action types will be matched. + #[serde( + rename = "action", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub action: Option>, + /// Matches Event's Client IP (strict matching, for network matching use an Expression Policy) + #[serde( + rename = "client_ip", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub client_ip: Option>, + /// Match events created by selected application. When left empty, all applications are matched. + #[serde( + rename = "app", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub app: Option>, + /// Match events created by selected model. When left empty, all models are matched. When an app is selected, all the application's models are matched. + #[serde( + rename = "model", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub model: Option>, +} + +impl EventMatcherPolicyRequest { + /// Event Matcher Policy Serializer + pub fn new(name: String) -> EventMatcherPolicyRequest { + EventMatcherPolicyRequest { + name, + execution_logging: None, + action: None, + client_ip: None, + app: None, + model: None, + } + } +} diff --git a/src/models/event_request.rs b/src/models/event_request.rs new file mode 100644 index 0000000..6479eec --- /dev/null +++ b/src/models/event_request.rs @@ -0,0 +1,66 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EventRequest : Event Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EventRequest { + #[serde( + rename = "user", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub user: Option>, + #[serde(rename = "action")] + pub action: models::EventActions, + #[serde(rename = "app")] + pub app: String, + #[serde( + rename = "context", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub context: Option>, + #[serde( + rename = "client_ip", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub client_ip: Option>, + #[serde(rename = "expires", skip_serializing_if = "Option::is_none")] + pub expires: Option, + #[serde( + rename = "brand", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub brand: Option>, +} + +impl EventRequest { + /// Event Serializer + pub fn new(action: models::EventActions, app: String) -> EventRequest { + EventRequest { + user: None, + action, + app, + context: None, + client_ip: None, + expires: None, + brand: None, + } + } +} diff --git a/src/models/event_top_per_user.rs b/src/models/event_top_per_user.rs new file mode 100644 index 0000000..eb5396f --- /dev/null +++ b/src/models/event_top_per_user.rs @@ -0,0 +1,38 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EventTopPerUser : Response object of Event's top_per_user +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EventTopPerUser { + #[serde(rename = "application")] + pub application: std::collections::HashMap, + #[serde(rename = "counted_events")] + pub counted_events: i32, + #[serde(rename = "unique_users")] + pub unique_users: i32, +} + +impl EventTopPerUser { + /// Response object of Event's top_per_user + pub fn new( + application: std::collections::HashMap, + counted_events: i32, + unique_users: i32, + ) -> EventTopPerUser { + EventTopPerUser { + application, + counted_events, + unique_users, + } + } +} diff --git a/src/models/expiring_base_grant_model.rs b/src/models/expiring_base_grant_model.rs new file mode 100644 index 0000000..548d67d --- /dev/null +++ b/src/models/expiring_base_grant_model.rs @@ -0,0 +1,55 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ExpiringBaseGrantModel : Serializer for BaseGrantModel and ExpiringBaseGrant +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ExpiringBaseGrantModel { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "provider")] + pub provider: models::OAuth2Provider, + #[serde(rename = "user")] + pub user: models::User, + /// Check if token is expired yet. + #[serde(rename = "is_expired")] + pub is_expired: bool, + #[serde( + rename = "expires", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub expires: Option>, + #[serde(rename = "scope")] + pub scope: Vec, +} + +impl ExpiringBaseGrantModel { + /// Serializer for BaseGrantModel and ExpiringBaseGrant + pub fn new( + pk: i32, + provider: models::OAuth2Provider, + user: models::User, + is_expired: bool, + scope: Vec, + ) -> ExpiringBaseGrantModel { + ExpiringBaseGrantModel { + pk, + provider, + user, + is_expired, + expires: None, + scope, + } + } +} diff --git a/src/models/expression_policy.rs b/src/models/expression_policy.rs new file mode 100644 index 0000000..661963c --- /dev/null +++ b/src/models/expression_policy.rs @@ -0,0 +1,67 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ExpressionPolicy : Group Membership Policy Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ExpressionPolicy { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + #[serde(rename = "execution_logging", skip_serializing_if = "Option::is_none")] + pub execution_logging: Option, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + /// Return objects policy is bound to + #[serde(rename = "bound_to")] + pub bound_to: i32, + #[serde(rename = "expression")] + pub expression: String, +} + +impl ExpressionPolicy { + /// Group Membership Policy Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + bound_to: i32, + expression: String, + ) -> ExpressionPolicy { + ExpressionPolicy { + pk, + name, + execution_logging: None, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + bound_to, + expression, + } + } +} diff --git a/src/models/expression_policy_request.rs b/src/models/expression_policy_request.rs new file mode 100644 index 0000000..eb9a157 --- /dev/null +++ b/src/models/expression_policy_request.rs @@ -0,0 +1,35 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ExpressionPolicyRequest : Group Membership Policy Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ExpressionPolicyRequest { + #[serde(rename = "name")] + pub name: String, + /// When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + #[serde(rename = "execution_logging", skip_serializing_if = "Option::is_none")] + pub execution_logging: Option, + #[serde(rename = "expression")] + pub expression: String, +} + +impl ExpressionPolicyRequest { + /// Group Membership Policy Serializer + pub fn new(name: String, expression: String) -> ExpressionPolicyRequest { + ExpressionPolicyRequest { + name, + execution_logging: None, + expression, + } + } +} diff --git a/src/models/extra_role_object_permission.rs b/src/models/extra_role_object_permission.rs new file mode 100644 index 0000000..962e780 --- /dev/null +++ b/src/models/extra_role_object_permission.rs @@ -0,0 +1,65 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ExtraRoleObjectPermission : User permission with additional object-related data +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ExtraRoleObjectPermission { + #[serde(rename = "id")] + pub id: i32, + #[serde(rename = "codename")] + pub codename: String, + #[serde(rename = "model")] + pub model: String, + #[serde(rename = "app_label")] + pub app_label: String, + #[serde(rename = "object_pk")] + pub object_pk: String, + #[serde(rename = "name")] + pub name: String, + /// Get app label from permission's model + #[serde(rename = "app_label_verbose")] + pub app_label_verbose: String, + /// Get model label from permission's model + #[serde(rename = "model_verbose")] + pub model_verbose: String, + /// Get model description from attached model. This operation takes at least one additional query, and the description is only shown if the user/role has the view_ permission on the object + #[serde(rename = "object_description", deserialize_with = "Option::deserialize")] + pub object_description: Option, +} + +impl ExtraRoleObjectPermission { + /// User permission with additional object-related data + pub fn new( + id: i32, + codename: String, + model: String, + app_label: String, + object_pk: String, + name: String, + app_label_verbose: String, + model_verbose: String, + object_description: Option, + ) -> ExtraRoleObjectPermission { + ExtraRoleObjectPermission { + id, + codename, + model, + app_label, + object_pk, + name, + app_label_verbose, + model_verbose, + object_description, + } + } +} diff --git a/src/models/extra_role_object_permission_request.rs b/src/models/extra_role_object_permission_request.rs new file mode 100644 index 0000000..b38a329 --- /dev/null +++ b/src/models/extra_role_object_permission_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ExtraRoleObjectPermissionRequest : User permission with additional object-related data +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ExtraRoleObjectPermissionRequest { + #[serde(rename = "object_pk")] + pub object_pk: String, +} + +impl ExtraRoleObjectPermissionRequest { + /// User permission with additional object-related data + pub fn new(object_pk: String) -> ExtraRoleObjectPermissionRequest { + ExtraRoleObjectPermissionRequest { object_pk } + } +} diff --git a/src/models/extra_user_object_permission.rs b/src/models/extra_user_object_permission.rs new file mode 100644 index 0000000..9001745 --- /dev/null +++ b/src/models/extra_user_object_permission.rs @@ -0,0 +1,65 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ExtraUserObjectPermission : User permission with additional object-related data +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ExtraUserObjectPermission { + #[serde(rename = "id")] + pub id: i32, + #[serde(rename = "codename")] + pub codename: String, + #[serde(rename = "model")] + pub model: String, + #[serde(rename = "app_label")] + pub app_label: String, + #[serde(rename = "object_pk")] + pub object_pk: String, + #[serde(rename = "name")] + pub name: String, + /// Get app label from permission's model + #[serde(rename = "app_label_verbose")] + pub app_label_verbose: String, + /// Get model label from permission's model + #[serde(rename = "model_verbose")] + pub model_verbose: String, + /// Get model description from attached model. This operation takes at least one additional query, and the description is only shown if the user/role has the view_ permission on the object + #[serde(rename = "object_description", deserialize_with = "Option::deserialize")] + pub object_description: Option, +} + +impl ExtraUserObjectPermission { + /// User permission with additional object-related data + pub fn new( + id: i32, + codename: String, + model: String, + app_label: String, + object_pk: String, + name: String, + app_label_verbose: String, + model_verbose: String, + object_description: Option, + ) -> ExtraUserObjectPermission { + ExtraUserObjectPermission { + id, + codename, + model, + app_label, + object_pk, + name, + app_label_verbose, + model_verbose, + object_description, + } + } +} diff --git a/src/models/extra_user_object_permission_request.rs b/src/models/extra_user_object_permission_request.rs new file mode 100644 index 0000000..ea306c6 --- /dev/null +++ b/src/models/extra_user_object_permission_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ExtraUserObjectPermissionRequest : User permission with additional object-related data +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ExtraUserObjectPermissionRequest { + #[serde(rename = "object_pk")] + pub object_pk: String, +} + +impl ExtraUserObjectPermissionRequest { + /// User permission with additional object-related data + pub fn new(object_pk: String) -> ExtraUserObjectPermissionRequest { + ExtraUserObjectPermissionRequest { object_pk } + } +} diff --git a/src/models/file_path_request.rs b/src/models/file_path_request.rs new file mode 100644 index 0000000..493b44d --- /dev/null +++ b/src/models/file_path_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// FilePathRequest : Serializer to upload file +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct FilePathRequest { + #[serde(rename = "url")] + pub url: String, +} + +impl FilePathRequest { + /// Serializer to upload file + pub fn new(url: String) -> FilePathRequest { + FilePathRequest { url } + } +} diff --git a/src/models/flow.rs b/src/models/flow.rs new file mode 100644 index 0000000..45f376c --- /dev/null +++ b/src/models/flow.rs @@ -0,0 +1,94 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Flow : Flow Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Flow { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "policybindingmodel_ptr_id")] + pub policybindingmodel_ptr_id: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Visible in the URL. + #[serde(rename = "slug")] + pub slug: String, + /// Shown as the Title in Flow pages. + #[serde(rename = "title")] + pub title: String, + /// Decides what this Flow is used for. For example, the Authentication flow is redirect to when an un-authenticated user visits authentik. + #[serde(rename = "designation")] + pub designation: models::FlowDesignationEnum, + /// Get the URL to the background image. If the name is /static or starts with http it is returned as-is + #[serde(rename = "background")] + pub background: String, + #[serde(rename = "stages")] + pub stages: Vec, + #[serde(rename = "policies")] + pub policies: Vec, + /// Get count of cached flows + #[serde(rename = "cache_count")] + pub cache_count: i32, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + /// Enable compatibility mode, increases compatibility with password managers on mobile devices. + #[serde(rename = "compatibility_mode", skip_serializing_if = "Option::is_none")] + pub compatibility_mode: Option, + /// Get export URL for flow + #[serde(rename = "export_url")] + pub export_url: String, + #[serde(rename = "layout", skip_serializing_if = "Option::is_none")] + pub layout: Option, + /// Configure what should happen when a flow denies access to a user. + #[serde(rename = "denied_action", skip_serializing_if = "Option::is_none")] + pub denied_action: Option, + /// Required level of authentication and authorization to access a flow. + #[serde(rename = "authentication", skip_serializing_if = "Option::is_none")] + pub authentication: Option, +} + +impl Flow { + /// Flow Serializer + pub fn new( + pk: uuid::Uuid, + policybindingmodel_ptr_id: uuid::Uuid, + name: String, + slug: String, + title: String, + designation: models::FlowDesignationEnum, + background: String, + stages: Vec, + policies: Vec, + cache_count: i32, + export_url: String, + ) -> Flow { + Flow { + pk, + policybindingmodel_ptr_id, + name, + slug, + title, + designation, + background, + stages, + policies, + cache_count, + policy_engine_mode: None, + compatibility_mode: None, + export_url, + layout: None, + denied_action: None, + authentication: None, + } + } +} diff --git a/src/models/flow_challenge_response_request.rs b/src/models/flow_challenge_response_request.rs new file mode 100644 index 0000000..ecb2426 --- /dev/null +++ b/src/models/flow_challenge_response_request.rs @@ -0,0 +1,61 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(tag = "component")] +pub enum FlowChallengeResponseRequest { + #[serde(rename = "ak-source-oauth-apple")] + AkSourceOauthApple(models::AppleChallengeResponseRequest), + #[serde(rename = "ak-stage-authenticator-duo")] + AkStageAuthenticatorDuo(models::AuthenticatorDuoChallengeResponseRequest), + #[serde(rename = "ak-stage-authenticator-sms")] + AkStageAuthenticatorSms(models::AuthenticatorSmsChallengeResponseRequest), + #[serde(rename = "ak-stage-authenticator-static")] + AkStageAuthenticatorStatic(models::AuthenticatorStaticChallengeResponseRequest), + #[serde(rename = "ak-stage-authenticator-totp")] + AkStageAuthenticatorTotp(models::AuthenticatorTotpChallengeResponseRequest), + #[serde(rename = "ak-stage-authenticator-validate")] + AkStageAuthenticatorValidate(models::AuthenticatorValidationChallengeResponseRequest), + #[serde(rename = "ak-stage-authenticator-webauthn")] + AkStageAuthenticatorWebauthn(models::AuthenticatorWebAuthnChallengeResponseRequest), + #[serde(rename = "ak-stage-autosubmit")] + AkStageAutosubmit(models::AutoSubmitChallengeResponseRequest), + #[serde(rename = "ak-stage-captcha")] + AkStageCaptcha(models::CaptchaChallengeResponseRequest), + #[serde(rename = "ak-stage-consent")] + AkStageConsent(models::ConsentChallengeResponseRequest), + #[serde(rename = "ak-stage-dummy")] + AkStageDummy(models::DummyChallengeResponseRequest), + #[serde(rename = "ak-stage-email")] + AkStageEmail(models::EmailChallengeResponseRequest), + #[serde(rename = "ak-stage-identification")] + AkStageIdentification(models::IdentificationChallengeResponseRequest), + #[serde(rename = "ak-provider-oauth2-device-code")] + AkProviderOauth2DeviceCode(models::OAuthDeviceCodeChallengeResponseRequest), + #[serde(rename = "ak-provider-oauth2-device-code-finish")] + AkProviderOauth2DeviceCodeFinish(models::OAuthDeviceCodeFinishChallengeResponseRequest), + #[serde(rename = "ak-stage-password")] + AkStagePassword(models::PasswordChallengeResponseRequest), + #[serde(rename = "ak-source-plex")] + AkSourcePlex(models::PlexAuthenticationChallengeResponseRequest), + #[serde(rename = "ak-stage-prompt")] + AkStagePrompt(models::PromptChallengeResponseRequest), + #[serde(rename = "ak-stage-user-login")] + AkStageUserLogin(models::UserLoginChallengeResponseRequest), +} + +impl Default for FlowChallengeResponseRequest { + fn default() -> Self { + Self::AkSourceOauthApple(Default::default()) + } +} diff --git a/src/models/flow_designation_enum.rs b/src/models/flow_designation_enum.rs new file mode 100644 index 0000000..18978f5 --- /dev/null +++ b/src/models/flow_designation_enum.rs @@ -0,0 +1,51 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum FlowDesignationEnum { + #[serde(rename = "authentication")] + Authentication, + #[serde(rename = "authorization")] + Authorization, + #[serde(rename = "invalidation")] + Invalidation, + #[serde(rename = "enrollment")] + Enrollment, + #[serde(rename = "unenrollment")] + Unenrollment, + #[serde(rename = "recovery")] + Recovery, + #[serde(rename = "stage_configuration")] + StageConfiguration, +} + +impl std::fmt::Display for FlowDesignationEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Authentication => write!(f, "authentication"), + Self::Authorization => write!(f, "authorization"), + Self::Invalidation => write!(f, "invalidation"), + Self::Enrollment => write!(f, "enrollment"), + Self::Unenrollment => write!(f, "unenrollment"), + Self::Recovery => write!(f, "recovery"), + Self::StageConfiguration => write!(f, "stage_configuration"), + } + } +} + +impl Default for FlowDesignationEnum { + fn default() -> FlowDesignationEnum { + Self::Authentication + } +} diff --git a/src/models/flow_diagram.rs b/src/models/flow_diagram.rs new file mode 100644 index 0000000..b95c581 --- /dev/null +++ b/src/models/flow_diagram.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// FlowDiagram : response of the flow's diagram action +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct FlowDiagram { + #[serde(rename = "diagram")] + pub diagram: String, +} + +impl FlowDiagram { + /// response of the flow's diagram action + pub fn new(diagram: String) -> FlowDiagram { + FlowDiagram { diagram } + } +} diff --git a/src/models/flow_error_challenge.rs b/src/models/flow_error_challenge.rs new file mode 100644 index 0000000..1cce711 --- /dev/null +++ b/src/models/flow_error_challenge.rs @@ -0,0 +1,43 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// FlowErrorChallenge : Challenge class when an unhandled error occurs during a stage. Normal users are shown an error message, superusers are shown a full stacktrace. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct FlowErrorChallenge { + #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")] + pub flow_info: Option, + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")] + pub response_errors: Option>>, + #[serde(rename = "request_id")] + pub request_id: String, + #[serde(rename = "error", skip_serializing_if = "Option::is_none")] + pub error: Option, + #[serde(rename = "traceback", skip_serializing_if = "Option::is_none")] + pub traceback: Option, +} + +impl FlowErrorChallenge { + /// Challenge class when an unhandled error occurs during a stage. Normal users are shown an error message, superusers are shown a full stacktrace. + pub fn new(request_id: String) -> FlowErrorChallenge { + FlowErrorChallenge { + flow_info: None, + component: None, + response_errors: None, + request_id, + error: None, + traceback: None, + } + } +} diff --git a/src/models/flow_import_result.rs b/src/models/flow_import_result.rs new file mode 100644 index 0000000..dad0b10 --- /dev/null +++ b/src/models/flow_import_result.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// FlowImportResult : Logs of an attempted flow import +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct FlowImportResult { + #[serde(rename = "logs")] + pub logs: Vec, + #[serde(rename = "success")] + pub success: bool, +} + +impl FlowImportResult { + /// Logs of an attempted flow import + pub fn new(logs: Vec, success: bool) -> FlowImportResult { + FlowImportResult { logs, success } + } +} diff --git a/src/models/flow_inspection.rs b/src/models/flow_inspection.rs new file mode 100644 index 0000000..411267b --- /dev/null +++ b/src/models/flow_inspection.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// FlowInspection : Serializer for inspect endpoint +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct FlowInspection { + #[serde(rename = "plans")] + pub plans: Vec, + #[serde(rename = "current_plan", skip_serializing_if = "Option::is_none")] + pub current_plan: Option, + #[serde(rename = "is_completed")] + pub is_completed: bool, +} + +impl FlowInspection { + /// Serializer for inspect endpoint + pub fn new(plans: Vec, is_completed: bool) -> FlowInspection { + FlowInspection { + plans, + current_plan: None, + is_completed, + } + } +} diff --git a/src/models/flow_inspector_plan.rs b/src/models/flow_inspector_plan.rs new file mode 100644 index 0000000..d04fb1c --- /dev/null +++ b/src/models/flow_inspector_plan.rs @@ -0,0 +1,44 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// FlowInspectorPlan : Serializer for an active FlowPlan +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct FlowInspectorPlan { + #[serde(rename = "current_stage")] + pub current_stage: models::FlowStageBinding, + #[serde(rename = "next_planned_stage")] + pub next_planned_stage: models::FlowStageBinding, + /// Get the plan's context, sanitized + #[serde(rename = "plan_context")] + pub plan_context: std::collections::HashMap, + /// Get a unique session ID + #[serde(rename = "session_id")] + pub session_id: String, +} + +impl FlowInspectorPlan { + /// Serializer for an active FlowPlan + pub fn new( + current_stage: models::FlowStageBinding, + next_planned_stage: models::FlowStageBinding, + plan_context: std::collections::HashMap, + session_id: String, + ) -> FlowInspectorPlan { + FlowInspectorPlan { + current_stage, + next_planned_stage, + plan_context, + session_id, + } + } +} diff --git a/src/models/flow_layout_enum.rs b/src/models/flow_layout_enum.rs new file mode 100644 index 0000000..0bb93f2 --- /dev/null +++ b/src/models/flow_layout_enum.rs @@ -0,0 +1,45 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum FlowLayoutEnum { + #[serde(rename = "stacked")] + Stacked, + #[serde(rename = "content_left")] + ContentLeft, + #[serde(rename = "content_right")] + ContentRight, + #[serde(rename = "sidebar_left")] + SidebarLeft, + #[serde(rename = "sidebar_right")] + SidebarRight, +} + +impl std::fmt::Display for FlowLayoutEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Stacked => write!(f, "stacked"), + Self::ContentLeft => write!(f, "content_left"), + Self::ContentRight => write!(f, "content_right"), + Self::SidebarLeft => write!(f, "sidebar_left"), + Self::SidebarRight => write!(f, "sidebar_right"), + } + } +} + +impl Default for FlowLayoutEnum { + fn default() -> FlowLayoutEnum { + Self::Stacked + } +} diff --git a/src/models/flow_request.rs b/src/models/flow_request.rs new file mode 100644 index 0000000..dcc31b7 --- /dev/null +++ b/src/models/flow_request.rs @@ -0,0 +1,58 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// FlowRequest : Flow Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct FlowRequest { + #[serde(rename = "name")] + pub name: String, + /// Visible in the URL. + #[serde(rename = "slug")] + pub slug: String, + /// Shown as the Title in Flow pages. + #[serde(rename = "title")] + pub title: String, + /// Decides what this Flow is used for. For example, the Authentication flow is redirect to when an un-authenticated user visits authentik. + #[serde(rename = "designation")] + pub designation: models::FlowDesignationEnum, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + /// Enable compatibility mode, increases compatibility with password managers on mobile devices. + #[serde(rename = "compatibility_mode", skip_serializing_if = "Option::is_none")] + pub compatibility_mode: Option, + #[serde(rename = "layout", skip_serializing_if = "Option::is_none")] + pub layout: Option, + /// Configure what should happen when a flow denies access to a user. + #[serde(rename = "denied_action", skip_serializing_if = "Option::is_none")] + pub denied_action: Option, + /// Required level of authentication and authorization to access a flow. + #[serde(rename = "authentication", skip_serializing_if = "Option::is_none")] + pub authentication: Option, +} + +impl FlowRequest { + /// Flow Serializer + pub fn new(name: String, slug: String, title: String, designation: models::FlowDesignationEnum) -> FlowRequest { + FlowRequest { + name, + slug, + title, + designation, + policy_engine_mode: None, + compatibility_mode: None, + layout: None, + denied_action: None, + authentication: None, + } + } +} diff --git a/src/models/flow_set.rs b/src/models/flow_set.rs new file mode 100644 index 0000000..b49b13d --- /dev/null +++ b/src/models/flow_set.rs @@ -0,0 +1,77 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// FlowSet : Stripped down flow serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct FlowSet { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "policybindingmodel_ptr_id")] + pub policybindingmodel_ptr_id: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Visible in the URL. + #[serde(rename = "slug")] + pub slug: String, + /// Shown as the Title in Flow pages. + #[serde(rename = "title")] + pub title: String, + /// Decides what this Flow is used for. For example, the Authentication flow is redirect to when an un-authenticated user visits authentik. + #[serde(rename = "designation")] + pub designation: models::FlowDesignationEnum, + /// Get the URL to the background image. If the name is /static or starts with http it is returned as-is + #[serde(rename = "background")] + pub background: String, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + /// Enable compatibility mode, increases compatibility with password managers on mobile devices. + #[serde(rename = "compatibility_mode", skip_serializing_if = "Option::is_none")] + pub compatibility_mode: Option, + /// Get export URL for flow + #[serde(rename = "export_url")] + pub export_url: String, + #[serde(rename = "layout", skip_serializing_if = "Option::is_none")] + pub layout: Option, + /// Configure what should happen when a flow denies access to a user. + #[serde(rename = "denied_action", skip_serializing_if = "Option::is_none")] + pub denied_action: Option, +} + +impl FlowSet { + /// Stripped down flow serializer + pub fn new( + pk: uuid::Uuid, + policybindingmodel_ptr_id: uuid::Uuid, + name: String, + slug: String, + title: String, + designation: models::FlowDesignationEnum, + background: String, + export_url: String, + ) -> FlowSet { + FlowSet { + pk, + policybindingmodel_ptr_id, + name, + slug, + title, + designation, + background, + policy_engine_mode: None, + compatibility_mode: None, + export_url, + layout: None, + denied_action: None, + } + } +} diff --git a/src/models/flow_set_request.rs b/src/models/flow_set_request.rs new file mode 100644 index 0000000..ebe6645 --- /dev/null +++ b/src/models/flow_set_request.rs @@ -0,0 +1,54 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// FlowSetRequest : Stripped down flow serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct FlowSetRequest { + #[serde(rename = "name")] + pub name: String, + /// Visible in the URL. + #[serde(rename = "slug")] + pub slug: String, + /// Shown as the Title in Flow pages. + #[serde(rename = "title")] + pub title: String, + /// Decides what this Flow is used for. For example, the Authentication flow is redirect to when an un-authenticated user visits authentik. + #[serde(rename = "designation")] + pub designation: models::FlowDesignationEnum, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + /// Enable compatibility mode, increases compatibility with password managers on mobile devices. + #[serde(rename = "compatibility_mode", skip_serializing_if = "Option::is_none")] + pub compatibility_mode: Option, + #[serde(rename = "layout", skip_serializing_if = "Option::is_none")] + pub layout: Option, + /// Configure what should happen when a flow denies access to a user. + #[serde(rename = "denied_action", skip_serializing_if = "Option::is_none")] + pub denied_action: Option, +} + +impl FlowSetRequest { + /// Stripped down flow serializer + pub fn new(name: String, slug: String, title: String, designation: models::FlowDesignationEnum) -> FlowSetRequest { + FlowSetRequest { + name, + slug, + title, + designation, + policy_engine_mode: None, + compatibility_mode: None, + layout: None, + denied_action: None, + } + } +} diff --git a/src/models/flow_stage_binding.rs b/src/models/flow_stage_binding.rs new file mode 100644 index 0000000..1818000 --- /dev/null +++ b/src/models/flow_stage_binding.rs @@ -0,0 +1,65 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// FlowStageBinding : FlowStageBinding Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct FlowStageBinding { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "policybindingmodel_ptr_id")] + pub policybindingmodel_ptr_id: uuid::Uuid, + #[serde(rename = "target")] + pub target: uuid::Uuid, + #[serde(rename = "stage")] + pub stage: uuid::Uuid, + #[serde(rename = "stage_obj")] + pub stage_obj: models::Stage, + /// Evaluate policies during the Flow planning process. + #[serde(rename = "evaluate_on_plan", skip_serializing_if = "Option::is_none")] + pub evaluate_on_plan: Option, + /// Evaluate policies when the Stage is present to the user. + #[serde(rename = "re_evaluate_policies", skip_serializing_if = "Option::is_none")] + pub re_evaluate_policies: Option, + #[serde(rename = "order")] + pub order: i32, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + /// Configure how the flow executor should handle an invalid response to a challenge. RETRY returns the error message and a similar challenge to the executor. RESTART restarts the flow from the beginning, and RESTART_WITH_CONTEXT restarts the flow while keeping the current context. + #[serde(rename = "invalid_response_action", skip_serializing_if = "Option::is_none")] + pub invalid_response_action: Option, +} + +impl FlowStageBinding { + /// FlowStageBinding Serializer + pub fn new( + pk: uuid::Uuid, + policybindingmodel_ptr_id: uuid::Uuid, + target: uuid::Uuid, + stage: uuid::Uuid, + stage_obj: models::Stage, + order: i32, + ) -> FlowStageBinding { + FlowStageBinding { + pk, + policybindingmodel_ptr_id, + target, + stage, + stage_obj, + evaluate_on_plan: None, + re_evaluate_policies: None, + order, + policy_engine_mode: None, + invalid_response_action: None, + } + } +} diff --git a/src/models/flow_stage_binding_request.rs b/src/models/flow_stage_binding_request.rs new file mode 100644 index 0000000..6943980 --- /dev/null +++ b/src/models/flow_stage_binding_request.rs @@ -0,0 +1,49 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// FlowStageBindingRequest : FlowStageBinding Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct FlowStageBindingRequest { + #[serde(rename = "target")] + pub target: uuid::Uuid, + #[serde(rename = "stage")] + pub stage: uuid::Uuid, + /// Evaluate policies during the Flow planning process. + #[serde(rename = "evaluate_on_plan", skip_serializing_if = "Option::is_none")] + pub evaluate_on_plan: Option, + /// Evaluate policies when the Stage is present to the user. + #[serde(rename = "re_evaluate_policies", skip_serializing_if = "Option::is_none")] + pub re_evaluate_policies: Option, + #[serde(rename = "order")] + pub order: i32, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + /// Configure how the flow executor should handle an invalid response to a challenge. RETRY returns the error message and a similar challenge to the executor. RESTART restarts the flow from the beginning, and RESTART_WITH_CONTEXT restarts the flow while keeping the current context. + #[serde(rename = "invalid_response_action", skip_serializing_if = "Option::is_none")] + pub invalid_response_action: Option, +} + +impl FlowStageBindingRequest { + /// FlowStageBinding Serializer + pub fn new(target: uuid::Uuid, stage: uuid::Uuid, order: i32) -> FlowStageBindingRequest { + FlowStageBindingRequest { + target, + stage, + evaluate_on_plan: None, + re_evaluate_policies: None, + order, + policy_engine_mode: None, + invalid_response_action: None, + } + } +} diff --git a/src/models/footer_link.rs b/src/models/footer_link.rs new file mode 100644 index 0000000..55fcdda --- /dev/null +++ b/src/models/footer_link.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// FooterLink : Links returned in Config API +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct FooterLink { + #[serde(rename = "href", deserialize_with = "Option::deserialize")] + pub href: Option, + #[serde(rename = "name")] + pub name: String, +} + +impl FooterLink { + /// Links returned in Config API + pub fn new(href: Option, name: String) -> FooterLink { + FooterLink { href, name } + } +} diff --git a/src/models/generic_error.rs b/src/models/generic_error.rs new file mode 100644 index 0000000..d0eb3a2 --- /dev/null +++ b/src/models/generic_error.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// GenericError : Generic API Error +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GenericError { + #[serde(rename = "detail")] + pub detail: String, + #[serde(rename = "code", skip_serializing_if = "Option::is_none")] + pub code: Option, +} + +impl GenericError { + /// Generic API Error + pub fn new(detail: String) -> GenericError { + GenericError { detail, code: None } + } +} diff --git a/src/models/geo_ip_policy.rs b/src/models/geo_ip_policy.rs new file mode 100644 index 0000000..41fe6c4 --- /dev/null +++ b/src/models/geo_ip_policy.rs @@ -0,0 +1,74 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// GeoIpPolicy : GeoIP Policy Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GeoIpPolicy { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + #[serde(rename = "execution_logging", skip_serializing_if = "Option::is_none")] + pub execution_logging: Option, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + /// Return objects policy is bound to + #[serde(rename = "bound_to")] + pub bound_to: i32, + #[serde(rename = "asns", skip_serializing_if = "Option::is_none")] + pub asns: Option>, + #[serde(rename = "countries")] + pub countries: Vec, + #[serde(rename = "countries_obj")] + pub countries_obj: Vec, +} + +impl GeoIpPolicy { + /// GeoIP Policy Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + bound_to: i32, + countries: Vec, + countries_obj: Vec, + ) -> GeoIpPolicy { + GeoIpPolicy { + pk, + name, + execution_logging: None, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + bound_to, + asns: None, + countries, + countries_obj, + } + } +} diff --git a/src/models/geo_ip_policy_request.rs b/src/models/geo_ip_policy_request.rs new file mode 100644 index 0000000..e51fa3e --- /dev/null +++ b/src/models/geo_ip_policy_request.rs @@ -0,0 +1,38 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// GeoIpPolicyRequest : GeoIP Policy Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GeoIpPolicyRequest { + #[serde(rename = "name")] + pub name: String, + /// When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + #[serde(rename = "execution_logging", skip_serializing_if = "Option::is_none")] + pub execution_logging: Option, + #[serde(rename = "asns", skip_serializing_if = "Option::is_none")] + pub asns: Option>, + #[serde(rename = "countries")] + pub countries: Vec, +} + +impl GeoIpPolicyRequest { + /// GeoIP Policy Serializer + pub fn new(name: String, countries: Vec) -> GeoIpPolicyRequest { + GeoIpPolicyRequest { + name, + execution_logging: None, + asns: None, + countries, + } + } +} diff --git a/src/models/geoip_binding_enum.rs b/src/models/geoip_binding_enum.rs new file mode 100644 index 0000000..e93e386 --- /dev/null +++ b/src/models/geoip_binding_enum.rs @@ -0,0 +1,42 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum GeoipBindingEnum { + #[serde(rename = "no_binding")] + NoBinding, + #[serde(rename = "bind_continent")] + BindContinent, + #[serde(rename = "bind_continent_country")] + BindContinentCountry, + #[serde(rename = "bind_continent_country_city")] + BindContinentCountryCity, +} + +impl std::fmt::Display for GeoipBindingEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::NoBinding => write!(f, "no_binding"), + Self::BindContinent => write!(f, "bind_continent"), + Self::BindContinentCountry => write!(f, "bind_continent_country"), + Self::BindContinentCountryCity => write!(f, "bind_continent_country_city"), + } + } +} + +impl Default for GeoipBindingEnum { + fn default() -> GeoipBindingEnum { + Self::NoBinding + } +} diff --git a/src/models/google_workspace_provider.rs b/src/models/google_workspace_provider.rs new file mode 100644 index 0000000..20de636 --- /dev/null +++ b/src/models/google_workspace_provider.rs @@ -0,0 +1,103 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// GoogleWorkspaceProvider : GoogleWorkspaceProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GoogleWorkspaceProvider { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + /// Property mappings used for group creation/updating. + #[serde(rename = "property_mappings_group", skip_serializing_if = "Option::is_none")] + pub property_mappings_group: Option>, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Internal application name, used in URLs. + #[serde(rename = "assigned_backchannel_application_slug")] + pub assigned_backchannel_application_slug: String, + /// Application's display Name. + #[serde(rename = "assigned_backchannel_application_name")] + pub assigned_backchannel_application_name: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "delegated_subject")] + pub delegated_subject: String, + #[serde(rename = "credentials", deserialize_with = "Option::deserialize")] + pub credentials: Option, + #[serde(rename = "scopes", skip_serializing_if = "Option::is_none")] + pub scopes: Option, + #[serde(rename = "exclude_users_service_account", skip_serializing_if = "Option::is_none")] + pub exclude_users_service_account: Option, + #[serde( + rename = "filter_group", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub filter_group: Option>, + #[serde(rename = "user_delete_action", skip_serializing_if = "Option::is_none")] + pub user_delete_action: Option, + #[serde(rename = "group_delete_action", skip_serializing_if = "Option::is_none")] + pub group_delete_action: Option, + #[serde(rename = "default_group_email_domain")] + pub default_group_email_domain: String, +} + +impl GoogleWorkspaceProvider { + /// GoogleWorkspaceProvider Serializer + pub fn new( + pk: i32, + name: String, + component: String, + assigned_backchannel_application_slug: String, + assigned_backchannel_application_name: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + delegated_subject: String, + credentials: Option, + default_group_email_domain: String, + ) -> GoogleWorkspaceProvider { + GoogleWorkspaceProvider { + pk, + name, + property_mappings: None, + property_mappings_group: None, + component, + assigned_backchannel_application_slug, + assigned_backchannel_application_name, + verbose_name, + verbose_name_plural, + meta_model_name, + delegated_subject, + credentials, + scopes: None, + exclude_users_service_account: None, + filter_group: None, + user_delete_action: None, + group_delete_action: None, + default_group_email_domain, + } + } +} diff --git a/src/models/google_workspace_provider_group.rs b/src/models/google_workspace_provider_group.rs new file mode 100644 index 0000000..249d088 --- /dev/null +++ b/src/models/google_workspace_provider_group.rs @@ -0,0 +1,50 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// GoogleWorkspaceProviderGroup : GoogleWorkspaceProviderGroup Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GoogleWorkspaceProviderGroup { + #[serde(rename = "id")] + pub id: uuid::Uuid, + #[serde(rename = "google_id")] + pub google_id: String, + #[serde(rename = "group")] + pub group: uuid::Uuid, + #[serde(rename = "group_obj")] + pub group_obj: models::UserGroup, + #[serde(rename = "provider")] + pub provider: i32, + #[serde(rename = "attributes", deserialize_with = "Option::deserialize")] + pub attributes: Option, +} + +impl GoogleWorkspaceProviderGroup { + /// GoogleWorkspaceProviderGroup Serializer + pub fn new( + id: uuid::Uuid, + google_id: String, + group: uuid::Uuid, + group_obj: models::UserGroup, + provider: i32, + attributes: Option, + ) -> GoogleWorkspaceProviderGroup { + GoogleWorkspaceProviderGroup { + id, + google_id, + group, + group_obj, + provider, + attributes, + } + } +} diff --git a/src/models/google_workspace_provider_group_request.rs b/src/models/google_workspace_provider_group_request.rs new file mode 100644 index 0000000..f0af23d --- /dev/null +++ b/src/models/google_workspace_provider_group_request.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// GoogleWorkspaceProviderGroupRequest : GoogleWorkspaceProviderGroup Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GoogleWorkspaceProviderGroupRequest { + #[serde(rename = "google_id")] + pub google_id: String, + #[serde(rename = "group")] + pub group: uuid::Uuid, + #[serde(rename = "provider")] + pub provider: i32, +} + +impl GoogleWorkspaceProviderGroupRequest { + /// GoogleWorkspaceProviderGroup Serializer + pub fn new(google_id: String, group: uuid::Uuid, provider: i32) -> GoogleWorkspaceProviderGroupRequest { + GoogleWorkspaceProviderGroupRequest { + google_id, + group, + provider, + } + } +} diff --git a/src/models/google_workspace_provider_mapping.rs b/src/models/google_workspace_provider_mapping.rs new file mode 100644 index 0000000..a27011c --- /dev/null +++ b/src/models/google_workspace_provider_mapping.rs @@ -0,0 +1,67 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// GoogleWorkspaceProviderMapping : GoogleWorkspaceProviderMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GoogleWorkspaceProviderMapping { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, + /// Get object's component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, +} + +impl GoogleWorkspaceProviderMapping { + /// GoogleWorkspaceProviderMapping Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + expression: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> GoogleWorkspaceProviderMapping { + GoogleWorkspaceProviderMapping { + pk, + managed: None, + name, + expression, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + } + } +} diff --git a/src/models/google_workspace_provider_mapping_request.rs b/src/models/google_workspace_provider_mapping_request.rs new file mode 100644 index 0000000..ecc2e71 --- /dev/null +++ b/src/models/google_workspace_provider_mapping_request.rs @@ -0,0 +1,40 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// GoogleWorkspaceProviderMappingRequest : GoogleWorkspaceProviderMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GoogleWorkspaceProviderMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, +} + +impl GoogleWorkspaceProviderMappingRequest { + /// GoogleWorkspaceProviderMapping Serializer + pub fn new(name: String, expression: String) -> GoogleWorkspaceProviderMappingRequest { + GoogleWorkspaceProviderMappingRequest { + managed: None, + name, + expression, + } + } +} diff --git a/src/models/google_workspace_provider_request.rs b/src/models/google_workspace_provider_request.rs new file mode 100644 index 0000000..dbe4a2f --- /dev/null +++ b/src/models/google_workspace_provider_request.rs @@ -0,0 +1,69 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// GoogleWorkspaceProviderRequest : GoogleWorkspaceProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GoogleWorkspaceProviderRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + /// Property mappings used for group creation/updating. + #[serde(rename = "property_mappings_group", skip_serializing_if = "Option::is_none")] + pub property_mappings_group: Option>, + #[serde(rename = "delegated_subject")] + pub delegated_subject: String, + #[serde(rename = "credentials", deserialize_with = "Option::deserialize")] + pub credentials: Option, + #[serde(rename = "scopes", skip_serializing_if = "Option::is_none")] + pub scopes: Option, + #[serde(rename = "exclude_users_service_account", skip_serializing_if = "Option::is_none")] + pub exclude_users_service_account: Option, + #[serde( + rename = "filter_group", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub filter_group: Option>, + #[serde(rename = "user_delete_action", skip_serializing_if = "Option::is_none")] + pub user_delete_action: Option, + #[serde(rename = "group_delete_action", skip_serializing_if = "Option::is_none")] + pub group_delete_action: Option, + #[serde(rename = "default_group_email_domain")] + pub default_group_email_domain: String, +} + +impl GoogleWorkspaceProviderRequest { + /// GoogleWorkspaceProvider Serializer + pub fn new( + name: String, + delegated_subject: String, + credentials: Option, + default_group_email_domain: String, + ) -> GoogleWorkspaceProviderRequest { + GoogleWorkspaceProviderRequest { + name, + property_mappings: None, + property_mappings_group: None, + delegated_subject, + credentials, + scopes: None, + exclude_users_service_account: None, + filter_group: None, + user_delete_action: None, + group_delete_action: None, + default_group_email_domain, + } + } +} diff --git a/src/models/google_workspace_provider_user.rs b/src/models/google_workspace_provider_user.rs new file mode 100644 index 0000000..56b294d --- /dev/null +++ b/src/models/google_workspace_provider_user.rs @@ -0,0 +1,50 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// GoogleWorkspaceProviderUser : GoogleWorkspaceProviderUser Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GoogleWorkspaceProviderUser { + #[serde(rename = "id")] + pub id: uuid::Uuid, + #[serde(rename = "google_id")] + pub google_id: String, + #[serde(rename = "user")] + pub user: i32, + #[serde(rename = "user_obj")] + pub user_obj: models::GroupMember, + #[serde(rename = "provider")] + pub provider: i32, + #[serde(rename = "attributes", deserialize_with = "Option::deserialize")] + pub attributes: Option, +} + +impl GoogleWorkspaceProviderUser { + /// GoogleWorkspaceProviderUser Serializer + pub fn new( + id: uuid::Uuid, + google_id: String, + user: i32, + user_obj: models::GroupMember, + provider: i32, + attributes: Option, + ) -> GoogleWorkspaceProviderUser { + GoogleWorkspaceProviderUser { + id, + google_id, + user, + user_obj, + provider, + attributes, + } + } +} diff --git a/src/models/google_workspace_provider_user_request.rs b/src/models/google_workspace_provider_user_request.rs new file mode 100644 index 0000000..9d1cc34 --- /dev/null +++ b/src/models/google_workspace_provider_user_request.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// GoogleWorkspaceProviderUserRequest : GoogleWorkspaceProviderUser Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GoogleWorkspaceProviderUserRequest { + #[serde(rename = "google_id")] + pub google_id: String, + #[serde(rename = "user")] + pub user: i32, + #[serde(rename = "provider")] + pub provider: i32, +} + +impl GoogleWorkspaceProviderUserRequest { + /// GoogleWorkspaceProviderUser Serializer + pub fn new(google_id: String, user: i32, provider: i32) -> GoogleWorkspaceProviderUserRequest { + GoogleWorkspaceProviderUserRequest { + google_id, + user, + provider, + } + } +} diff --git a/src/models/group.rs b/src/models/group.rs new file mode 100644 index 0000000..9d50105 --- /dev/null +++ b/src/models/group.rs @@ -0,0 +1,71 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Group : Group Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Group { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "num_pk")] + pub num_pk: i32, + #[serde(rename = "name")] + pub name: String, + /// Users added to this group will be superusers. + #[serde(rename = "is_superuser", skip_serializing_if = "Option::is_none")] + pub is_superuser: Option, + #[serde( + rename = "parent", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub parent: Option>, + #[serde(rename = "parent_name", deserialize_with = "Option::deserialize")] + pub parent_name: Option, + #[serde(rename = "users", skip_serializing_if = "Option::is_none")] + pub users: Option>, + #[serde(rename = "users_obj", deserialize_with = "Option::deserialize")] + pub users_obj: Option>, + #[serde(rename = "attributes", skip_serializing_if = "Option::is_none")] + pub attributes: Option>, + #[serde(rename = "roles", skip_serializing_if = "Option::is_none")] + pub roles: Option>, + #[serde(rename = "roles_obj")] + pub roles_obj: Vec, +} + +impl Group { + /// Group Serializer + pub fn new( + pk: uuid::Uuid, + num_pk: i32, + name: String, + parent_name: Option, + users_obj: Option>, + roles_obj: Vec, + ) -> Group { + Group { + pk, + num_pk, + name, + is_superuser: None, + parent: None, + parent_name, + users: None, + users_obj, + attributes: None, + roles: None, + roles_obj, + } + } +} diff --git a/src/models/group_matching_mode_enum.rs b/src/models/group_matching_mode_enum.rs new file mode 100644 index 0000000..e6f8a7a --- /dev/null +++ b/src/models/group_matching_mode_enum.rs @@ -0,0 +1,39 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum GroupMatchingModeEnum { + #[serde(rename = "identifier")] + Identifier, + #[serde(rename = "name_link")] + NameLink, + #[serde(rename = "name_deny")] + NameDeny, +} + +impl std::fmt::Display for GroupMatchingModeEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Identifier => write!(f, "identifier"), + Self::NameLink => write!(f, "name_link"), + Self::NameDeny => write!(f, "name_deny"), + } + } +} + +impl Default for GroupMatchingModeEnum { + fn default() -> GroupMatchingModeEnum { + Self::Identifier + } +} diff --git a/src/models/group_member.rs b/src/models/group_member.rs new file mode 100644 index 0000000..1b45544 --- /dev/null +++ b/src/models/group_member.rs @@ -0,0 +1,57 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// GroupMember : Stripped down user serializer to show relevant users for groups +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GroupMember { + #[serde(rename = "pk")] + pub pk: i32, + /// Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. + #[serde(rename = "username")] + pub username: String, + /// User's display name. + #[serde(rename = "name")] + pub name: String, + /// Designates whether this user should be treated as active. Unselect this instead of deleting accounts. + #[serde(rename = "is_active", skip_serializing_if = "Option::is_none")] + pub is_active: Option, + #[serde( + rename = "last_login", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub last_login: Option>, + #[serde(rename = "email", skip_serializing_if = "Option::is_none")] + pub email: Option, + #[serde(rename = "attributes", skip_serializing_if = "Option::is_none")] + pub attributes: Option>, + #[serde(rename = "uid")] + pub uid: String, +} + +impl GroupMember { + /// Stripped down user serializer to show relevant users for groups + pub fn new(pk: i32, username: String, name: String, uid: String) -> GroupMember { + GroupMember { + pk, + username, + name, + is_active: None, + last_login: None, + email: None, + attributes: None, + uid, + } + } +} diff --git a/src/models/group_member_request.rs b/src/models/group_member_request.rs new file mode 100644 index 0000000..c89dcd9 --- /dev/null +++ b/src/models/group_member_request.rs @@ -0,0 +1,51 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// GroupMemberRequest : Stripped down user serializer to show relevant users for groups +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GroupMemberRequest { + /// Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. + #[serde(rename = "username")] + pub username: String, + /// User's display name. + #[serde(rename = "name")] + pub name: String, + /// Designates whether this user should be treated as active. Unselect this instead of deleting accounts. + #[serde(rename = "is_active", skip_serializing_if = "Option::is_none")] + pub is_active: Option, + #[serde( + rename = "last_login", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub last_login: Option>, + #[serde(rename = "email", skip_serializing_if = "Option::is_none")] + pub email: Option, + #[serde(rename = "attributes", skip_serializing_if = "Option::is_none")] + pub attributes: Option>, +} + +impl GroupMemberRequest { + /// Stripped down user serializer to show relevant users for groups + pub fn new(username: String, name: String) -> GroupMemberRequest { + GroupMemberRequest { + username, + name, + is_active: None, + last_login: None, + email: None, + attributes: None, + } + } +} diff --git a/src/models/group_o_auth_source_connection.rs b/src/models/group_o_auth_source_connection.rs new file mode 100644 index 0000000..9393c37 --- /dev/null +++ b/src/models/group_o_auth_source_connection.rs @@ -0,0 +1,46 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// GroupOAuthSourceConnection : OAuth Group-Source connection Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GroupOAuthSourceConnection { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "group")] + pub group: uuid::Uuid, + #[serde(rename = "source")] + pub source: models::Source, + #[serde(rename = "identifier")] + pub identifier: String, + #[serde(rename = "created")] + pub created: String, +} + +impl GroupOAuthSourceConnection { + /// OAuth Group-Source connection Serializer + pub fn new( + pk: i32, + group: uuid::Uuid, + source: models::Source, + identifier: String, + created: String, + ) -> GroupOAuthSourceConnection { + GroupOAuthSourceConnection { + pk, + group, + source, + identifier, + created, + } + } +} diff --git a/src/models/group_plex_source_connection.rs b/src/models/group_plex_source_connection.rs new file mode 100644 index 0000000..b2c0459 --- /dev/null +++ b/src/models/group_plex_source_connection.rs @@ -0,0 +1,46 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// GroupPlexSourceConnection : Plex Group-Source connection Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GroupPlexSourceConnection { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "group")] + pub group: uuid::Uuid, + #[serde(rename = "source")] + pub source: models::Source, + #[serde(rename = "identifier")] + pub identifier: String, + #[serde(rename = "created")] + pub created: String, +} + +impl GroupPlexSourceConnection { + /// Plex Group-Source connection Serializer + pub fn new( + pk: i32, + group: uuid::Uuid, + source: models::Source, + identifier: String, + created: String, + ) -> GroupPlexSourceConnection { + GroupPlexSourceConnection { + pk, + group, + source, + identifier, + created, + } + } +} diff --git a/src/models/group_request.rs b/src/models/group_request.rs new file mode 100644 index 0000000..13bd465 --- /dev/null +++ b/src/models/group_request.rs @@ -0,0 +1,49 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// GroupRequest : Group Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GroupRequest { + #[serde(rename = "name")] + pub name: String, + /// Users added to this group will be superusers. + #[serde(rename = "is_superuser", skip_serializing_if = "Option::is_none")] + pub is_superuser: Option, + #[serde( + rename = "parent", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub parent: Option>, + #[serde(rename = "users", skip_serializing_if = "Option::is_none")] + pub users: Option>, + #[serde(rename = "attributes", skip_serializing_if = "Option::is_none")] + pub attributes: Option>, + #[serde(rename = "roles", skip_serializing_if = "Option::is_none")] + pub roles: Option>, +} + +impl GroupRequest { + /// Group Serializer + pub fn new(name: String) -> GroupRequest { + GroupRequest { + name, + is_superuser: None, + parent: None, + users: None, + attributes: None, + roles: None, + } + } +} diff --git a/src/models/group_saml_source_connection.rs b/src/models/group_saml_source_connection.rs new file mode 100644 index 0000000..9deea7e --- /dev/null +++ b/src/models/group_saml_source_connection.rs @@ -0,0 +1,46 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// GroupSamlSourceConnection : OAuth Group-Source connection Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GroupSamlSourceConnection { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "group")] + pub group: uuid::Uuid, + #[serde(rename = "source")] + pub source: models::Source, + #[serde(rename = "identifier")] + pub identifier: String, + #[serde(rename = "created")] + pub created: String, +} + +impl GroupSamlSourceConnection { + /// OAuth Group-Source connection Serializer + pub fn new( + pk: i32, + group: uuid::Uuid, + source: models::Source, + identifier: String, + created: String, + ) -> GroupSamlSourceConnection { + GroupSamlSourceConnection { + pk, + group, + source, + identifier, + created, + } + } +} diff --git a/src/models/identification_challenge.rs b/src/models/identification_challenge.rs new file mode 100644 index 0000000..27bdd27 --- /dev/null +++ b/src/models/identification_challenge.rs @@ -0,0 +1,73 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// IdentificationChallenge : Identification challenges with all UI elements +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct IdentificationChallenge { + #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")] + pub flow_info: Option, + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")] + pub response_errors: Option>>, + #[serde(rename = "user_fields", deserialize_with = "Option::deserialize")] + pub user_fields: Option>, + #[serde(rename = "password_fields")] + pub password_fields: bool, + #[serde(rename = "allow_show_password", skip_serializing_if = "Option::is_none")] + pub allow_show_password: Option, + #[serde(rename = "application_pre", skip_serializing_if = "Option::is_none")] + pub application_pre: Option, + #[serde(rename = "flow_designation")] + pub flow_designation: models::FlowDesignationEnum, + #[serde(rename = "enroll_url", skip_serializing_if = "Option::is_none")] + pub enroll_url: Option, + #[serde(rename = "recovery_url", skip_serializing_if = "Option::is_none")] + pub recovery_url: Option, + #[serde(rename = "passwordless_url", skip_serializing_if = "Option::is_none")] + pub passwordless_url: Option, + #[serde(rename = "primary_action")] + pub primary_action: String, + #[serde(rename = "sources", skip_serializing_if = "Option::is_none")] + pub sources: Option>, + #[serde(rename = "show_source_labels")] + pub show_source_labels: bool, +} + +impl IdentificationChallenge { + /// Identification challenges with all UI elements + pub fn new( + user_fields: Option>, + password_fields: bool, + flow_designation: models::FlowDesignationEnum, + primary_action: String, + show_source_labels: bool, + ) -> IdentificationChallenge { + IdentificationChallenge { + flow_info: None, + component: None, + response_errors: None, + user_fields, + password_fields, + allow_show_password: None, + application_pre: None, + flow_designation, + enroll_url: None, + recovery_url: None, + passwordless_url: None, + primary_action, + sources: None, + show_source_labels, + } + } +} diff --git a/src/models/identification_challenge_response_request.rs b/src/models/identification_challenge_response_request.rs new file mode 100644 index 0000000..ee740f0 --- /dev/null +++ b/src/models/identification_challenge_response_request.rs @@ -0,0 +1,39 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// IdentificationChallengeResponseRequest : Identification challenge +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct IdentificationChallengeResponseRequest { + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "uid_field")] + pub uid_field: String, + #[serde( + rename = "password", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub password: Option>, +} + +impl IdentificationChallengeResponseRequest { + /// Identification challenge + pub fn new(uid_field: String) -> IdentificationChallengeResponseRequest { + IdentificationChallengeResponseRequest { + component: None, + uid_field, + password: None, + } + } +} diff --git a/src/models/identification_stage.rs b/src/models/identification_stage.rs new file mode 100644 index 0000000..d87a045 --- /dev/null +++ b/src/models/identification_stage.rs @@ -0,0 +1,116 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// IdentificationStage : IdentificationStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct IdentificationStage { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Get object type so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Fields of the user object to match against. (Hold shift to select multiple options) + #[serde(rename = "user_fields", skip_serializing_if = "Option::is_none")] + pub user_fields: Option>, + /// When set, shows a password field, instead of showing the password field as separate step. + #[serde( + rename = "password_stage", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub password_stage: Option>, + /// When enabled, user fields are matched regardless of their casing. + #[serde(rename = "case_insensitive_matching", skip_serializing_if = "Option::is_none")] + pub case_insensitive_matching: Option, + /// When a valid username/email has been entered, and this option is enabled, the user's username and avatar will be shown. Otherwise, the text that the user entered will be shown + #[serde(rename = "show_matched_user", skip_serializing_if = "Option::is_none")] + pub show_matched_user: Option, + /// Optional enrollment flow, which is linked at the bottom of the page. + #[serde( + rename = "enrollment_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub enrollment_flow: Option>, + /// Optional recovery flow, which is linked at the bottom of the page. + #[serde( + rename = "recovery_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub recovery_flow: Option>, + /// Optional passwordless flow, which is linked at the bottom of the page. + #[serde( + rename = "passwordless_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub passwordless_flow: Option>, + /// Specify which sources should be shown. + #[serde(rename = "sources", skip_serializing_if = "Option::is_none")] + pub sources: Option>, + #[serde(rename = "show_source_labels", skip_serializing_if = "Option::is_none")] + pub show_source_labels: Option, + /// When enabled, the stage will succeed and continue even when incorrect user info is entered. + #[serde(rename = "pretend_user_exists", skip_serializing_if = "Option::is_none")] + pub pretend_user_exists: Option, +} + +impl IdentificationStage { + /// IdentificationStage Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> IdentificationStage { + IdentificationStage { + pk, + name, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + flow_set: None, + user_fields: None, + password_stage: None, + case_insensitive_matching: None, + show_matched_user: None, + enrollment_flow: None, + recovery_flow: None, + passwordless_flow: None, + sources: None, + show_source_labels: None, + pretend_user_exists: None, + } + } +} diff --git a/src/models/identification_stage_request.rs b/src/models/identification_stage_request.rs new file mode 100644 index 0000000..068d2ee --- /dev/null +++ b/src/models/identification_stage_request.rs @@ -0,0 +1,90 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// IdentificationStageRequest : IdentificationStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct IdentificationStageRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Fields of the user object to match against. (Hold shift to select multiple options) + #[serde(rename = "user_fields", skip_serializing_if = "Option::is_none")] + pub user_fields: Option>, + /// When set, shows a password field, instead of showing the password field as separate step. + #[serde( + rename = "password_stage", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub password_stage: Option>, + /// When enabled, user fields are matched regardless of their casing. + #[serde(rename = "case_insensitive_matching", skip_serializing_if = "Option::is_none")] + pub case_insensitive_matching: Option, + /// When a valid username/email has been entered, and this option is enabled, the user's username and avatar will be shown. Otherwise, the text that the user entered will be shown + #[serde(rename = "show_matched_user", skip_serializing_if = "Option::is_none")] + pub show_matched_user: Option, + /// Optional enrollment flow, which is linked at the bottom of the page. + #[serde( + rename = "enrollment_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub enrollment_flow: Option>, + /// Optional recovery flow, which is linked at the bottom of the page. + #[serde( + rename = "recovery_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub recovery_flow: Option>, + /// Optional passwordless flow, which is linked at the bottom of the page. + #[serde( + rename = "passwordless_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub passwordless_flow: Option>, + /// Specify which sources should be shown. + #[serde(rename = "sources", skip_serializing_if = "Option::is_none")] + pub sources: Option>, + #[serde(rename = "show_source_labels", skip_serializing_if = "Option::is_none")] + pub show_source_labels: Option, + /// When enabled, the stage will succeed and continue even when incorrect user info is entered. + #[serde(rename = "pretend_user_exists", skip_serializing_if = "Option::is_none")] + pub pretend_user_exists: Option, +} + +impl IdentificationStageRequest { + /// IdentificationStage Serializer + pub fn new(name: String) -> IdentificationStageRequest { + IdentificationStageRequest { + name, + flow_set: None, + user_fields: None, + password_stage: None, + case_insensitive_matching: None, + show_matched_user: None, + enrollment_flow: None, + recovery_flow: None, + passwordless_flow: None, + sources: None, + show_source_labels: None, + pretend_user_exists: None, + } + } +} diff --git a/src/models/install_id.rs b/src/models/install_id.rs new file mode 100644 index 0000000..048a7c1 --- /dev/null +++ b/src/models/install_id.rs @@ -0,0 +1,24 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct InstallId { + #[serde(rename = "install_id")] + pub install_id: String, +} + +impl InstallId { + pub fn new(install_id: String) -> InstallId { + InstallId { install_id } + } +} diff --git a/src/models/intent_enum.rs b/src/models/intent_enum.rs new file mode 100644 index 0000000..3f2905f --- /dev/null +++ b/src/models/intent_enum.rs @@ -0,0 +1,42 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum IntentEnum { + #[serde(rename = "verification")] + Verification, + #[serde(rename = "api")] + Api, + #[serde(rename = "recovery")] + Recovery, + #[serde(rename = "app_password")] + AppPassword, +} + +impl std::fmt::Display for IntentEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Verification => write!(f, "verification"), + Self::Api => write!(f, "api"), + Self::Recovery => write!(f, "recovery"), + Self::AppPassword => write!(f, "app_password"), + } + } +} + +impl Default for IntentEnum { + fn default() -> IntentEnum { + Self::Verification + } +} diff --git a/src/models/invalid_response_action_enum.rs b/src/models/invalid_response_action_enum.rs new file mode 100644 index 0000000..89dbecc --- /dev/null +++ b/src/models/invalid_response_action_enum.rs @@ -0,0 +1,39 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum InvalidResponseActionEnum { + #[serde(rename = "retry")] + Retry, + #[serde(rename = "restart")] + Restart, + #[serde(rename = "restart_with_context")] + RestartWithContext, +} + +impl std::fmt::Display for InvalidResponseActionEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Retry => write!(f, "retry"), + Self::Restart => write!(f, "restart"), + Self::RestartWithContext => write!(f, "restart_with_context"), + } + } +} + +impl Default for InvalidResponseActionEnum { + fn default() -> InvalidResponseActionEnum { + Self::Retry + } +} diff --git a/src/models/invitation.rs b/src/models/invitation.rs new file mode 100644 index 0000000..fcf37bc --- /dev/null +++ b/src/models/invitation.rs @@ -0,0 +1,61 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Invitation : Invitation Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Invitation { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + #[serde( + rename = "expires", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub expires: Option>, + #[serde(rename = "fixed_data", skip_serializing_if = "Option::is_none")] + pub fixed_data: Option>, + #[serde(rename = "created_by")] + pub created_by: models::GroupMember, + /// When enabled, the invitation will be deleted after usage. + #[serde(rename = "single_use", skip_serializing_if = "Option::is_none")] + pub single_use: Option, + /// When set, only the configured flow can use this invitation. + #[serde( + rename = "flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub flow: Option>, + #[serde(rename = "flow_obj")] + pub flow_obj: models::Flow, +} + +impl Invitation { + /// Invitation Serializer + pub fn new(pk: uuid::Uuid, name: String, created_by: models::GroupMember, flow_obj: models::Flow) -> Invitation { + Invitation { + pk, + name, + expires: None, + fixed_data: None, + created_by, + single_use: None, + flow: None, + flow_obj, + } + } +} diff --git a/src/models/invitation_request.rs b/src/models/invitation_request.rs new file mode 100644 index 0000000..446344c --- /dev/null +++ b/src/models/invitation_request.rs @@ -0,0 +1,52 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// InvitationRequest : Invitation Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct InvitationRequest { + #[serde(rename = "name")] + pub name: String, + #[serde( + rename = "expires", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub expires: Option>, + #[serde(rename = "fixed_data", skip_serializing_if = "Option::is_none")] + pub fixed_data: Option>, + /// When enabled, the invitation will be deleted after usage. + #[serde(rename = "single_use", skip_serializing_if = "Option::is_none")] + pub single_use: Option, + /// When set, only the configured flow can use this invitation. + #[serde( + rename = "flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub flow: Option>, +} + +impl InvitationRequest { + /// Invitation Serializer + pub fn new(name: String) -> InvitationRequest { + InvitationRequest { + name, + expires: None, + fixed_data: None, + single_use: None, + flow: None, + } + } +} diff --git a/src/models/invitation_stage.rs b/src/models/invitation_stage.rs new file mode 100644 index 0000000..88b65cc --- /dev/null +++ b/src/models/invitation_stage.rs @@ -0,0 +1,61 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// InvitationStage : InvitationStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct InvitationStage { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Get object type so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// If this flag is set, this Stage will jump to the next Stage when no Invitation is given. By default this Stage will cancel the Flow when no invitation is given. + #[serde(rename = "continue_flow_without_invitation", skip_serializing_if = "Option::is_none")] + pub continue_flow_without_invitation: Option, +} + +impl InvitationStage { + /// InvitationStage Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> InvitationStage { + InvitationStage { + pk, + name, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + flow_set: None, + continue_flow_without_invitation: None, + } + } +} diff --git a/src/models/invitation_stage_request.rs b/src/models/invitation_stage_request.rs new file mode 100644 index 0000000..d3bb554 --- /dev/null +++ b/src/models/invitation_stage_request.rs @@ -0,0 +1,35 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// InvitationStageRequest : InvitationStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct InvitationStageRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// If this flag is set, this Stage will jump to the next Stage when no Invitation is given. By default this Stage will cancel the Flow when no invitation is given. + #[serde(rename = "continue_flow_without_invitation", skip_serializing_if = "Option::is_none")] + pub continue_flow_without_invitation: Option, +} + +impl InvitationStageRequest { + /// InvitationStage Serializer + pub fn new(name: String) -> InvitationStageRequest { + InvitationStageRequest { + name, + flow_set: None, + continue_flow_without_invitation: None, + } + } +} diff --git a/src/models/issuer_mode_enum.rs b/src/models/issuer_mode_enum.rs new file mode 100644 index 0000000..3e7115d --- /dev/null +++ b/src/models/issuer_mode_enum.rs @@ -0,0 +1,36 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum IssuerModeEnum { + #[serde(rename = "global")] + Global, + #[serde(rename = "per_provider")] + PerProvider, +} + +impl std::fmt::Display for IssuerModeEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Global => write!(f, "global"), + Self::PerProvider => write!(f, "per_provider"), + } + } +} + +impl Default for IssuerModeEnum { + fn default() -> IssuerModeEnum { + Self::Global + } +} diff --git a/src/models/kubernetes_service_connection.rs b/src/models/kubernetes_service_connection.rs new file mode 100644 index 0000000..1f48319 --- /dev/null +++ b/src/models/kubernetes_service_connection.rs @@ -0,0 +1,70 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// KubernetesServiceConnection : KubernetesServiceConnection Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct KubernetesServiceConnection { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// If enabled, use the local connection. Required Docker socket/Kubernetes Integration + #[serde(rename = "local", skip_serializing_if = "Option::is_none")] + pub local: Option, + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + /// Paste your kubeconfig here. authentik will automatically use the currently selected context. + #[serde( + rename = "kubeconfig", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub kubeconfig: Option>, + /// Verify SSL Certificates of the Kubernetes API endpoint + #[serde(rename = "verify_ssl", skip_serializing_if = "Option::is_none")] + pub verify_ssl: Option, +} + +impl KubernetesServiceConnection { + /// KubernetesServiceConnection Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> KubernetesServiceConnection { + KubernetesServiceConnection { + pk, + name, + local: None, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + kubeconfig: None, + verify_ssl: None, + } + } +} diff --git a/src/models/kubernetes_service_connection_request.rs b/src/models/kubernetes_service_connection_request.rs new file mode 100644 index 0000000..e768a2a --- /dev/null +++ b/src/models/kubernetes_service_connection_request.rs @@ -0,0 +1,45 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// KubernetesServiceConnectionRequest : KubernetesServiceConnection Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct KubernetesServiceConnectionRequest { + #[serde(rename = "name")] + pub name: String, + /// If enabled, use the local connection. Required Docker socket/Kubernetes Integration + #[serde(rename = "local", skip_serializing_if = "Option::is_none")] + pub local: Option, + /// Paste your kubeconfig here. authentik will automatically use the currently selected context. + #[serde( + rename = "kubeconfig", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub kubeconfig: Option>, + /// Verify SSL Certificates of the Kubernetes API endpoint + #[serde(rename = "verify_ssl", skip_serializing_if = "Option::is_none")] + pub verify_ssl: Option, +} + +impl KubernetesServiceConnectionRequest { + /// KubernetesServiceConnection Serializer + pub fn new(name: String) -> KubernetesServiceConnectionRequest { + KubernetesServiceConnectionRequest { + name, + local: None, + kubeconfig: None, + verify_ssl: None, + } + } +} diff --git a/src/models/ldap_check_access.rs b/src/models/ldap_check_access.rs new file mode 100644 index 0000000..bd25ca9 --- /dev/null +++ b/src/models/ldap_check_access.rs @@ -0,0 +1,31 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// LdapCheckAccess : Base serializer class which doesn't implement create/update methods +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LdapCheckAccess { + #[serde(rename = "has_search_permission", skip_serializing_if = "Option::is_none")] + pub has_search_permission: Option, + #[serde(rename = "access")] + pub access: models::PolicyTestResult, +} + +impl LdapCheckAccess { + /// Base serializer class which doesn't implement create/update methods + pub fn new(access: models::PolicyTestResult) -> LdapCheckAccess { + LdapCheckAccess { + has_search_permission: None, + access, + } + } +} diff --git a/src/models/ldap_debug.rs b/src/models/ldap_debug.rs new file mode 100644 index 0000000..f681e0d --- /dev/null +++ b/src/models/ldap_debug.rs @@ -0,0 +1,36 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LdapDebug { + #[serde(rename = "user")] + pub user: Vec>, + #[serde(rename = "group")] + pub group: Vec>, + #[serde(rename = "membership")] + pub membership: Vec>, +} + +impl LdapDebug { + pub fn new( + user: Vec>, + group: Vec>, + membership: Vec>, + ) -> LdapDebug { + LdapDebug { + user, + group, + membership, + } + } +} diff --git a/src/models/ldap_outpost_config.rs b/src/models/ldap_outpost_config.rs new file mode 100644 index 0000000..4222130 --- /dev/null +++ b/src/models/ldap_outpost_config.rs @@ -0,0 +1,71 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// LdapOutpostConfig : LDAPProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LdapOutpostConfig { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "name")] + pub name: String, + /// DN under which objects are accessible. + #[serde(rename = "base_dn", skip_serializing_if = "Option::is_none")] + pub base_dn: Option, + #[serde(rename = "bind_flow_slug")] + pub bind_flow_slug: String, + /// Prioritise backchannel slug over direct application slug + #[serde(rename = "application_slug")] + pub application_slug: String, + #[serde( + rename = "certificate", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub certificate: Option>, + #[serde(rename = "tls_server_name", skip_serializing_if = "Option::is_none")] + pub tls_server_name: Option, + /// The start for uidNumbers, this number is added to the user.pk to make sure that the numbers aren't too low for POSIX users. Default is 2000 to ensure that we don't collide with local users uidNumber + #[serde(rename = "uid_start_number", skip_serializing_if = "Option::is_none")] + pub uid_start_number: Option, + /// The start for gidNumbers, this number is added to a number generated from the group.pk to make sure that the numbers aren't too low for POSIX groups. Default is 4000 to ensure that we don't collide with local groups or users primary groups gidNumber + #[serde(rename = "gid_start_number", skip_serializing_if = "Option::is_none")] + pub gid_start_number: Option, + #[serde(rename = "search_mode", skip_serializing_if = "Option::is_none")] + pub search_mode: Option, + #[serde(rename = "bind_mode", skip_serializing_if = "Option::is_none")] + pub bind_mode: Option, + /// When enabled, code-based multi-factor authentication can be used by appending a semicolon and the TOTP code to the password. This should only be enabled if all users that will bind to this provider have a TOTP device configured, as otherwise a password may incorrectly be rejected if it contains a semicolon. + #[serde(rename = "mfa_support", skip_serializing_if = "Option::is_none")] + pub mfa_support: Option, +} + +impl LdapOutpostConfig { + /// LDAPProvider Serializer + pub fn new(pk: i32, name: String, bind_flow_slug: String, application_slug: String) -> LdapOutpostConfig { + LdapOutpostConfig { + pk, + name, + base_dn: None, + bind_flow_slug, + application_slug, + certificate: None, + tls_server_name: None, + uid_start_number: None, + gid_start_number: None, + search_mode: None, + bind_mode: None, + mfa_support: None, + } + } +} diff --git a/src/models/ldap_provider.rs b/src/models/ldap_provider.rs new file mode 100644 index 0000000..7317ffa --- /dev/null +++ b/src/models/ldap_provider.rs @@ -0,0 +1,128 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// LdapProvider : LDAPProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LdapProvider { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "name")] + pub name: String, + /// Flow used for authentication when the associated application is accessed by an un-authenticated user. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow used when authorizing this provider. + #[serde(rename = "authorization_flow")] + pub authorization_flow: uuid::Uuid, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Internal application name, used in URLs. + #[serde(rename = "assigned_application_slug")] + pub assigned_application_slug: String, + /// Application's display Name. + #[serde(rename = "assigned_application_name")] + pub assigned_application_name: String, + /// Internal application name, used in URLs. + #[serde(rename = "assigned_backchannel_application_slug")] + pub assigned_backchannel_application_slug: String, + /// Application's display Name. + #[serde(rename = "assigned_backchannel_application_name")] + pub assigned_backchannel_application_name: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + /// DN under which objects are accessible. + #[serde(rename = "base_dn", skip_serializing_if = "Option::is_none")] + pub base_dn: Option, + #[serde( + rename = "certificate", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub certificate: Option>, + #[serde(rename = "tls_server_name", skip_serializing_if = "Option::is_none")] + pub tls_server_name: Option, + /// The start for uidNumbers, this number is added to the user.pk to make sure that the numbers aren't too low for POSIX users. Default is 2000 to ensure that we don't collide with local users uidNumber + #[serde(rename = "uid_start_number", skip_serializing_if = "Option::is_none")] + pub uid_start_number: Option, + /// The start for gidNumbers, this number is added to a number generated from the group.pk to make sure that the numbers aren't too low for POSIX groups. Default is 4000 to ensure that we don't collide with local groups or users primary groups gidNumber + #[serde(rename = "gid_start_number", skip_serializing_if = "Option::is_none")] + pub gid_start_number: Option, + #[serde(rename = "outpost_set")] + pub outpost_set: Vec, + #[serde(rename = "search_mode", skip_serializing_if = "Option::is_none")] + pub search_mode: Option, + #[serde(rename = "bind_mode", skip_serializing_if = "Option::is_none")] + pub bind_mode: Option, + /// When enabled, code-based multi-factor authentication can be used by appending a semicolon and the TOTP code to the password. This should only be enabled if all users that will bind to this provider have a TOTP device configured, as otherwise a password may incorrectly be rejected if it contains a semicolon. + #[serde(rename = "mfa_support", skip_serializing_if = "Option::is_none")] + pub mfa_support: Option, +} + +impl LdapProvider { + /// LDAPProvider Serializer + pub fn new( + pk: i32, + name: String, + authorization_flow: uuid::Uuid, + component: String, + assigned_application_slug: String, + assigned_application_name: String, + assigned_backchannel_application_slug: String, + assigned_backchannel_application_name: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + outpost_set: Vec, + ) -> LdapProvider { + LdapProvider { + pk, + name, + authentication_flow: None, + authorization_flow, + property_mappings: None, + component, + assigned_application_slug, + assigned_application_name, + assigned_backchannel_application_slug, + assigned_backchannel_application_name, + verbose_name, + verbose_name_plural, + meta_model_name, + base_dn: None, + certificate: None, + tls_server_name: None, + uid_start_number: None, + gid_start_number: None, + outpost_set, + search_mode: None, + bind_mode: None, + mfa_support: None, + } + } +} diff --git a/src/models/ldap_provider_request.rs b/src/models/ldap_provider_request.rs new file mode 100644 index 0000000..0f4ba6e --- /dev/null +++ b/src/models/ldap_provider_request.rs @@ -0,0 +1,77 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// LdapProviderRequest : LDAPProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LdapProviderRequest { + #[serde(rename = "name")] + pub name: String, + /// Flow used for authentication when the associated application is accessed by an un-authenticated user. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow used when authorizing this provider. + #[serde(rename = "authorization_flow")] + pub authorization_flow: uuid::Uuid, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + /// DN under which objects are accessible. + #[serde(rename = "base_dn", skip_serializing_if = "Option::is_none")] + pub base_dn: Option, + #[serde( + rename = "certificate", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub certificate: Option>, + #[serde(rename = "tls_server_name", skip_serializing_if = "Option::is_none")] + pub tls_server_name: Option, + /// The start for uidNumbers, this number is added to the user.pk to make sure that the numbers aren't too low for POSIX users. Default is 2000 to ensure that we don't collide with local users uidNumber + #[serde(rename = "uid_start_number", skip_serializing_if = "Option::is_none")] + pub uid_start_number: Option, + /// The start for gidNumbers, this number is added to a number generated from the group.pk to make sure that the numbers aren't too low for POSIX groups. Default is 4000 to ensure that we don't collide with local groups or users primary groups gidNumber + #[serde(rename = "gid_start_number", skip_serializing_if = "Option::is_none")] + pub gid_start_number: Option, + #[serde(rename = "search_mode", skip_serializing_if = "Option::is_none")] + pub search_mode: Option, + #[serde(rename = "bind_mode", skip_serializing_if = "Option::is_none")] + pub bind_mode: Option, + /// When enabled, code-based multi-factor authentication can be used by appending a semicolon and the TOTP code to the password. This should only be enabled if all users that will bind to this provider have a TOTP device configured, as otherwise a password may incorrectly be rejected if it contains a semicolon. + #[serde(rename = "mfa_support", skip_serializing_if = "Option::is_none")] + pub mfa_support: Option, +} + +impl LdapProviderRequest { + /// LDAPProvider Serializer + pub fn new(name: String, authorization_flow: uuid::Uuid) -> LdapProviderRequest { + LdapProviderRequest { + name, + authentication_flow: None, + authorization_flow, + property_mappings: None, + base_dn: None, + certificate: None, + tls_server_name: None, + uid_start_number: None, + gid_start_number: None, + search_mode: None, + bind_mode: None, + mfa_support: None, + } + } +} diff --git a/src/models/ldap_source.rs b/src/models/ldap_source.rs new file mode 100644 index 0000000..4929818 --- /dev/null +++ b/src/models/ldap_source.rs @@ -0,0 +1,195 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// LdapSource : LDAP Source Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LdapSource { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + /// Source's display Name. + #[serde(rename = "name")] + pub name: String, + /// Internal source name, used in URLs. + #[serde(rename = "slug")] + pub slug: String, + #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")] + pub enabled: Option, + /// Flow to use when authenticating existing users. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow to use when enrolling new users. + #[serde( + rename = "enrollment_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub enrollment_flow: Option>, + #[serde(rename = "user_property_mappings", skip_serializing_if = "Option::is_none")] + pub user_property_mappings: Option>, + #[serde(rename = "group_property_mappings", skip_serializing_if = "Option::is_none")] + pub group_property_mappings: Option>, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + /// How the source determines if an existing user should be authenticated or a new user enrolled. + #[serde(rename = "user_matching_mode", skip_serializing_if = "Option::is_none")] + pub user_matching_mode: Option, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde(rename = "managed", deserialize_with = "Option::deserialize")] + pub managed: Option, + #[serde(rename = "user_path_template", skip_serializing_if = "Option::is_none")] + pub user_path_template: Option, + #[serde(rename = "icon")] + pub icon: String, + #[serde(rename = "server_uri")] + pub server_uri: String, + /// Optionally verify the LDAP Server's Certificate against the CA Chain in this keypair. + #[serde( + rename = "peer_certificate", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub peer_certificate: Option>, + /// Client certificate to authenticate against the LDAP Server's Certificate. + #[serde( + rename = "client_certificate", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub client_certificate: Option>, + #[serde(rename = "bind_cn", skip_serializing_if = "Option::is_none")] + pub bind_cn: Option, + #[serde(rename = "start_tls", skip_serializing_if = "Option::is_none")] + pub start_tls: Option, + #[serde(rename = "sni", skip_serializing_if = "Option::is_none")] + pub sni: Option, + #[serde(rename = "base_dn")] + pub base_dn: String, + /// Prepended to Base DN for User-queries. + #[serde(rename = "additional_user_dn", skip_serializing_if = "Option::is_none")] + pub additional_user_dn: Option, + /// Prepended to Base DN for Group-queries. + #[serde(rename = "additional_group_dn", skip_serializing_if = "Option::is_none")] + pub additional_group_dn: Option, + /// Consider Objects matching this filter to be Users. + #[serde(rename = "user_object_filter", skip_serializing_if = "Option::is_none")] + pub user_object_filter: Option, + /// Consider Objects matching this filter to be Groups. + #[serde(rename = "group_object_filter", skip_serializing_if = "Option::is_none")] + pub group_object_filter: Option, + /// Field which contains members of a group. + #[serde(rename = "group_membership_field", skip_serializing_if = "Option::is_none")] + pub group_membership_field: Option, + /// Field which contains a unique Identifier. + #[serde(rename = "object_uniqueness_field", skip_serializing_if = "Option::is_none")] + pub object_uniqueness_field: Option, + /// Update internal authentik password when login succeeds with LDAP + #[serde( + rename = "password_login_update_internal_password", + skip_serializing_if = "Option::is_none" + )] + pub password_login_update_internal_password: Option, + #[serde(rename = "sync_users", skip_serializing_if = "Option::is_none")] + pub sync_users: Option, + /// When a user changes their password, sync it back to LDAP. This can only be enabled on a single LDAP source. + #[serde(rename = "sync_users_password", skip_serializing_if = "Option::is_none")] + pub sync_users_password: Option, + #[serde(rename = "sync_groups", skip_serializing_if = "Option::is_none")] + pub sync_groups: Option, + #[serde( + rename = "sync_parent_group", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub sync_parent_group: Option>, + /// Get cached source connectivity + #[serde(rename = "connectivity", deserialize_with = "Option::deserialize")] + pub connectivity: Option>>, +} + +impl LdapSource { + /// LDAP Source Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + slug: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + managed: Option, + icon: String, + server_uri: String, + base_dn: String, + connectivity: Option>>, + ) -> LdapSource { + LdapSource { + pk, + name, + slug, + enabled: None, + authentication_flow: None, + enrollment_flow: None, + user_property_mappings: None, + group_property_mappings: None, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + policy_engine_mode: None, + user_matching_mode: None, + managed, + user_path_template: None, + icon, + server_uri, + peer_certificate: None, + client_certificate: None, + bind_cn: None, + start_tls: None, + sni: None, + base_dn, + additional_user_dn: None, + additional_group_dn: None, + user_object_filter: None, + group_object_filter: None, + group_membership_field: None, + object_uniqueness_field: None, + password_login_update_internal_password: None, + sync_users: None, + sync_users_password: None, + sync_groups: None, + sync_parent_group: None, + connectivity, + } + } +} diff --git a/src/models/ldap_source_property_mapping.rs b/src/models/ldap_source_property_mapping.rs new file mode 100644 index 0000000..1987a89 --- /dev/null +++ b/src/models/ldap_source_property_mapping.rs @@ -0,0 +1,67 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// LdapSourcePropertyMapping : LDAP PropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LdapSourcePropertyMapping { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, + /// Get object's component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, +} + +impl LdapSourcePropertyMapping { + /// LDAP PropertyMapping Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + expression: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> LdapSourcePropertyMapping { + LdapSourcePropertyMapping { + pk, + managed: None, + name, + expression, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + } + } +} diff --git a/src/models/ldap_source_property_mapping_request.rs b/src/models/ldap_source_property_mapping_request.rs new file mode 100644 index 0000000..fbf96d3 --- /dev/null +++ b/src/models/ldap_source_property_mapping_request.rs @@ -0,0 +1,40 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// LdapSourcePropertyMappingRequest : LDAP PropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LdapSourcePropertyMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, +} + +impl LdapSourcePropertyMappingRequest { + /// LDAP PropertyMapping Serializer + pub fn new(name: String, expression: String) -> LdapSourcePropertyMappingRequest { + LdapSourcePropertyMappingRequest { + managed: None, + name, + expression, + } + } +} diff --git a/src/models/ldap_source_request.rs b/src/models/ldap_source_request.rs new file mode 100644 index 0000000..c27d784 --- /dev/null +++ b/src/models/ldap_source_request.rs @@ -0,0 +1,155 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// LdapSourceRequest : LDAP Source Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LdapSourceRequest { + /// Source's display Name. + #[serde(rename = "name")] + pub name: String, + /// Internal source name, used in URLs. + #[serde(rename = "slug")] + pub slug: String, + #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")] + pub enabled: Option, + /// Flow to use when authenticating existing users. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow to use when enrolling new users. + #[serde( + rename = "enrollment_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub enrollment_flow: Option>, + #[serde(rename = "user_property_mappings", skip_serializing_if = "Option::is_none")] + pub user_property_mappings: Option>, + #[serde(rename = "group_property_mappings", skip_serializing_if = "Option::is_none")] + pub group_property_mappings: Option>, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + /// How the source determines if an existing user should be authenticated or a new user enrolled. + #[serde(rename = "user_matching_mode", skip_serializing_if = "Option::is_none")] + pub user_matching_mode: Option, + #[serde(rename = "user_path_template", skip_serializing_if = "Option::is_none")] + pub user_path_template: Option, + #[serde(rename = "server_uri")] + pub server_uri: String, + /// Optionally verify the LDAP Server's Certificate against the CA Chain in this keypair. + #[serde( + rename = "peer_certificate", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub peer_certificate: Option>, + /// Client certificate to authenticate against the LDAP Server's Certificate. + #[serde( + rename = "client_certificate", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub client_certificate: Option>, + #[serde(rename = "bind_cn", skip_serializing_if = "Option::is_none")] + pub bind_cn: Option, + #[serde(rename = "bind_password", skip_serializing_if = "Option::is_none")] + pub bind_password: Option, + #[serde(rename = "start_tls", skip_serializing_if = "Option::is_none")] + pub start_tls: Option, + #[serde(rename = "sni", skip_serializing_if = "Option::is_none")] + pub sni: Option, + #[serde(rename = "base_dn")] + pub base_dn: String, + /// Prepended to Base DN for User-queries. + #[serde(rename = "additional_user_dn", skip_serializing_if = "Option::is_none")] + pub additional_user_dn: Option, + /// Prepended to Base DN for Group-queries. + #[serde(rename = "additional_group_dn", skip_serializing_if = "Option::is_none")] + pub additional_group_dn: Option, + /// Consider Objects matching this filter to be Users. + #[serde(rename = "user_object_filter", skip_serializing_if = "Option::is_none")] + pub user_object_filter: Option, + /// Consider Objects matching this filter to be Groups. + #[serde(rename = "group_object_filter", skip_serializing_if = "Option::is_none")] + pub group_object_filter: Option, + /// Field which contains members of a group. + #[serde(rename = "group_membership_field", skip_serializing_if = "Option::is_none")] + pub group_membership_field: Option, + /// Field which contains a unique Identifier. + #[serde(rename = "object_uniqueness_field", skip_serializing_if = "Option::is_none")] + pub object_uniqueness_field: Option, + /// Update internal authentik password when login succeeds with LDAP + #[serde( + rename = "password_login_update_internal_password", + skip_serializing_if = "Option::is_none" + )] + pub password_login_update_internal_password: Option, + #[serde(rename = "sync_users", skip_serializing_if = "Option::is_none")] + pub sync_users: Option, + /// When a user changes their password, sync it back to LDAP. This can only be enabled on a single LDAP source. + #[serde(rename = "sync_users_password", skip_serializing_if = "Option::is_none")] + pub sync_users_password: Option, + #[serde(rename = "sync_groups", skip_serializing_if = "Option::is_none")] + pub sync_groups: Option, + #[serde( + rename = "sync_parent_group", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub sync_parent_group: Option>, +} + +impl LdapSourceRequest { + /// LDAP Source Serializer + pub fn new(name: String, slug: String, server_uri: String, base_dn: String) -> LdapSourceRequest { + LdapSourceRequest { + name, + slug, + enabled: None, + authentication_flow: None, + enrollment_flow: None, + user_property_mappings: None, + group_property_mappings: None, + policy_engine_mode: None, + user_matching_mode: None, + user_path_template: None, + server_uri, + peer_certificate: None, + client_certificate: None, + bind_cn: None, + bind_password: None, + start_tls: None, + sni: None, + base_dn, + additional_user_dn: None, + additional_group_dn: None, + user_object_filter: None, + group_object_filter: None, + group_membership_field: None, + object_uniqueness_field: None, + password_login_update_internal_password: None, + sync_users: None, + sync_users_password: None, + sync_groups: None, + sync_parent_group: None, + } + } +} diff --git a/src/models/ldapapi_access_mode.rs b/src/models/ldapapi_access_mode.rs new file mode 100644 index 0000000..d3ee73f --- /dev/null +++ b/src/models/ldapapi_access_mode.rs @@ -0,0 +1,36 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum LdapapiAccessMode { + #[serde(rename = "direct")] + Direct, + #[serde(rename = "cached")] + Cached, +} + +impl std::fmt::Display for LdapapiAccessMode { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Direct => write!(f, "direct"), + Self::Cached => write!(f, "cached"), + } + } +} + +impl Default for LdapapiAccessMode { + fn default() -> LdapapiAccessMode { + Self::Direct + } +} diff --git a/src/models/license.rs b/src/models/license.rs new file mode 100644 index 0000000..2c2e9cc --- /dev/null +++ b/src/models/license.rs @@ -0,0 +1,50 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// License : License Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct License { + #[serde(rename = "license_uuid")] + pub license_uuid: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "key")] + pub key: String, + #[serde(rename = "expiry")] + pub expiry: String, + #[serde(rename = "internal_users")] + pub internal_users: i32, + #[serde(rename = "external_users")] + pub external_users: i32, +} + +impl License { + /// License Serializer + pub fn new( + license_uuid: uuid::Uuid, + name: String, + key: String, + expiry: String, + internal_users: i32, + external_users: i32, + ) -> License { + License { + license_uuid, + name, + key, + expiry, + internal_users, + external_users, + } + } +} diff --git a/src/models/license_flags_enum.rs b/src/models/license_flags_enum.rs new file mode 100644 index 0000000..c47f45d --- /dev/null +++ b/src/models/license_flags_enum.rs @@ -0,0 +1,36 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum LicenseFlagsEnum { + #[serde(rename = "trial")] + Trial, + #[serde(rename = "non_production")] + NonProduction, +} + +impl std::fmt::Display for LicenseFlagsEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Trial => write!(f, "trial"), + Self::NonProduction => write!(f, "non_production"), + } + } +} + +impl Default for LicenseFlagsEnum { + fn default() -> LicenseFlagsEnum { + Self::Trial + } +} diff --git a/src/models/license_forecast.rs b/src/models/license_forecast.rs new file mode 100644 index 0000000..294ece4 --- /dev/null +++ b/src/models/license_forecast.rs @@ -0,0 +1,42 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// LicenseForecast : Serializer for license forecast +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LicenseForecast { + #[serde(rename = "internal_users")] + pub internal_users: i32, + #[serde(rename = "external_users")] + pub external_users: i32, + #[serde(rename = "forecasted_internal_users")] + pub forecasted_internal_users: i32, + #[serde(rename = "forecasted_external_users")] + pub forecasted_external_users: i32, +} + +impl LicenseForecast { + /// Serializer for license forecast + pub fn new( + internal_users: i32, + external_users: i32, + forecasted_internal_users: i32, + forecasted_external_users: i32, + ) -> LicenseForecast { + LicenseForecast { + internal_users, + external_users, + forecasted_internal_users, + forecasted_external_users, + } + } +} diff --git a/src/models/license_request.rs b/src/models/license_request.rs new file mode 100644 index 0000000..2ebf9c6 --- /dev/null +++ b/src/models/license_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// LicenseRequest : License Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LicenseRequest { + #[serde(rename = "key")] + pub key: String, +} + +impl LicenseRequest { + /// License Serializer + pub fn new(key: String) -> LicenseRequest { + LicenseRequest { key } + } +} diff --git a/src/models/license_summary.rs b/src/models/license_summary.rs new file mode 100644 index 0000000..93909ea --- /dev/null +++ b/src/models/license_summary.rs @@ -0,0 +1,46 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// LicenseSummary : Serializer for license status +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LicenseSummary { + #[serde(rename = "internal_users")] + pub internal_users: i32, + #[serde(rename = "external_users")] + pub external_users: i32, + #[serde(rename = "status")] + pub status: models::LicenseSummaryStatusEnum, + #[serde(rename = "latest_valid")] + pub latest_valid: String, + #[serde(rename = "license_flags")] + pub license_flags: Vec, +} + +impl LicenseSummary { + /// Serializer for license status + pub fn new( + internal_users: i32, + external_users: i32, + status: models::LicenseSummaryStatusEnum, + latest_valid: String, + license_flags: Vec, + ) -> LicenseSummary { + LicenseSummary { + internal_users, + external_users, + status, + latest_valid, + license_flags, + } + } +} diff --git a/src/models/license_summary_status_enum.rs b/src/models/license_summary_status_enum.rs new file mode 100644 index 0000000..024c7db --- /dev/null +++ b/src/models/license_summary_status_enum.rs @@ -0,0 +1,51 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum LicenseSummaryStatusEnum { + #[serde(rename = "unlicensed")] + Unlicensed, + #[serde(rename = "valid")] + Valid, + #[serde(rename = "expired")] + Expired, + #[serde(rename = "expiry_soon")] + ExpirySoon, + #[serde(rename = "limit_exceeded_admin")] + LimitExceededAdmin, + #[serde(rename = "limit_exceeded_user")] + LimitExceededUser, + #[serde(rename = "read_only")] + ReadOnly, +} + +impl std::fmt::Display for LicenseSummaryStatusEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Unlicensed => write!(f, "unlicensed"), + Self::Valid => write!(f, "valid"), + Self::Expired => write!(f, "expired"), + Self::ExpirySoon => write!(f, "expiry_soon"), + Self::LimitExceededAdmin => write!(f, "limit_exceeded_admin"), + Self::LimitExceededUser => write!(f, "limit_exceeded_user"), + Self::ReadOnly => write!(f, "read_only"), + } + } +} + +impl Default for LicenseSummaryStatusEnum { + fn default() -> LicenseSummaryStatusEnum { + Self::Unlicensed + } +} diff --git a/src/models/link.rs b/src/models/link.rs new file mode 100644 index 0000000..74d4368 --- /dev/null +++ b/src/models/link.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Link : Returns a single link +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Link { + #[serde(rename = "link")] + pub link: String, +} + +impl Link { + /// Returns a single link + pub fn new(link: String) -> Link { + Link { link } + } +} diff --git a/src/models/log_event.rs b/src/models/log_event.rs new file mode 100644 index 0000000..eb0f433 --- /dev/null +++ b/src/models/log_event.rs @@ -0,0 +1,46 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// LogEvent : Single log message with all context logged. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LogEvent { + #[serde(rename = "timestamp")] + pub timestamp: String, + #[serde(rename = "log_level")] + pub log_level: models::LogLevelEnum, + #[serde(rename = "logger")] + pub logger: String, + #[serde(rename = "event")] + pub event: String, + #[serde(rename = "attributes")] + pub attributes: std::collections::HashMap, +} + +impl LogEvent { + /// Single log message with all context logged. + pub fn new( + timestamp: String, + log_level: models::LogLevelEnum, + logger: String, + event: String, + attributes: std::collections::HashMap, + ) -> LogEvent { + LogEvent { + timestamp, + log_level, + logger, + event, + attributes, + } + } +} diff --git a/src/models/log_level_enum.rs b/src/models/log_level_enum.rs new file mode 100644 index 0000000..70be103 --- /dev/null +++ b/src/models/log_level_enum.rs @@ -0,0 +1,54 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum LogLevelEnum { + #[serde(rename = "critical")] + Critical, + #[serde(rename = "exception")] + Exception, + #[serde(rename = "error")] + Error, + #[serde(rename = "warn")] + Warn, + #[serde(rename = "warning")] + Warning, + #[serde(rename = "info")] + Info, + #[serde(rename = "debug")] + Debug, + #[serde(rename = "notset")] + Notset, +} + +impl std::fmt::Display for LogLevelEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Critical => write!(f, "critical"), + Self::Exception => write!(f, "exception"), + Self::Error => write!(f, "error"), + Self::Warn => write!(f, "warn"), + Self::Warning => write!(f, "warning"), + Self::Info => write!(f, "info"), + Self::Debug => write!(f, "debug"), + Self::Notset => write!(f, "notset"), + } + } +} + +impl Default for LogLevelEnum { + fn default() -> LogLevelEnum { + Self::Critical + } +} diff --git a/src/models/login_challenge_types.rs b/src/models/login_challenge_types.rs new file mode 100644 index 0000000..c96fa3f --- /dev/null +++ b/src/models/login_challenge_types.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(tag = "component")] +pub enum LoginChallengeTypes { + #[serde(rename = "xak-flow-redirect")] + XakFlowRedirect(models::RedirectChallenge), + #[serde(rename = "ak-source-plex")] + AkSourcePlex(models::PlexAuthenticationChallenge), + #[serde(rename = "ak-source-oauth-apple")] + AkSourceOauthApple(models::AppleLoginChallenge), +} + +impl Default for LoginChallengeTypes { + fn default() -> Self { + Self::XakFlowRedirect(Default::default()) + } +} diff --git a/src/models/login_metrics.rs b/src/models/login_metrics.rs new file mode 100644 index 0000000..b2e7d62 --- /dev/null +++ b/src/models/login_metrics.rs @@ -0,0 +1,38 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// LoginMetrics : Login Metrics per 1h +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LoginMetrics { + #[serde(rename = "logins")] + pub logins: Vec, + #[serde(rename = "logins_failed")] + pub logins_failed: Vec, + #[serde(rename = "authorizations")] + pub authorizations: Vec, +} + +impl LoginMetrics { + /// Login Metrics per 1h + pub fn new( + logins: Vec, + logins_failed: Vec, + authorizations: Vec, + ) -> LoginMetrics { + LoginMetrics { + logins, + logins_failed, + authorizations, + } + } +} diff --git a/src/models/login_source.rs b/src/models/login_source.rs new file mode 100644 index 0000000..32ae27a --- /dev/null +++ b/src/models/login_source.rs @@ -0,0 +1,39 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// LoginSource : Serializer for Login buttons of sources +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LoginSource { + #[serde(rename = "name")] + pub name: String, + #[serde( + rename = "icon_url", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub icon_url: Option>, + #[serde(rename = "challenge")] + pub challenge: models::LoginChallengeTypes, +} + +impl LoginSource { + /// Serializer for Login buttons of sources + pub fn new(name: String, challenge: models::LoginChallengeTypes) -> LoginSource { + LoginSource { + name, + icon_url: None, + challenge, + } + } +} diff --git a/src/models/metadata.rs b/src/models/metadata.rs new file mode 100644 index 0000000..5da8bdc --- /dev/null +++ b/src/models/metadata.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Metadata : Serializer for blueprint metadata +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Metadata { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "labels")] + pub labels: std::collections::HashMap, +} + +impl Metadata { + /// Serializer for blueprint metadata + pub fn new(name: String, labels: std::collections::HashMap) -> Metadata { + Metadata { name, labels } + } +} diff --git a/src/models/microsoft_entra_provider.rs b/src/models/microsoft_entra_provider.rs new file mode 100644 index 0000000..977ad58 --- /dev/null +++ b/src/models/microsoft_entra_provider.rs @@ -0,0 +1,100 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// MicrosoftEntraProvider : MicrosoftEntraProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MicrosoftEntraProvider { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + /// Property mappings used for group creation/updating. + #[serde(rename = "property_mappings_group", skip_serializing_if = "Option::is_none")] + pub property_mappings_group: Option>, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Internal application name, used in URLs. + #[serde(rename = "assigned_backchannel_application_slug")] + pub assigned_backchannel_application_slug: String, + /// Application's display Name. + #[serde(rename = "assigned_backchannel_application_name")] + pub assigned_backchannel_application_name: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "client_id")] + pub client_id: String, + #[serde(rename = "client_secret")] + pub client_secret: String, + #[serde(rename = "tenant_id")] + pub tenant_id: String, + #[serde(rename = "exclude_users_service_account", skip_serializing_if = "Option::is_none")] + pub exclude_users_service_account: Option, + #[serde( + rename = "filter_group", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub filter_group: Option>, + #[serde(rename = "user_delete_action", skip_serializing_if = "Option::is_none")] + pub user_delete_action: Option, + #[serde(rename = "group_delete_action", skip_serializing_if = "Option::is_none")] + pub group_delete_action: Option, +} + +impl MicrosoftEntraProvider { + /// MicrosoftEntraProvider Serializer + pub fn new( + pk: i32, + name: String, + component: String, + assigned_backchannel_application_slug: String, + assigned_backchannel_application_name: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + client_id: String, + client_secret: String, + tenant_id: String, + ) -> MicrosoftEntraProvider { + MicrosoftEntraProvider { + pk, + name, + property_mappings: None, + property_mappings_group: None, + component, + assigned_backchannel_application_slug, + assigned_backchannel_application_name, + verbose_name, + verbose_name_plural, + meta_model_name, + client_id, + client_secret, + tenant_id, + exclude_users_service_account: None, + filter_group: None, + user_delete_action: None, + group_delete_action: None, + } + } +} diff --git a/src/models/microsoft_entra_provider_group.rs b/src/models/microsoft_entra_provider_group.rs new file mode 100644 index 0000000..27e768c --- /dev/null +++ b/src/models/microsoft_entra_provider_group.rs @@ -0,0 +1,50 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// MicrosoftEntraProviderGroup : MicrosoftEntraProviderGroup Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MicrosoftEntraProviderGroup { + #[serde(rename = "id")] + pub id: uuid::Uuid, + #[serde(rename = "microsoft_id")] + pub microsoft_id: String, + #[serde(rename = "group")] + pub group: uuid::Uuid, + #[serde(rename = "group_obj")] + pub group_obj: models::UserGroup, + #[serde(rename = "provider")] + pub provider: i32, + #[serde(rename = "attributes", deserialize_with = "Option::deserialize")] + pub attributes: Option, +} + +impl MicrosoftEntraProviderGroup { + /// MicrosoftEntraProviderGroup Serializer + pub fn new( + id: uuid::Uuid, + microsoft_id: String, + group: uuid::Uuid, + group_obj: models::UserGroup, + provider: i32, + attributes: Option, + ) -> MicrosoftEntraProviderGroup { + MicrosoftEntraProviderGroup { + id, + microsoft_id, + group, + group_obj, + provider, + attributes, + } + } +} diff --git a/src/models/microsoft_entra_provider_group_request.rs b/src/models/microsoft_entra_provider_group_request.rs new file mode 100644 index 0000000..d8c5d97 --- /dev/null +++ b/src/models/microsoft_entra_provider_group_request.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// MicrosoftEntraProviderGroupRequest : MicrosoftEntraProviderGroup Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MicrosoftEntraProviderGroupRequest { + #[serde(rename = "microsoft_id")] + pub microsoft_id: String, + #[serde(rename = "group")] + pub group: uuid::Uuid, + #[serde(rename = "provider")] + pub provider: i32, +} + +impl MicrosoftEntraProviderGroupRequest { + /// MicrosoftEntraProviderGroup Serializer + pub fn new(microsoft_id: String, group: uuid::Uuid, provider: i32) -> MicrosoftEntraProviderGroupRequest { + MicrosoftEntraProviderGroupRequest { + microsoft_id, + group, + provider, + } + } +} diff --git a/src/models/microsoft_entra_provider_mapping.rs b/src/models/microsoft_entra_provider_mapping.rs new file mode 100644 index 0000000..b41042d --- /dev/null +++ b/src/models/microsoft_entra_provider_mapping.rs @@ -0,0 +1,67 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// MicrosoftEntraProviderMapping : MicrosoftEntraProviderMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MicrosoftEntraProviderMapping { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, + /// Get object's component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, +} + +impl MicrosoftEntraProviderMapping { + /// MicrosoftEntraProviderMapping Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + expression: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> MicrosoftEntraProviderMapping { + MicrosoftEntraProviderMapping { + pk, + managed: None, + name, + expression, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + } + } +} diff --git a/src/models/microsoft_entra_provider_mapping_request.rs b/src/models/microsoft_entra_provider_mapping_request.rs new file mode 100644 index 0000000..81c37a1 --- /dev/null +++ b/src/models/microsoft_entra_provider_mapping_request.rs @@ -0,0 +1,40 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// MicrosoftEntraProviderMappingRequest : MicrosoftEntraProviderMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MicrosoftEntraProviderMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, +} + +impl MicrosoftEntraProviderMappingRequest { + /// MicrosoftEntraProviderMapping Serializer + pub fn new(name: String, expression: String) -> MicrosoftEntraProviderMappingRequest { + MicrosoftEntraProviderMappingRequest { + managed: None, + name, + expression, + } + } +} diff --git a/src/models/microsoft_entra_provider_request.rs b/src/models/microsoft_entra_provider_request.rs new file mode 100644 index 0000000..8b99d72 --- /dev/null +++ b/src/models/microsoft_entra_provider_request.rs @@ -0,0 +1,66 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// MicrosoftEntraProviderRequest : MicrosoftEntraProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MicrosoftEntraProviderRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + /// Property mappings used for group creation/updating. + #[serde(rename = "property_mappings_group", skip_serializing_if = "Option::is_none")] + pub property_mappings_group: Option>, + #[serde(rename = "client_id")] + pub client_id: String, + #[serde(rename = "client_secret")] + pub client_secret: String, + #[serde(rename = "tenant_id")] + pub tenant_id: String, + #[serde(rename = "exclude_users_service_account", skip_serializing_if = "Option::is_none")] + pub exclude_users_service_account: Option, + #[serde( + rename = "filter_group", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub filter_group: Option>, + #[serde(rename = "user_delete_action", skip_serializing_if = "Option::is_none")] + pub user_delete_action: Option, + #[serde(rename = "group_delete_action", skip_serializing_if = "Option::is_none")] + pub group_delete_action: Option, +} + +impl MicrosoftEntraProviderRequest { + /// MicrosoftEntraProvider Serializer + pub fn new( + name: String, + client_id: String, + client_secret: String, + tenant_id: String, + ) -> MicrosoftEntraProviderRequest { + MicrosoftEntraProviderRequest { + name, + property_mappings: None, + property_mappings_group: None, + client_id, + client_secret, + tenant_id, + exclude_users_service_account: None, + filter_group: None, + user_delete_action: None, + group_delete_action: None, + } + } +} diff --git a/src/models/microsoft_entra_provider_user.rs b/src/models/microsoft_entra_provider_user.rs new file mode 100644 index 0000000..c5ff97a --- /dev/null +++ b/src/models/microsoft_entra_provider_user.rs @@ -0,0 +1,50 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// MicrosoftEntraProviderUser : MicrosoftEntraProviderUser Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MicrosoftEntraProviderUser { + #[serde(rename = "id")] + pub id: uuid::Uuid, + #[serde(rename = "microsoft_id")] + pub microsoft_id: String, + #[serde(rename = "user")] + pub user: i32, + #[serde(rename = "user_obj")] + pub user_obj: models::GroupMember, + #[serde(rename = "provider")] + pub provider: i32, + #[serde(rename = "attributes", deserialize_with = "Option::deserialize")] + pub attributes: Option, +} + +impl MicrosoftEntraProviderUser { + /// MicrosoftEntraProviderUser Serializer + pub fn new( + id: uuid::Uuid, + microsoft_id: String, + user: i32, + user_obj: models::GroupMember, + provider: i32, + attributes: Option, + ) -> MicrosoftEntraProviderUser { + MicrosoftEntraProviderUser { + id, + microsoft_id, + user, + user_obj, + provider, + attributes, + } + } +} diff --git a/src/models/microsoft_entra_provider_user_request.rs b/src/models/microsoft_entra_provider_user_request.rs new file mode 100644 index 0000000..63e2cf5 --- /dev/null +++ b/src/models/microsoft_entra_provider_user_request.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// MicrosoftEntraProviderUserRequest : MicrosoftEntraProviderUser Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MicrosoftEntraProviderUserRequest { + #[serde(rename = "microsoft_id")] + pub microsoft_id: String, + #[serde(rename = "user")] + pub user: i32, + #[serde(rename = "provider")] + pub provider: i32, +} + +impl MicrosoftEntraProviderUserRequest { + /// MicrosoftEntraProviderUser Serializer + pub fn new(microsoft_id: String, user: i32, provider: i32) -> MicrosoftEntraProviderUserRequest { + MicrosoftEntraProviderUserRequest { + microsoft_id, + user, + provider, + } + } +} diff --git a/src/models/mod.rs b/src/models/mod.rs new file mode 100644 index 0000000..87cc591 --- /dev/null +++ b/src/models/mod.rs @@ -0,0 +1,1290 @@ +pub mod access_denied_challenge; +pub use self::access_denied_challenge::AccessDeniedChallenge; +pub mod alg_enum; +pub use self::alg_enum::AlgEnum; +pub mod app; +pub use self::app::App; +pub mod app_enum; +pub use self::app_enum::AppEnum; +pub mod apple_challenge_response_request; +pub use self::apple_challenge_response_request::AppleChallengeResponseRequest; +pub mod apple_login_challenge; +pub use self::apple_login_challenge::AppleLoginChallenge; +pub mod application; +pub use self::application::Application; +pub mod application_request; +pub use self::application_request::ApplicationRequest; +pub mod auth_mode_enum; +pub use self::auth_mode_enum::AuthModeEnum; +pub mod auth_type_enum; +pub use self::auth_type_enum::AuthTypeEnum; +pub mod authenticated_session; +pub use self::authenticated_session::AuthenticatedSession; +pub mod authenticated_session_asn; +pub use self::authenticated_session_asn::AuthenticatedSessionAsn; +pub mod authenticated_session_geo_ip; +pub use self::authenticated_session_geo_ip::AuthenticatedSessionGeoIp; +pub mod authenticated_session_user_agent; +pub use self::authenticated_session_user_agent::AuthenticatedSessionUserAgent; +pub mod authenticated_session_user_agent_device; +pub use self::authenticated_session_user_agent_device::AuthenticatedSessionUserAgentDevice; +pub mod authenticated_session_user_agent_os; +pub use self::authenticated_session_user_agent_os::AuthenticatedSessionUserAgentOs; +pub mod authenticated_session_user_agent_user_agent; +pub use self::authenticated_session_user_agent_user_agent::AuthenticatedSessionUserAgentUserAgent; +pub mod authentication_enum; +pub use self::authentication_enum::AuthenticationEnum; +pub mod authenticator_attachment_enum; +pub use self::authenticator_attachment_enum::AuthenticatorAttachmentEnum; +pub mod authenticator_duo_challenge; +pub use self::authenticator_duo_challenge::AuthenticatorDuoChallenge; +pub mod authenticator_duo_challenge_response_request; +pub use self::authenticator_duo_challenge_response_request::AuthenticatorDuoChallengeResponseRequest; +pub mod authenticator_duo_stage; +pub use self::authenticator_duo_stage::AuthenticatorDuoStage; +pub mod authenticator_duo_stage_device_import_response; +pub use self::authenticator_duo_stage_device_import_response::AuthenticatorDuoStageDeviceImportResponse; +pub mod authenticator_duo_stage_manual_device_import_request; +pub use self::authenticator_duo_stage_manual_device_import_request::AuthenticatorDuoStageManualDeviceImportRequest; +pub mod authenticator_duo_stage_request; +pub use self::authenticator_duo_stage_request::AuthenticatorDuoStageRequest; +pub mod authenticator_sms_challenge; +pub use self::authenticator_sms_challenge::AuthenticatorSmsChallenge; +pub mod authenticator_sms_challenge_response_request; +pub use self::authenticator_sms_challenge_response_request::AuthenticatorSmsChallengeResponseRequest; +pub mod authenticator_sms_stage; +pub use self::authenticator_sms_stage::AuthenticatorSmsStage; +pub mod authenticator_sms_stage_request; +pub use self::authenticator_sms_stage_request::AuthenticatorSmsStageRequest; +pub mod authenticator_static_challenge; +pub use self::authenticator_static_challenge::AuthenticatorStaticChallenge; +pub mod authenticator_static_challenge_response_request; +pub use self::authenticator_static_challenge_response_request::AuthenticatorStaticChallengeResponseRequest; +pub mod authenticator_static_stage; +pub use self::authenticator_static_stage::AuthenticatorStaticStage; +pub mod authenticator_static_stage_request; +pub use self::authenticator_static_stage_request::AuthenticatorStaticStageRequest; +pub mod authenticator_totp_challenge; +pub use self::authenticator_totp_challenge::AuthenticatorTotpChallenge; +pub mod authenticator_totp_challenge_response_request; +pub use self::authenticator_totp_challenge_response_request::AuthenticatorTotpChallengeResponseRequest; +pub mod authenticator_totp_stage; +pub use self::authenticator_totp_stage::AuthenticatorTotpStage; +pub mod authenticator_totp_stage_request; +pub use self::authenticator_totp_stage_request::AuthenticatorTotpStageRequest; +pub mod authenticator_validate_stage; +pub use self::authenticator_validate_stage::AuthenticatorValidateStage; +pub mod authenticator_validate_stage_request; +pub use self::authenticator_validate_stage_request::AuthenticatorValidateStageRequest; +pub mod authenticator_validation_challenge; +pub use self::authenticator_validation_challenge::AuthenticatorValidationChallenge; +pub mod authenticator_validation_challenge_response_request; +pub use self::authenticator_validation_challenge_response_request::AuthenticatorValidationChallengeResponseRequest; +pub mod authenticator_web_authn_challenge; +pub use self::authenticator_web_authn_challenge::AuthenticatorWebAuthnChallenge; +pub mod authenticator_web_authn_challenge_response_request; +pub use self::authenticator_web_authn_challenge_response_request::AuthenticatorWebAuthnChallengeResponseRequest; +pub mod authenticator_web_authn_stage; +pub use self::authenticator_web_authn_stage::AuthenticatorWebAuthnStage; +pub mod authenticator_web_authn_stage_request; +pub use self::authenticator_web_authn_stage_request::AuthenticatorWebAuthnStageRequest; +pub mod auto_submit_challenge_response_request; +pub use self::auto_submit_challenge_response_request::AutoSubmitChallengeResponseRequest; +pub mod autosubmit_challenge; +pub use self::autosubmit_challenge::AutosubmitChallenge; +pub mod backends_enum; +pub use self::backends_enum::BackendsEnum; +pub mod binding_type_enum; +pub use self::binding_type_enum::BindingTypeEnum; +pub mod blueprint_file; +pub use self::blueprint_file::BlueprintFile; +pub mod blueprint_instance; +pub use self::blueprint_instance::BlueprintInstance; +pub mod blueprint_instance_request; +pub use self::blueprint_instance_request::BlueprintInstanceRequest; +pub mod blueprint_instance_status_enum; +pub use self::blueprint_instance_status_enum::BlueprintInstanceStatusEnum; +pub mod brand; +pub use self::brand::Brand; +pub mod brand_request; +pub use self::brand_request::BrandRequest; +pub mod cache; +pub use self::cache::Cache; +pub mod capabilities_enum; +pub use self::capabilities_enum::CapabilitiesEnum; +pub mod captcha_challenge; +pub use self::captcha_challenge::CaptchaChallenge; +pub mod captcha_challenge_response_request; +pub use self::captcha_challenge_response_request::CaptchaChallengeResponseRequest; +pub mod captcha_stage; +pub use self::captcha_stage::CaptchaStage; +pub mod captcha_stage_request; +pub use self::captcha_stage_request::CaptchaStageRequest; +pub mod certificate_data; +pub use self::certificate_data::CertificateData; +pub mod certificate_generation_request; +pub use self::certificate_generation_request::CertificateGenerationRequest; +pub mod certificate_key_pair; +pub use self::certificate_key_pair::CertificateKeyPair; +pub mod certificate_key_pair_request; +pub use self::certificate_key_pair_request::CertificateKeyPairRequest; +pub mod challenge_types; +pub use self::challenge_types::ChallengeTypes; +pub mod client_type_enum; +pub use self::client_type_enum::ClientTypeEnum; +pub mod config; +pub use self::config::Config; +pub mod connection_token; +pub use self::connection_token::ConnectionToken; +pub mod connection_token_request; +pub use self::connection_token_request::ConnectionTokenRequest; +pub mod consent_challenge; +pub use self::consent_challenge::ConsentChallenge; +pub mod consent_challenge_response_request; +pub use self::consent_challenge_response_request::ConsentChallengeResponseRequest; +pub mod consent_permission; +pub use self::consent_permission::ConsentPermission; +pub mod consent_stage; +pub use self::consent_stage::ConsentStage; +pub mod consent_stage_mode_enum; +pub use self::consent_stage_mode_enum::ConsentStageModeEnum; +pub mod consent_stage_request; +pub use self::consent_stage_request::ConsentStageRequest; +pub mod contextual_flow_info; +pub use self::contextual_flow_info::ContextualFlowInfo; +pub mod contextual_flow_info_layout_enum; +pub use self::contextual_flow_info_layout_enum::ContextualFlowInfoLayoutEnum; +pub mod coordinate; +pub use self::coordinate::Coordinate; +pub mod country_code_enum; +pub use self::country_code_enum::CountryCodeEnum; +pub mod current_brand; +pub use self::current_brand::CurrentBrand; +pub mod denied_action_enum; +pub use self::denied_action_enum::DeniedActionEnum; +pub mod deny_stage; +pub use self::deny_stage::DenyStage; +pub mod deny_stage_request; +pub use self::deny_stage_request::DenyStageRequest; +pub mod detailed_country; +pub use self::detailed_country::DetailedCountry; +pub mod detailed_country_field; +pub use self::detailed_country_field::DetailedCountryField; +pub mod detailed_country_field_request; +pub use self::detailed_country_field_request::DetailedCountryFieldRequest; +pub mod device; +pub use self::device::Device; +pub mod device_challenge; +pub use self::device_challenge::DeviceChallenge; +pub mod device_challenge_request; +pub use self::device_challenge_request::DeviceChallengeRequest; +pub mod device_classes_enum; +pub use self::device_classes_enum::DeviceClassesEnum; +pub mod digest_algorithm_enum; +pub use self::digest_algorithm_enum::DigestAlgorithmEnum; +pub mod digits_enum; +pub use self::digits_enum::DigitsEnum; +pub mod docker_service_connection; +pub use self::docker_service_connection::DockerServiceConnection; +pub mod docker_service_connection_request; +pub use self::docker_service_connection_request::DockerServiceConnectionRequest; +pub mod domain; +pub use self::domain::Domain; +pub mod domain_request; +pub use self::domain_request::DomainRequest; +pub mod dummy_challenge; +pub use self::dummy_challenge::DummyChallenge; +pub mod dummy_challenge_response_request; +pub use self::dummy_challenge_response_request::DummyChallengeResponseRequest; +pub mod dummy_policy; +pub use self::dummy_policy::DummyPolicy; +pub mod dummy_policy_request; +pub use self::dummy_policy_request::DummyPolicyRequest; +pub mod dummy_stage; +pub use self::dummy_stage::DummyStage; +pub mod dummy_stage_request; +pub use self::dummy_stage_request::DummyStageRequest; +pub mod duo_device; +pub use self::duo_device::DuoDevice; +pub mod duo_device_enrollment_status; +pub use self::duo_device_enrollment_status::DuoDeviceEnrollmentStatus; +pub mod duo_device_request; +pub use self::duo_device_request::DuoDeviceRequest; +pub mod duo_response_enum; +pub use self::duo_response_enum::DuoResponseEnum; +pub mod email_challenge; +pub use self::email_challenge::EmailChallenge; +pub mod email_challenge_response_request; +pub use self::email_challenge_response_request::EmailChallengeResponseRequest; +pub mod email_stage; +pub use self::email_stage::EmailStage; +pub mod email_stage_request; +pub use self::email_stage_request::EmailStageRequest; +pub mod endpoint; +pub use self::endpoint::Endpoint; +pub mod endpoint_request; +pub use self::endpoint_request::EndpointRequest; +pub mod error_detail; +pub use self::error_detail::ErrorDetail; +pub mod error_reporting_config; +pub use self::error_reporting_config::ErrorReportingConfig; +pub mod event; +pub use self::event::Event; +pub mod event_actions; +pub use self::event_actions::EventActions; +pub mod event_matcher_policy; +pub use self::event_matcher_policy::EventMatcherPolicy; +pub mod event_matcher_policy_request; +pub use self::event_matcher_policy_request::EventMatcherPolicyRequest; +pub mod event_request; +pub use self::event_request::EventRequest; +pub mod event_top_per_user; +pub use self::event_top_per_user::EventTopPerUser; +pub mod expiring_base_grant_model; +pub use self::expiring_base_grant_model::ExpiringBaseGrantModel; +pub mod expression_policy; +pub use self::expression_policy::ExpressionPolicy; +pub mod expression_policy_request; +pub use self::expression_policy_request::ExpressionPolicyRequest; +pub mod extra_role_object_permission; +pub use self::extra_role_object_permission::ExtraRoleObjectPermission; +pub mod extra_role_object_permission_request; +pub use self::extra_role_object_permission_request::ExtraRoleObjectPermissionRequest; +pub mod extra_user_object_permission; +pub use self::extra_user_object_permission::ExtraUserObjectPermission; +pub mod extra_user_object_permission_request; +pub use self::extra_user_object_permission_request::ExtraUserObjectPermissionRequest; +pub mod file_path_request; +pub use self::file_path_request::FilePathRequest; +pub mod flow; +pub use self::flow::Flow; +pub mod flow_challenge_response_request; +pub use self::flow_challenge_response_request::FlowChallengeResponseRequest; +pub mod flow_designation_enum; +pub use self::flow_designation_enum::FlowDesignationEnum; +pub mod flow_diagram; +pub use self::flow_diagram::FlowDiagram; +pub mod flow_error_challenge; +pub use self::flow_error_challenge::FlowErrorChallenge; +pub mod flow_import_result; +pub use self::flow_import_result::FlowImportResult; +pub mod flow_inspection; +pub use self::flow_inspection::FlowInspection; +pub mod flow_inspector_plan; +pub use self::flow_inspector_plan::FlowInspectorPlan; +pub mod flow_layout_enum; +pub use self::flow_layout_enum::FlowLayoutEnum; +pub mod flow_request; +pub use self::flow_request::FlowRequest; +pub mod flow_set; +pub use self::flow_set::FlowSet; +pub mod flow_set_request; +pub use self::flow_set_request::FlowSetRequest; +pub mod flow_stage_binding; +pub use self::flow_stage_binding::FlowStageBinding; +pub mod flow_stage_binding_request; +pub use self::flow_stage_binding_request::FlowStageBindingRequest; +pub mod footer_link; +pub use self::footer_link::FooterLink; +pub mod generic_error; +pub use self::generic_error::GenericError; +pub mod geo_ip_policy; +pub use self::geo_ip_policy::GeoIpPolicy; +pub mod geo_ip_policy_request; +pub use self::geo_ip_policy_request::GeoIpPolicyRequest; +pub mod geoip_binding_enum; +pub use self::geoip_binding_enum::GeoipBindingEnum; +pub mod google_workspace_provider; +pub use self::google_workspace_provider::GoogleWorkspaceProvider; +pub mod google_workspace_provider_group; +pub use self::google_workspace_provider_group::GoogleWorkspaceProviderGroup; +pub mod google_workspace_provider_group_request; +pub use self::google_workspace_provider_group_request::GoogleWorkspaceProviderGroupRequest; +pub mod google_workspace_provider_mapping; +pub use self::google_workspace_provider_mapping::GoogleWorkspaceProviderMapping; +pub mod google_workspace_provider_mapping_request; +pub use self::google_workspace_provider_mapping_request::GoogleWorkspaceProviderMappingRequest; +pub mod google_workspace_provider_request; +pub use self::google_workspace_provider_request::GoogleWorkspaceProviderRequest; +pub mod google_workspace_provider_user; +pub use self::google_workspace_provider_user::GoogleWorkspaceProviderUser; +pub mod google_workspace_provider_user_request; +pub use self::google_workspace_provider_user_request::GoogleWorkspaceProviderUserRequest; +pub mod group; +pub use self::group::Group; +pub mod group_matching_mode_enum; +pub use self::group_matching_mode_enum::GroupMatchingModeEnum; +pub mod group_member; +pub use self::group_member::GroupMember; +pub mod group_member_request; +pub use self::group_member_request::GroupMemberRequest; +pub mod group_o_auth_source_connection; +pub use self::group_o_auth_source_connection::GroupOAuthSourceConnection; +pub mod group_plex_source_connection; +pub use self::group_plex_source_connection::GroupPlexSourceConnection; +pub mod group_request; +pub use self::group_request::GroupRequest; +pub mod group_saml_source_connection; +pub use self::group_saml_source_connection::GroupSamlSourceConnection; +pub mod identification_challenge; +pub use self::identification_challenge::IdentificationChallenge; +pub mod identification_challenge_response_request; +pub use self::identification_challenge_response_request::IdentificationChallengeResponseRequest; +pub mod identification_stage; +pub use self::identification_stage::IdentificationStage; +pub mod identification_stage_request; +pub use self::identification_stage_request::IdentificationStageRequest; +pub mod install_id; +pub use self::install_id::InstallId; +pub mod intent_enum; +pub use self::intent_enum::IntentEnum; +pub mod invalid_response_action_enum; +pub use self::invalid_response_action_enum::InvalidResponseActionEnum; +pub mod invitation; +pub use self::invitation::Invitation; +pub mod invitation_request; +pub use self::invitation_request::InvitationRequest; +pub mod invitation_stage; +pub use self::invitation_stage::InvitationStage; +pub mod invitation_stage_request; +pub use self::invitation_stage_request::InvitationStageRequest; +pub mod issuer_mode_enum; +pub use self::issuer_mode_enum::IssuerModeEnum; +pub mod kubernetes_service_connection; +pub use self::kubernetes_service_connection::KubernetesServiceConnection; +pub mod kubernetes_service_connection_request; +pub use self::kubernetes_service_connection_request::KubernetesServiceConnectionRequest; +pub mod ldap_check_access; +pub use self::ldap_check_access::LdapCheckAccess; +pub mod ldap_debug; +pub use self::ldap_debug::LdapDebug; +pub mod ldap_outpost_config; +pub use self::ldap_outpost_config::LdapOutpostConfig; +pub mod ldap_provider; +pub use self::ldap_provider::LdapProvider; +pub mod ldap_provider_request; +pub use self::ldap_provider_request::LdapProviderRequest; +pub mod ldap_source; +pub use self::ldap_source::LdapSource; +pub mod ldap_source_property_mapping; +pub use self::ldap_source_property_mapping::LdapSourcePropertyMapping; +pub mod ldap_source_property_mapping_request; +pub use self::ldap_source_property_mapping_request::LdapSourcePropertyMappingRequest; +pub mod ldap_source_request; +pub use self::ldap_source_request::LdapSourceRequest; +pub mod ldapapi_access_mode; +pub use self::ldapapi_access_mode::LdapapiAccessMode; +pub mod license; +pub use self::license::License; +pub mod license_flags_enum; +pub use self::license_flags_enum::LicenseFlagsEnum; +pub mod license_forecast; +pub use self::license_forecast::LicenseForecast; +pub mod license_request; +pub use self::license_request::LicenseRequest; +pub mod license_summary; +pub use self::license_summary::LicenseSummary; +pub mod license_summary_status_enum; +pub use self::license_summary_status_enum::LicenseSummaryStatusEnum; +pub mod link; +pub use self::link::Link; +pub mod log_event; +pub use self::log_event::LogEvent; +pub mod log_level_enum; +pub use self::log_level_enum::LogLevelEnum; +pub mod login_challenge_types; +pub use self::login_challenge_types::LoginChallengeTypes; +pub mod login_metrics; +pub use self::login_metrics::LoginMetrics; +pub mod login_source; +pub use self::login_source::LoginSource; +pub mod metadata; +pub use self::metadata::Metadata; +pub mod microsoft_entra_provider; +pub use self::microsoft_entra_provider::MicrosoftEntraProvider; +pub mod microsoft_entra_provider_group; +pub use self::microsoft_entra_provider_group::MicrosoftEntraProviderGroup; +pub mod microsoft_entra_provider_group_request; +pub use self::microsoft_entra_provider_group_request::MicrosoftEntraProviderGroupRequest; +pub mod microsoft_entra_provider_mapping; +pub use self::microsoft_entra_provider_mapping::MicrosoftEntraProviderMapping; +pub mod microsoft_entra_provider_mapping_request; +pub use self::microsoft_entra_provider_mapping_request::MicrosoftEntraProviderMappingRequest; +pub mod microsoft_entra_provider_request; +pub use self::microsoft_entra_provider_request::MicrosoftEntraProviderRequest; +pub mod microsoft_entra_provider_user; +pub use self::microsoft_entra_provider_user::MicrosoftEntraProviderUser; +pub mod microsoft_entra_provider_user_request; +pub use self::microsoft_entra_provider_user_request::MicrosoftEntraProviderUserRequest; +pub mod model_enum; +pub use self::model_enum::ModelEnum; +pub mod model_request; +pub use self::model_request::ModelRequest; +pub mod name_id_policy_enum; +pub use self::name_id_policy_enum::NameIdPolicyEnum; +pub mod network_binding_enum; +pub use self::network_binding_enum::NetworkBindingEnum; +pub mod not_configured_action_enum; +pub use self::not_configured_action_enum::NotConfiguredActionEnum; +pub mod notification; +pub use self::notification::Notification; +pub mod notification_request; +pub use self::notification_request::NotificationRequest; +pub mod notification_rule; +pub use self::notification_rule::NotificationRule; +pub mod notification_rule_request; +pub use self::notification_rule_request::NotificationRuleRequest; +pub mod notification_transport; +pub use self::notification_transport::NotificationTransport; +pub mod notification_transport_mode_enum; +pub use self::notification_transport_mode_enum::NotificationTransportModeEnum; +pub mod notification_transport_request; +pub use self::notification_transport_request::NotificationTransportRequest; +pub mod notification_transport_test; +pub use self::notification_transport_test::NotificationTransportTest; +pub mod notification_webhook_mapping; +pub use self::notification_webhook_mapping::NotificationWebhookMapping; +pub mod notification_webhook_mapping_request; +pub use self::notification_webhook_mapping_request::NotificationWebhookMappingRequest; +pub mod o_auth2_provider; +pub use self::o_auth2_provider::OAuth2Provider; +pub mod o_auth2_provider_request; +pub use self::o_auth2_provider_request::OAuth2ProviderRequest; +pub mod o_auth2_provider_setup_urls; +pub use self::o_auth2_provider_setup_urls::OAuth2ProviderSetupUrls; +pub mod o_auth_device_code_challenge; +pub use self::o_auth_device_code_challenge::OAuthDeviceCodeChallenge; +pub mod o_auth_device_code_challenge_response_request; +pub use self::o_auth_device_code_challenge_response_request::OAuthDeviceCodeChallengeResponseRequest; +pub mod o_auth_device_code_finish_challenge; +pub use self::o_auth_device_code_finish_challenge::OAuthDeviceCodeFinishChallenge; +pub mod o_auth_device_code_finish_challenge_response_request; +pub use self::o_auth_device_code_finish_challenge_response_request::OAuthDeviceCodeFinishChallengeResponseRequest; +pub mod o_auth_source; +pub use self::o_auth_source::OAuthSource; +pub mod o_auth_source_property_mapping; +pub use self::o_auth_source_property_mapping::OAuthSourcePropertyMapping; +pub mod o_auth_source_property_mapping_request; +pub use self::o_auth_source_property_mapping_request::OAuthSourcePropertyMappingRequest; +pub mod o_auth_source_request; +pub use self::o_auth_source_request::OAuthSourceRequest; +pub mod open_id_connect_configuration; +pub use self::open_id_connect_configuration::OpenIdConnectConfiguration; +pub mod outgoing_sync_delete_action; +pub use self::outgoing_sync_delete_action::OutgoingSyncDeleteAction; +pub mod outpost; +pub use self::outpost::Outpost; +pub mod outpost_default_config; +pub use self::outpost_default_config::OutpostDefaultConfig; +pub mod outpost_health; +pub use self::outpost_health::OutpostHealth; +pub mod outpost_request; +pub use self::outpost_request::OutpostRequest; +pub mod outpost_type_enum; +pub use self::outpost_type_enum::OutpostTypeEnum; +pub mod paginated_application_list; +pub use self::paginated_application_list::PaginatedApplicationList; +pub mod paginated_authenticated_session_list; +pub use self::paginated_authenticated_session_list::PaginatedAuthenticatedSessionList; +pub mod paginated_authenticator_duo_stage_list; +pub use self::paginated_authenticator_duo_stage_list::PaginatedAuthenticatorDuoStageList; +pub mod paginated_authenticator_sms_stage_list; +pub use self::paginated_authenticator_sms_stage_list::PaginatedAuthenticatorSmsStageList; +pub mod paginated_authenticator_static_stage_list; +pub use self::paginated_authenticator_static_stage_list::PaginatedAuthenticatorStaticStageList; +pub mod paginated_authenticator_totp_stage_list; +pub use self::paginated_authenticator_totp_stage_list::PaginatedAuthenticatorTotpStageList; +pub mod paginated_authenticator_validate_stage_list; +pub use self::paginated_authenticator_validate_stage_list::PaginatedAuthenticatorValidateStageList; +pub mod paginated_authenticator_web_authn_stage_list; +pub use self::paginated_authenticator_web_authn_stage_list::PaginatedAuthenticatorWebAuthnStageList; +pub mod paginated_blueprint_instance_list; +pub use self::paginated_blueprint_instance_list::PaginatedBlueprintInstanceList; +pub mod paginated_brand_list; +pub use self::paginated_brand_list::PaginatedBrandList; +pub mod paginated_captcha_stage_list; +pub use self::paginated_captcha_stage_list::PaginatedCaptchaStageList; +pub mod paginated_certificate_key_pair_list; +pub use self::paginated_certificate_key_pair_list::PaginatedCertificateKeyPairList; +pub mod paginated_connection_token_list; +pub use self::paginated_connection_token_list::PaginatedConnectionTokenList; +pub mod paginated_consent_stage_list; +pub use self::paginated_consent_stage_list::PaginatedConsentStageList; +pub mod paginated_deny_stage_list; +pub use self::paginated_deny_stage_list::PaginatedDenyStageList; +pub mod paginated_docker_service_connection_list; +pub use self::paginated_docker_service_connection_list::PaginatedDockerServiceConnectionList; +pub mod paginated_domain_list; +pub use self::paginated_domain_list::PaginatedDomainList; +pub mod paginated_dummy_policy_list; +pub use self::paginated_dummy_policy_list::PaginatedDummyPolicyList; +pub mod paginated_dummy_stage_list; +pub use self::paginated_dummy_stage_list::PaginatedDummyStageList; +pub mod paginated_duo_device_list; +pub use self::paginated_duo_device_list::PaginatedDuoDeviceList; +pub mod paginated_email_stage_list; +pub use self::paginated_email_stage_list::PaginatedEmailStageList; +pub mod paginated_endpoint_list; +pub use self::paginated_endpoint_list::PaginatedEndpointList; +pub mod paginated_event_list; +pub use self::paginated_event_list::PaginatedEventList; +pub mod paginated_event_matcher_policy_list; +pub use self::paginated_event_matcher_policy_list::PaginatedEventMatcherPolicyList; +pub mod paginated_expiring_base_grant_model_list; +pub use self::paginated_expiring_base_grant_model_list::PaginatedExpiringBaseGrantModelList; +pub mod paginated_expression_policy_list; +pub use self::paginated_expression_policy_list::PaginatedExpressionPolicyList; +pub mod paginated_extra_role_object_permission_list; +pub use self::paginated_extra_role_object_permission_list::PaginatedExtraRoleObjectPermissionList; +pub mod paginated_extra_user_object_permission_list; +pub use self::paginated_extra_user_object_permission_list::PaginatedExtraUserObjectPermissionList; +pub mod paginated_flow_list; +pub use self::paginated_flow_list::PaginatedFlowList; +pub mod paginated_flow_stage_binding_list; +pub use self::paginated_flow_stage_binding_list::PaginatedFlowStageBindingList; +pub mod paginated_geo_ip_policy_list; +pub use self::paginated_geo_ip_policy_list::PaginatedGeoIpPolicyList; +pub mod paginated_google_workspace_provider_group_list; +pub use self::paginated_google_workspace_provider_group_list::PaginatedGoogleWorkspaceProviderGroupList; +pub mod paginated_google_workspace_provider_list; +pub use self::paginated_google_workspace_provider_list::PaginatedGoogleWorkspaceProviderList; +pub mod paginated_google_workspace_provider_mapping_list; +pub use self::paginated_google_workspace_provider_mapping_list::PaginatedGoogleWorkspaceProviderMappingList; +pub mod paginated_google_workspace_provider_user_list; +pub use self::paginated_google_workspace_provider_user_list::PaginatedGoogleWorkspaceProviderUserList; +pub mod paginated_group_list; +pub use self::paginated_group_list::PaginatedGroupList; +pub mod paginated_group_o_auth_source_connection_list; +pub use self::paginated_group_o_auth_source_connection_list::PaginatedGroupOAuthSourceConnectionList; +pub mod paginated_group_plex_source_connection_list; +pub use self::paginated_group_plex_source_connection_list::PaginatedGroupPlexSourceConnectionList; +pub mod paginated_group_saml_source_connection_list; +pub use self::paginated_group_saml_source_connection_list::PaginatedGroupSamlSourceConnectionList; +pub mod paginated_identification_stage_list; +pub use self::paginated_identification_stage_list::PaginatedIdentificationStageList; +pub mod paginated_invitation_list; +pub use self::paginated_invitation_list::PaginatedInvitationList; +pub mod paginated_invitation_stage_list; +pub use self::paginated_invitation_stage_list::PaginatedInvitationStageList; +pub mod paginated_kubernetes_service_connection_list; +pub use self::paginated_kubernetes_service_connection_list::PaginatedKubernetesServiceConnectionList; +pub mod paginated_ldap_outpost_config_list; +pub use self::paginated_ldap_outpost_config_list::PaginatedLdapOutpostConfigList; +pub mod paginated_ldap_provider_list; +pub use self::paginated_ldap_provider_list::PaginatedLdapProviderList; +pub mod paginated_ldap_source_list; +pub use self::paginated_ldap_source_list::PaginatedLdapSourceList; +pub mod paginated_ldap_source_property_mapping_list; +pub use self::paginated_ldap_source_property_mapping_list::PaginatedLdapSourcePropertyMappingList; +pub mod paginated_license_list; +pub use self::paginated_license_list::PaginatedLicenseList; +pub mod paginated_microsoft_entra_provider_group_list; +pub use self::paginated_microsoft_entra_provider_group_list::PaginatedMicrosoftEntraProviderGroupList; +pub mod paginated_microsoft_entra_provider_list; +pub use self::paginated_microsoft_entra_provider_list::PaginatedMicrosoftEntraProviderList; +pub mod paginated_microsoft_entra_provider_mapping_list; +pub use self::paginated_microsoft_entra_provider_mapping_list::PaginatedMicrosoftEntraProviderMappingList; +pub mod paginated_microsoft_entra_provider_user_list; +pub use self::paginated_microsoft_entra_provider_user_list::PaginatedMicrosoftEntraProviderUserList; +pub mod paginated_notification_list; +pub use self::paginated_notification_list::PaginatedNotificationList; +pub mod paginated_notification_rule_list; +pub use self::paginated_notification_rule_list::PaginatedNotificationRuleList; +pub mod paginated_notification_transport_list; +pub use self::paginated_notification_transport_list::PaginatedNotificationTransportList; +pub mod paginated_notification_webhook_mapping_list; +pub use self::paginated_notification_webhook_mapping_list::PaginatedNotificationWebhookMappingList; +pub mod paginated_o_auth2_provider_list; +pub use self::paginated_o_auth2_provider_list::PaginatedOAuth2ProviderList; +pub mod paginated_o_auth_source_list; +pub use self::paginated_o_auth_source_list::PaginatedOAuthSourceList; +pub mod paginated_o_auth_source_property_mapping_list; +pub use self::paginated_o_auth_source_property_mapping_list::PaginatedOAuthSourcePropertyMappingList; +pub mod paginated_outpost_list; +pub use self::paginated_outpost_list::PaginatedOutpostList; +pub mod paginated_password_expiry_policy_list; +pub use self::paginated_password_expiry_policy_list::PaginatedPasswordExpiryPolicyList; +pub mod paginated_password_policy_list; +pub use self::paginated_password_policy_list::PaginatedPasswordPolicyList; +pub mod paginated_password_stage_list; +pub use self::paginated_password_stage_list::PaginatedPasswordStageList; +pub mod paginated_permission_list; +pub use self::paginated_permission_list::PaginatedPermissionList; +pub mod paginated_plex_source_list; +pub use self::paginated_plex_source_list::PaginatedPlexSourceList; +pub mod paginated_plex_source_property_mapping_list; +pub use self::paginated_plex_source_property_mapping_list::PaginatedPlexSourcePropertyMappingList; +pub mod paginated_policy_binding_list; +pub use self::paginated_policy_binding_list::PaginatedPolicyBindingList; +pub mod paginated_policy_list; +pub use self::paginated_policy_list::PaginatedPolicyList; +pub mod paginated_prompt_list; +pub use self::paginated_prompt_list::PaginatedPromptList; +pub mod paginated_prompt_stage_list; +pub use self::paginated_prompt_stage_list::PaginatedPromptStageList; +pub mod paginated_property_mapping_list; +pub use self::paginated_property_mapping_list::PaginatedPropertyMappingList; +pub mod paginated_provider_list; +pub use self::paginated_provider_list::PaginatedProviderList; +pub mod paginated_proxy_outpost_config_list; +pub use self::paginated_proxy_outpost_config_list::PaginatedProxyOutpostConfigList; +pub mod paginated_proxy_provider_list; +pub use self::paginated_proxy_provider_list::PaginatedProxyProviderList; +pub mod paginated_rac_property_mapping_list; +pub use self::paginated_rac_property_mapping_list::PaginatedRacPropertyMappingList; +pub mod paginated_rac_provider_list; +pub use self::paginated_rac_provider_list::PaginatedRacProviderList; +pub mod paginated_radius_outpost_config_list; +pub use self::paginated_radius_outpost_config_list::PaginatedRadiusOutpostConfigList; +pub mod paginated_radius_provider_list; +pub use self::paginated_radius_provider_list::PaginatedRadiusProviderList; +pub mod paginated_radius_provider_property_mapping_list; +pub use self::paginated_radius_provider_property_mapping_list::PaginatedRadiusProviderPropertyMappingList; +pub mod paginated_reputation_list; +pub use self::paginated_reputation_list::PaginatedReputationList; +pub mod paginated_reputation_policy_list; +pub use self::paginated_reputation_policy_list::PaginatedReputationPolicyList; +pub mod paginated_role_assigned_object_permission_list; +pub use self::paginated_role_assigned_object_permission_list::PaginatedRoleAssignedObjectPermissionList; +pub mod paginated_role_list; +pub use self::paginated_role_list::PaginatedRoleList; +pub mod paginated_saml_property_mapping_list; +pub use self::paginated_saml_property_mapping_list::PaginatedSamlPropertyMappingList; +pub mod paginated_saml_provider_list; +pub use self::paginated_saml_provider_list::PaginatedSamlProviderList; +pub mod paginated_saml_source_list; +pub use self::paginated_saml_source_list::PaginatedSamlSourceList; +pub mod paginated_saml_source_property_mapping_list; +pub use self::paginated_saml_source_property_mapping_list::PaginatedSamlSourcePropertyMappingList; +pub mod paginated_scim_mapping_list; +pub use self::paginated_scim_mapping_list::PaginatedScimMappingList; +pub mod paginated_scim_provider_group_list; +pub use self::paginated_scim_provider_group_list::PaginatedScimProviderGroupList; +pub mod paginated_scim_provider_list; +pub use self::paginated_scim_provider_list::PaginatedScimProviderList; +pub mod paginated_scim_provider_user_list; +pub use self::paginated_scim_provider_user_list::PaginatedScimProviderUserList; +pub mod paginated_scim_source_group_list; +pub use self::paginated_scim_source_group_list::PaginatedScimSourceGroupList; +pub mod paginated_scim_source_list; +pub use self::paginated_scim_source_list::PaginatedScimSourceList; +pub mod paginated_scim_source_property_mapping_list; +pub use self::paginated_scim_source_property_mapping_list::PaginatedScimSourcePropertyMappingList; +pub mod paginated_scim_source_user_list; +pub use self::paginated_scim_source_user_list::PaginatedScimSourceUserList; +pub mod paginated_scope_mapping_list; +pub use self::paginated_scope_mapping_list::PaginatedScopeMappingList; +pub mod paginated_service_connection_list; +pub use self::paginated_service_connection_list::PaginatedServiceConnectionList; +pub mod paginated_sms_device_list; +pub use self::paginated_sms_device_list::PaginatedSmsDeviceList; +pub mod paginated_source_list; +pub use self::paginated_source_list::PaginatedSourceList; +pub mod paginated_source_stage_list; +pub use self::paginated_source_stage_list::PaginatedSourceStageList; +pub mod paginated_stage_list; +pub use self::paginated_stage_list::PaginatedStageList; +pub mod paginated_static_device_list; +pub use self::paginated_static_device_list::PaginatedStaticDeviceList; +pub mod paginated_system_task_list; +pub use self::paginated_system_task_list::PaginatedSystemTaskList; +pub mod paginated_tenant_list; +pub use self::paginated_tenant_list::PaginatedTenantList; +pub mod paginated_token_list; +pub use self::paginated_token_list::PaginatedTokenList; +pub mod paginated_token_model_list; +pub use self::paginated_token_model_list::PaginatedTokenModelList; +pub mod paginated_totp_device_list; +pub use self::paginated_totp_device_list::PaginatedTotpDeviceList; +pub mod paginated_user_assigned_object_permission_list; +pub use self::paginated_user_assigned_object_permission_list::PaginatedUserAssignedObjectPermissionList; +pub mod paginated_user_consent_list; +pub use self::paginated_user_consent_list::PaginatedUserConsentList; +pub mod paginated_user_delete_stage_list; +pub use self::paginated_user_delete_stage_list::PaginatedUserDeleteStageList; +pub mod paginated_user_list; +pub use self::paginated_user_list::PaginatedUserList; +pub mod paginated_user_login_stage_list; +pub use self::paginated_user_login_stage_list::PaginatedUserLoginStageList; +pub mod paginated_user_logout_stage_list; +pub use self::paginated_user_logout_stage_list::PaginatedUserLogoutStageList; +pub mod paginated_user_o_auth_source_connection_list; +pub use self::paginated_user_o_auth_source_connection_list::PaginatedUserOAuthSourceConnectionList; +pub mod paginated_user_plex_source_connection_list; +pub use self::paginated_user_plex_source_connection_list::PaginatedUserPlexSourceConnectionList; +pub mod paginated_user_saml_source_connection_list; +pub use self::paginated_user_saml_source_connection_list::PaginatedUserSamlSourceConnectionList; +pub mod paginated_user_source_connection_list; +pub use self::paginated_user_source_connection_list::PaginatedUserSourceConnectionList; +pub mod paginated_user_write_stage_list; +pub use self::paginated_user_write_stage_list::PaginatedUserWriteStageList; +pub mod paginated_web_authn_device_list; +pub use self::paginated_web_authn_device_list::PaginatedWebAuthnDeviceList; +pub mod paginated_web_authn_device_type_list; +pub use self::paginated_web_authn_device_type_list::PaginatedWebAuthnDeviceTypeList; +pub mod pagination; +pub use self::pagination::Pagination; +pub mod password_challenge; +pub use self::password_challenge::PasswordChallenge; +pub mod password_challenge_response_request; +pub use self::password_challenge_response_request::PasswordChallengeResponseRequest; +pub mod password_expiry_policy; +pub use self::password_expiry_policy::PasswordExpiryPolicy; +pub mod password_expiry_policy_request; +pub use self::password_expiry_policy_request::PasswordExpiryPolicyRequest; +pub mod password_policy; +pub use self::password_policy::PasswordPolicy; +pub mod password_policy_request; +pub use self::password_policy_request::PasswordPolicyRequest; +pub mod password_stage; +pub use self::password_stage::PasswordStage; +pub mod password_stage_request; +pub use self::password_stage_request::PasswordStageRequest; +pub mod patched_application_request; +pub use self::patched_application_request::PatchedApplicationRequest; +pub mod patched_authenticator_duo_stage_request; +pub use self::patched_authenticator_duo_stage_request::PatchedAuthenticatorDuoStageRequest; +pub mod patched_authenticator_sms_stage_request; +pub use self::patched_authenticator_sms_stage_request::PatchedAuthenticatorSmsStageRequest; +pub mod patched_authenticator_static_stage_request; +pub use self::patched_authenticator_static_stage_request::PatchedAuthenticatorStaticStageRequest; +pub mod patched_authenticator_totp_stage_request; +pub use self::patched_authenticator_totp_stage_request::PatchedAuthenticatorTotpStageRequest; +pub mod patched_authenticator_validate_stage_request; +pub use self::patched_authenticator_validate_stage_request::PatchedAuthenticatorValidateStageRequest; +pub mod patched_authenticator_web_authn_stage_request; +pub use self::patched_authenticator_web_authn_stage_request::PatchedAuthenticatorWebAuthnStageRequest; +pub mod patched_blueprint_instance_request; +pub use self::patched_blueprint_instance_request::PatchedBlueprintInstanceRequest; +pub mod patched_brand_request; +pub use self::patched_brand_request::PatchedBrandRequest; +pub mod patched_captcha_stage_request; +pub use self::patched_captcha_stage_request::PatchedCaptchaStageRequest; +pub mod patched_certificate_key_pair_request; +pub use self::patched_certificate_key_pair_request::PatchedCertificateKeyPairRequest; +pub mod patched_connection_token_request; +pub use self::patched_connection_token_request::PatchedConnectionTokenRequest; +pub mod patched_consent_stage_request; +pub use self::patched_consent_stage_request::PatchedConsentStageRequest; +pub mod patched_deny_stage_request; +pub use self::patched_deny_stage_request::PatchedDenyStageRequest; +pub mod patched_docker_service_connection_request; +pub use self::patched_docker_service_connection_request::PatchedDockerServiceConnectionRequest; +pub mod patched_domain_request; +pub use self::patched_domain_request::PatchedDomainRequest; +pub mod patched_dummy_policy_request; +pub use self::patched_dummy_policy_request::PatchedDummyPolicyRequest; +pub mod patched_dummy_stage_request; +pub use self::patched_dummy_stage_request::PatchedDummyStageRequest; +pub mod patched_duo_device_request; +pub use self::patched_duo_device_request::PatchedDuoDeviceRequest; +pub mod patched_email_stage_request; +pub use self::patched_email_stage_request::PatchedEmailStageRequest; +pub mod patched_endpoint_request; +pub use self::patched_endpoint_request::PatchedEndpointRequest; +pub mod patched_event_matcher_policy_request; +pub use self::patched_event_matcher_policy_request::PatchedEventMatcherPolicyRequest; +pub mod patched_event_request; +pub use self::patched_event_request::PatchedEventRequest; +pub mod patched_expression_policy_request; +pub use self::patched_expression_policy_request::PatchedExpressionPolicyRequest; +pub mod patched_extra_role_object_permission_request; +pub use self::patched_extra_role_object_permission_request::PatchedExtraRoleObjectPermissionRequest; +pub mod patched_extra_user_object_permission_request; +pub use self::patched_extra_user_object_permission_request::PatchedExtraUserObjectPermissionRequest; +pub mod patched_flow_request; +pub use self::patched_flow_request::PatchedFlowRequest; +pub mod patched_flow_stage_binding_request; +pub use self::patched_flow_stage_binding_request::PatchedFlowStageBindingRequest; +pub mod patched_geo_ip_policy_request; +pub use self::patched_geo_ip_policy_request::PatchedGeoIpPolicyRequest; +pub mod patched_google_workspace_provider_mapping_request; +pub use self::patched_google_workspace_provider_mapping_request::PatchedGoogleWorkspaceProviderMappingRequest; +pub mod patched_google_workspace_provider_request; +pub use self::patched_google_workspace_provider_request::PatchedGoogleWorkspaceProviderRequest; +pub mod patched_group_request; +pub use self::patched_group_request::PatchedGroupRequest; +pub mod patched_identification_stage_request; +pub use self::patched_identification_stage_request::PatchedIdentificationStageRequest; +pub mod patched_invitation_request; +pub use self::patched_invitation_request::PatchedInvitationRequest; +pub mod patched_invitation_stage_request; +pub use self::patched_invitation_stage_request::PatchedInvitationStageRequest; +pub mod patched_kubernetes_service_connection_request; +pub use self::patched_kubernetes_service_connection_request::PatchedKubernetesServiceConnectionRequest; +pub mod patched_ldap_provider_request; +pub use self::patched_ldap_provider_request::PatchedLdapProviderRequest; +pub mod patched_ldap_source_property_mapping_request; +pub use self::patched_ldap_source_property_mapping_request::PatchedLdapSourcePropertyMappingRequest; +pub mod patched_ldap_source_request; +pub use self::patched_ldap_source_request::PatchedLdapSourceRequest; +pub mod patched_license_request; +pub use self::patched_license_request::PatchedLicenseRequest; +pub mod patched_microsoft_entra_provider_mapping_request; +pub use self::patched_microsoft_entra_provider_mapping_request::PatchedMicrosoftEntraProviderMappingRequest; +pub mod patched_microsoft_entra_provider_request; +pub use self::patched_microsoft_entra_provider_request::PatchedMicrosoftEntraProviderRequest; +pub mod patched_notification_request; +pub use self::patched_notification_request::PatchedNotificationRequest; +pub mod patched_notification_rule_request; +pub use self::patched_notification_rule_request::PatchedNotificationRuleRequest; +pub mod patched_notification_transport_request; +pub use self::patched_notification_transport_request::PatchedNotificationTransportRequest; +pub mod patched_notification_webhook_mapping_request; +pub use self::patched_notification_webhook_mapping_request::PatchedNotificationWebhookMappingRequest; +pub mod patched_o_auth2_provider_request; +pub use self::patched_o_auth2_provider_request::PatchedOAuth2ProviderRequest; +pub mod patched_o_auth_source_property_mapping_request; +pub use self::patched_o_auth_source_property_mapping_request::PatchedOAuthSourcePropertyMappingRequest; +pub mod patched_o_auth_source_request; +pub use self::patched_o_auth_source_request::PatchedOAuthSourceRequest; +pub mod patched_outpost_request; +pub use self::patched_outpost_request::PatchedOutpostRequest; +pub mod patched_password_expiry_policy_request; +pub use self::patched_password_expiry_policy_request::PatchedPasswordExpiryPolicyRequest; +pub mod patched_password_policy_request; +pub use self::patched_password_policy_request::PatchedPasswordPolicyRequest; +pub mod patched_password_stage_request; +pub use self::patched_password_stage_request::PatchedPasswordStageRequest; +pub mod patched_permission_assign_request; +pub use self::patched_permission_assign_request::PatchedPermissionAssignRequest; +pub mod patched_plex_source_property_mapping_request; +pub use self::patched_plex_source_property_mapping_request::PatchedPlexSourcePropertyMappingRequest; +pub mod patched_plex_source_request; +pub use self::patched_plex_source_request::PatchedPlexSourceRequest; +pub mod patched_policy_binding_request; +pub use self::patched_policy_binding_request::PatchedPolicyBindingRequest; +pub mod patched_prompt_request; +pub use self::patched_prompt_request::PatchedPromptRequest; +pub mod patched_prompt_stage_request; +pub use self::patched_prompt_stage_request::PatchedPromptStageRequest; +pub mod patched_proxy_provider_request; +pub use self::patched_proxy_provider_request::PatchedProxyProviderRequest; +pub mod patched_rac_property_mapping_request; +pub use self::patched_rac_property_mapping_request::PatchedRacPropertyMappingRequest; +pub mod patched_rac_provider_request; +pub use self::patched_rac_provider_request::PatchedRacProviderRequest; +pub mod patched_radius_provider_property_mapping_request; +pub use self::patched_radius_provider_property_mapping_request::PatchedRadiusProviderPropertyMappingRequest; +pub mod patched_radius_provider_request; +pub use self::patched_radius_provider_request::PatchedRadiusProviderRequest; +pub mod patched_reputation_policy_request; +pub use self::patched_reputation_policy_request::PatchedReputationPolicyRequest; +pub mod patched_role_request; +pub use self::patched_role_request::PatchedRoleRequest; +pub mod patched_saml_property_mapping_request; +pub use self::patched_saml_property_mapping_request::PatchedSamlPropertyMappingRequest; +pub mod patched_saml_provider_request; +pub use self::patched_saml_provider_request::PatchedSamlProviderRequest; +pub mod patched_saml_source_property_mapping_request; +pub use self::patched_saml_source_property_mapping_request::PatchedSamlSourcePropertyMappingRequest; +pub mod patched_saml_source_request; +pub use self::patched_saml_source_request::PatchedSamlSourceRequest; +pub mod patched_scim_mapping_request; +pub use self::patched_scim_mapping_request::PatchedScimMappingRequest; +pub mod patched_scim_provider_request; +pub use self::patched_scim_provider_request::PatchedScimProviderRequest; +pub mod patched_scim_source_group_request; +pub use self::patched_scim_source_group_request::PatchedScimSourceGroupRequest; +pub mod patched_scim_source_property_mapping_request; +pub use self::patched_scim_source_property_mapping_request::PatchedScimSourcePropertyMappingRequest; +pub mod patched_scim_source_request; +pub use self::patched_scim_source_request::PatchedScimSourceRequest; +pub mod patched_scim_source_user_request; +pub use self::patched_scim_source_user_request::PatchedScimSourceUserRequest; +pub mod patched_scope_mapping_request; +pub use self::patched_scope_mapping_request::PatchedScopeMappingRequest; +pub mod patched_settings_request; +pub use self::patched_settings_request::PatchedSettingsRequest; +pub mod patched_sms_device_request; +pub use self::patched_sms_device_request::PatchedSmsDeviceRequest; +pub mod patched_source_stage_request; +pub use self::patched_source_stage_request::PatchedSourceStageRequest; +pub mod patched_static_device_request; +pub use self::patched_static_device_request::PatchedStaticDeviceRequest; +pub mod patched_tenant_request; +pub use self::patched_tenant_request::PatchedTenantRequest; +pub mod patched_token_request; +pub use self::patched_token_request::PatchedTokenRequest; +pub mod patched_totp_device_request; +pub use self::patched_totp_device_request::PatchedTotpDeviceRequest; +pub mod patched_user_delete_stage_request; +pub use self::patched_user_delete_stage_request::PatchedUserDeleteStageRequest; +pub mod patched_user_login_stage_request; +pub use self::patched_user_login_stage_request::PatchedUserLoginStageRequest; +pub mod patched_user_logout_stage_request; +pub use self::patched_user_logout_stage_request::PatchedUserLogoutStageRequest; +pub mod patched_user_o_auth_source_connection_request; +pub use self::patched_user_o_auth_source_connection_request::PatchedUserOAuthSourceConnectionRequest; +pub mod patched_user_plex_source_connection_request; +pub use self::patched_user_plex_source_connection_request::PatchedUserPlexSourceConnectionRequest; +pub mod patched_user_request; +pub use self::patched_user_request::PatchedUserRequest; +pub mod patched_user_saml_source_connection_request; +pub use self::patched_user_saml_source_connection_request::PatchedUserSamlSourceConnectionRequest; +pub mod patched_user_write_stage_request; +pub use self::patched_user_write_stage_request::PatchedUserWriteStageRequest; +pub mod patched_web_authn_device_request; +pub use self::patched_web_authn_device_request::PatchedWebAuthnDeviceRequest; +pub mod permission; +pub use self::permission::Permission; +pub mod permission_assign_request; +pub use self::permission_assign_request::PermissionAssignRequest; +pub mod permission_assign_result; +pub use self::permission_assign_result::PermissionAssignResult; +pub mod plex_authentication_challenge; +pub use self::plex_authentication_challenge::PlexAuthenticationChallenge; +pub mod plex_authentication_challenge_response_request; +pub use self::plex_authentication_challenge_response_request::PlexAuthenticationChallengeResponseRequest; +pub mod plex_source; +pub use self::plex_source::PlexSource; +pub mod plex_source_property_mapping; +pub use self::plex_source_property_mapping::PlexSourcePropertyMapping; +pub mod plex_source_property_mapping_request; +pub use self::plex_source_property_mapping_request::PlexSourcePropertyMappingRequest; +pub mod plex_source_request; +pub use self::plex_source_request::PlexSourceRequest; +pub mod plex_token_redeem_request; +pub use self::plex_token_redeem_request::PlexTokenRedeemRequest; +pub mod policy; +pub use self::policy::Policy; +pub mod policy_binding; +pub use self::policy_binding::PolicyBinding; +pub mod policy_binding_request; +pub use self::policy_binding_request::PolicyBindingRequest; +pub mod policy_engine_mode; +pub use self::policy_engine_mode::PolicyEngineMode; +pub mod policy_request; +pub use self::policy_request::PolicyRequest; +pub mod policy_test_request; +pub use self::policy_test_request::PolicyTestRequest; +pub mod policy_test_result; +pub use self::policy_test_result::PolicyTestResult; +pub mod prompt; +pub use self::prompt::Prompt; +pub mod prompt_challenge; +pub use self::prompt_challenge::PromptChallenge; +pub mod prompt_challenge_response_request; +pub use self::prompt_challenge_response_request::PromptChallengeResponseRequest; +pub mod prompt_request; +pub use self::prompt_request::PromptRequest; +pub mod prompt_stage; +pub use self::prompt_stage::PromptStage; +pub mod prompt_stage_request; +pub use self::prompt_stage_request::PromptStageRequest; +pub mod prompt_type_enum; +pub use self::prompt_type_enum::PromptTypeEnum; +pub mod property_mapping; +pub use self::property_mapping::PropertyMapping; +pub mod property_mapping_preview; +pub use self::property_mapping_preview::PropertyMappingPreview; +pub mod property_mapping_test_request; +pub use self::property_mapping_test_request::PropertyMappingTestRequest; +pub mod property_mapping_test_result; +pub use self::property_mapping_test_result::PropertyMappingTestResult; +pub mod protocol_enum; +pub use self::protocol_enum::ProtocolEnum; +pub mod provider; +pub use self::provider::Provider; +pub mod provider_enum; +pub use self::provider_enum::ProviderEnum; +pub mod provider_model_enum; +pub use self::provider_model_enum::ProviderModelEnum; +pub mod provider_request; +pub use self::provider_request::ProviderRequest; +pub mod provider_type_enum; +pub use self::provider_type_enum::ProviderTypeEnum; +pub mod proxy_mode; +pub use self::proxy_mode::ProxyMode; +pub mod proxy_outpost_config; +pub use self::proxy_outpost_config::ProxyOutpostConfig; +pub mod proxy_provider; +pub use self::proxy_provider::ProxyProvider; +pub mod proxy_provider_request; +pub use self::proxy_provider_request::ProxyProviderRequest; +pub mod rac_property_mapping; +pub use self::rac_property_mapping::RacPropertyMapping; +pub mod rac_property_mapping_request; +pub use self::rac_property_mapping_request::RacPropertyMappingRequest; +pub mod rac_provider; +pub use self::rac_provider::RacProvider; +pub mod rac_provider_request; +pub use self::rac_provider_request::RacProviderRequest; +pub mod radius_check_access; +pub use self::radius_check_access::RadiusCheckAccess; +pub mod radius_outpost_config; +pub use self::radius_outpost_config::RadiusOutpostConfig; +pub mod radius_provider; +pub use self::radius_provider::RadiusProvider; +pub mod radius_provider_property_mapping; +pub use self::radius_provider_property_mapping::RadiusProviderPropertyMapping; +pub mod radius_provider_property_mapping_request; +pub use self::radius_provider_property_mapping_request::RadiusProviderPropertyMappingRequest; +pub mod radius_provider_request; +pub use self::radius_provider_request::RadiusProviderRequest; +pub mod redirect_challenge; +pub use self::redirect_challenge::RedirectChallenge; +pub mod reputation; +pub use self::reputation::Reputation; +pub mod reputation_policy; +pub use self::reputation_policy::ReputationPolicy; +pub mod reputation_policy_request; +pub use self::reputation_policy_request::ReputationPolicyRequest; +pub mod resident_key_requirement_enum; +pub use self::resident_key_requirement_enum::ResidentKeyRequirementEnum; +pub mod role; +pub use self::role::Role; +pub mod role_assigned_object_permission; +pub use self::role_assigned_object_permission::RoleAssignedObjectPermission; +pub mod role_object_permission; +pub use self::role_object_permission::RoleObjectPermission; +pub mod role_request; +pub use self::role_request::RoleRequest; +pub mod saml_metadata; +pub use self::saml_metadata::SamlMetadata; +pub mod saml_property_mapping; +pub use self::saml_property_mapping::SamlPropertyMapping; +pub mod saml_property_mapping_request; +pub use self::saml_property_mapping_request::SamlPropertyMappingRequest; +pub mod saml_provider; +pub use self::saml_provider::SamlProvider; +pub mod saml_provider_request; +pub use self::saml_provider_request::SamlProviderRequest; +pub mod saml_source; +pub use self::saml_source::SamlSource; +pub mod saml_source_property_mapping; +pub use self::saml_source_property_mapping::SamlSourcePropertyMapping; +pub mod saml_source_property_mapping_request; +pub use self::saml_source_property_mapping_request::SamlSourcePropertyMappingRequest; +pub mod saml_source_request; +pub use self::saml_source_request::SamlSourceRequest; +pub mod scim_mapping; +pub use self::scim_mapping::ScimMapping; +pub mod scim_mapping_request; +pub use self::scim_mapping_request::ScimMappingRequest; +pub mod scim_provider; +pub use self::scim_provider::ScimProvider; +pub mod scim_provider_group; +pub use self::scim_provider_group::ScimProviderGroup; +pub mod scim_provider_group_request; +pub use self::scim_provider_group_request::ScimProviderGroupRequest; +pub mod scim_provider_request; +pub use self::scim_provider_request::ScimProviderRequest; +pub mod scim_provider_user; +pub use self::scim_provider_user::ScimProviderUser; +pub mod scim_provider_user_request; +pub use self::scim_provider_user_request::ScimProviderUserRequest; +pub mod scim_source; +pub use self::scim_source::ScimSource; +pub mod scim_source_group; +pub use self::scim_source_group::ScimSourceGroup; +pub mod scim_source_group_request; +pub use self::scim_source_group_request::ScimSourceGroupRequest; +pub mod scim_source_property_mapping; +pub use self::scim_source_property_mapping::ScimSourcePropertyMapping; +pub mod scim_source_property_mapping_request; +pub use self::scim_source_property_mapping_request::ScimSourcePropertyMappingRequest; +pub mod scim_source_request; +pub use self::scim_source_request::ScimSourceRequest; +pub mod scim_source_user; +pub use self::scim_source_user::ScimSourceUser; +pub mod scim_source_user_request; +pub use self::scim_source_user_request::ScimSourceUserRequest; +pub mod scope_mapping; +pub use self::scope_mapping::ScopeMapping; +pub mod scope_mapping_request; +pub use self::scope_mapping_request::ScopeMappingRequest; +pub mod selectable_stage; +pub use self::selectable_stage::SelectableStage; +pub mod service_connection; +pub use self::service_connection::ServiceConnection; +pub mod service_connection_request; +pub use self::service_connection_request::ServiceConnectionRequest; +pub mod service_connection_state; +pub use self::service_connection_state::ServiceConnectionState; +pub mod session_user; +pub use self::session_user::SessionUser; +pub mod settings; +pub use self::settings::Settings; +pub mod settings_request; +pub use self::settings_request::SettingsRequest; +pub mod severity_enum; +pub use self::severity_enum::SeverityEnum; +pub mod shell_challenge; +pub use self::shell_challenge::ShellChallenge; +pub mod signature_algorithm_enum; +pub use self::signature_algorithm_enum::SignatureAlgorithmEnum; +pub mod sms_device; +pub use self::sms_device::SmsDevice; +pub mod sms_device_request; +pub use self::sms_device_request::SmsDeviceRequest; +pub mod source; +pub use self::source::Source; +pub mod source_request; +pub use self::source_request::SourceRequest; +pub mod source_stage; +pub use self::source_stage::SourceStage; +pub mod source_stage_request; +pub use self::source_stage_request::SourceStageRequest; +pub mod source_type; +pub use self::source_type::SourceType; +pub mod sp_binding_enum; +pub use self::sp_binding_enum::SpBindingEnum; +pub mod stage; +pub use self::stage::Stage; +pub mod stage_prompt; +pub use self::stage_prompt::StagePrompt; +pub mod stage_request; +pub use self::stage_request::StageRequest; +pub mod static_device; +pub use self::static_device::StaticDevice; +pub mod static_device_request; +pub use self::static_device_request::StaticDeviceRequest; +pub mod static_device_token; +pub use self::static_device_token::StaticDeviceToken; +pub mod static_device_token_request; +pub use self::static_device_token_request::StaticDeviceTokenRequest; +pub mod sub_mode_enum; +pub use self::sub_mode_enum::SubModeEnum; +pub mod sync_object_model_enum; +pub use self::sync_object_model_enum::SyncObjectModelEnum; +pub mod sync_object_request; +pub use self::sync_object_request::SyncObjectRequest; +pub mod sync_object_result; +pub use self::sync_object_result::SyncObjectResult; +pub mod sync_status; +pub use self::sync_status::SyncStatus; +pub mod system_info; +pub use self::system_info::SystemInfo; +pub mod system_info_runtime; +pub use self::system_info_runtime::SystemInfoRuntime; +pub mod system_task; +pub use self::system_task::SystemTask; +pub mod system_task_status_enum; +pub use self::system_task_status_enum::SystemTaskStatusEnum; +pub mod tenant; +pub use self::tenant::Tenant; +pub mod tenant_admin_group_request_request; +pub use self::tenant_admin_group_request_request::TenantAdminGroupRequestRequest; +pub mod tenant_recovery_key_request_request; +pub use self::tenant_recovery_key_request_request::TenantRecoveryKeyRequestRequest; +pub mod tenant_recovery_key_response; +pub use self::tenant_recovery_key_response::TenantRecoveryKeyResponse; +pub mod tenant_request; +pub use self::tenant_request::TenantRequest; +pub mod token; +pub use self::token::Token; +pub mod token_model; +pub use self::token_model::TokenModel; +pub mod token_request; +pub use self::token_request::TokenRequest; +pub mod token_set_key_request; +pub use self::token_set_key_request::TokenSetKeyRequest; +pub mod token_view; +pub use self::token_view::TokenView; +pub mod totp_device; +pub use self::totp_device::TotpDevice; +pub mod totp_device_request; +pub use self::totp_device_request::TotpDeviceRequest; +pub mod transaction_application_request; +pub use self::transaction_application_request::TransactionApplicationRequest; +pub mod transaction_application_response; +pub use self::transaction_application_response::TransactionApplicationResponse; +pub mod type_create; +pub use self::type_create::TypeCreate; +pub mod ui_theme_enum; +pub use self::ui_theme_enum::UiThemeEnum; +pub mod used_by; +pub use self::used_by::UsedBy; +pub mod used_by_action_enum; +pub use self::used_by_action_enum::UsedByActionEnum; +pub mod user; +pub use self::user::User; +pub mod user_account_request; +pub use self::user_account_request::UserAccountRequest; +pub mod user_assigned_object_permission; +pub use self::user_assigned_object_permission::UserAssignedObjectPermission; +pub mod user_consent; +pub use self::user_consent::UserConsent; +pub mod user_creation_mode_enum; +pub use self::user_creation_mode_enum::UserCreationModeEnum; +pub mod user_delete_stage; +pub use self::user_delete_stage::UserDeleteStage; +pub mod user_delete_stage_request; +pub use self::user_delete_stage_request::UserDeleteStageRequest; +pub mod user_fields_enum; +pub use self::user_fields_enum::UserFieldsEnum; +pub mod user_group; +pub use self::user_group::UserGroup; +pub mod user_group_request; +pub use self::user_group_request::UserGroupRequest; +pub mod user_login_challenge; +pub use self::user_login_challenge::UserLoginChallenge; +pub mod user_login_challenge_response_request; +pub use self::user_login_challenge_response_request::UserLoginChallengeResponseRequest; +pub mod user_login_stage; +pub use self::user_login_stage::UserLoginStage; +pub mod user_login_stage_request; +pub use self::user_login_stage_request::UserLoginStageRequest; +pub mod user_logout_stage; +pub use self::user_logout_stage::UserLogoutStage; +pub mod user_logout_stage_request; +pub use self::user_logout_stage_request::UserLogoutStageRequest; +pub mod user_matching_mode_enum; +pub use self::user_matching_mode_enum::UserMatchingModeEnum; +pub mod user_metrics; +pub use self::user_metrics::UserMetrics; +pub mod user_o_auth_source_connection; +pub use self::user_o_auth_source_connection::UserOAuthSourceConnection; +pub mod user_o_auth_source_connection_request; +pub use self::user_o_auth_source_connection_request::UserOAuthSourceConnectionRequest; +pub mod user_object_permission; +pub use self::user_object_permission::UserObjectPermission; +pub mod user_password_set_request; +pub use self::user_password_set_request::UserPasswordSetRequest; +pub mod user_path; +pub use self::user_path::UserPath; +pub mod user_plex_source_connection; +pub use self::user_plex_source_connection::UserPlexSourceConnection; +pub mod user_plex_source_connection_request; +pub use self::user_plex_source_connection_request::UserPlexSourceConnectionRequest; +pub mod user_request; +pub use self::user_request::UserRequest; +pub mod user_saml_source_connection; +pub use self::user_saml_source_connection::UserSamlSourceConnection; +pub mod user_saml_source_connection_request; +pub use self::user_saml_source_connection_request::UserSamlSourceConnectionRequest; +pub mod user_self; +pub use self::user_self::UserSelf; +pub mod user_self_groups; +pub use self::user_self_groups::UserSelfGroups; +pub mod user_service_account_request; +pub use self::user_service_account_request::UserServiceAccountRequest; +pub mod user_service_account_response; +pub use self::user_service_account_response::UserServiceAccountResponse; +pub mod user_setting; +pub use self::user_setting::UserSetting; +pub mod user_source_connection; +pub use self::user_source_connection::UserSourceConnection; +pub mod user_type_enum; +pub use self::user_type_enum::UserTypeEnum; +pub mod user_verification_enum; +pub use self::user_verification_enum::UserVerificationEnum; +pub mod user_write_stage; +pub use self::user_write_stage::UserWriteStage; +pub mod user_write_stage_request; +pub use self::user_write_stage_request::UserWriteStageRequest; +pub mod validation_error; +pub use self::validation_error::ValidationError; +pub mod version; +pub use self::version::Version; +pub mod web_authn_device; +pub use self::web_authn_device::WebAuthnDevice; +pub mod web_authn_device_request; +pub use self::web_authn_device_request::WebAuthnDeviceRequest; +pub mod web_authn_device_type; +pub use self::web_authn_device_type::WebAuthnDeviceType; +pub mod web_authn_device_type_request; +pub use self::web_authn_device_type_request::WebAuthnDeviceTypeRequest; +pub mod workers; +pub use self::workers::Workers; diff --git a/src/models/model_enum.rs b/src/models/model_enum.rs new file mode 100644 index 0000000..b5ff4a3 --- /dev/null +++ b/src/models/model_enum.rs @@ -0,0 +1,359 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum ModelEnum { + #[serde(rename = "authentik_tenants.domain")] + TenantsPeriodDomain, + #[serde(rename = "authentik_crypto.certificatekeypair")] + CryptoPeriodCertificatekeypair, + #[serde(rename = "authentik_flows.flow")] + FlowsPeriodFlow, + #[serde(rename = "authentik_flows.flowstagebinding")] + FlowsPeriodFlowstagebinding, + #[serde(rename = "authentik_outposts.dockerserviceconnection")] + OutpostsPeriodDockerserviceconnection, + #[serde(rename = "authentik_outposts.kubernetesserviceconnection")] + OutpostsPeriodKubernetesserviceconnection, + #[serde(rename = "authentik_outposts.outpost")] + OutpostsPeriodOutpost, + #[serde(rename = "authentik_policies_dummy.dummypolicy")] + PoliciesDummyPeriodDummypolicy, + #[serde(rename = "authentik_policies_event_matcher.eventmatcherpolicy")] + PoliciesEventMatcherPeriodEventmatcherpolicy, + #[serde(rename = "authentik_policies_expiry.passwordexpirypolicy")] + PoliciesExpiryPeriodPasswordexpirypolicy, + #[serde(rename = "authentik_policies_expression.expressionpolicy")] + PoliciesExpressionPeriodExpressionpolicy, + #[serde(rename = "authentik_policies_geoip.geoippolicy")] + PoliciesGeoipPeriodGeoippolicy, + #[serde(rename = "authentik_policies_password.passwordpolicy")] + PoliciesPasswordPeriodPasswordpolicy, + #[serde(rename = "authentik_policies_reputation.reputationpolicy")] + PoliciesReputationPeriodReputationpolicy, + #[serde(rename = "authentik_policies.policybinding")] + PoliciesPeriodPolicybinding, + #[serde(rename = "authentik_providers_ldap.ldapprovider")] + ProvidersLdapPeriodLdapprovider, + #[serde(rename = "authentik_providers_oauth2.scopemapping")] + ProvidersOauth2PeriodScopemapping, + #[serde(rename = "authentik_providers_oauth2.oauth2provider")] + ProvidersOauth2PeriodOauth2provider, + #[serde(rename = "authentik_providers_proxy.proxyprovider")] + ProvidersProxyPeriodProxyprovider, + #[serde(rename = "authentik_providers_radius.radiusprovider")] + ProvidersRadiusPeriodRadiusprovider, + #[serde(rename = "authentik_providers_radius.radiusproviderpropertymapping")] + ProvidersRadiusPeriodRadiusproviderpropertymapping, + #[serde(rename = "authentik_providers_saml.samlprovider")] + ProvidersSamlPeriodSamlprovider, + #[serde(rename = "authentik_providers_saml.samlpropertymapping")] + ProvidersSamlPeriodSamlpropertymapping, + #[serde(rename = "authentik_providers_scim.scimprovider")] + ProvidersScimPeriodScimprovider, + #[serde(rename = "authentik_providers_scim.scimmapping")] + ProvidersScimPeriodScimmapping, + #[serde(rename = "authentik_rbac.role")] + RbacPeriodRole, + #[serde(rename = "authentik_sources_ldap.ldapsource")] + SourcesLdapPeriodLdapsource, + #[serde(rename = "authentik_sources_ldap.ldapsourcepropertymapping")] + SourcesLdapPeriodLdapsourcepropertymapping, + #[serde(rename = "authentik_sources_oauth.oauthsource")] + SourcesOauthPeriodOauthsource, + #[serde(rename = "authentik_sources_oauth.oauthsourcepropertymapping")] + SourcesOauthPeriodOauthsourcepropertymapping, + #[serde(rename = "authentik_sources_oauth.useroauthsourceconnection")] + SourcesOauthPeriodUseroauthsourceconnection, + #[serde(rename = "authentik_sources_oauth.groupoauthsourceconnection")] + SourcesOauthPeriodGroupoauthsourceconnection, + #[serde(rename = "authentik_sources_plex.plexsource")] + SourcesPlexPeriodPlexsource, + #[serde(rename = "authentik_sources_plex.plexsourcepropertymapping")] + SourcesPlexPeriodPlexsourcepropertymapping, + #[serde(rename = "authentik_sources_plex.userplexsourceconnection")] + SourcesPlexPeriodUserplexsourceconnection, + #[serde(rename = "authentik_sources_plex.groupplexsourceconnection")] + SourcesPlexPeriodGroupplexsourceconnection, + #[serde(rename = "authentik_sources_saml.samlsource")] + SourcesSamlPeriodSamlsource, + #[serde(rename = "authentik_sources_saml.samlsourcepropertymapping")] + SourcesSamlPeriodSamlsourcepropertymapping, + #[serde(rename = "authentik_sources_saml.usersamlsourceconnection")] + SourcesSamlPeriodUsersamlsourceconnection, + #[serde(rename = "authentik_sources_saml.groupsamlsourceconnection")] + SourcesSamlPeriodGroupsamlsourceconnection, + #[serde(rename = "authentik_sources_scim.scimsource")] + SourcesScimPeriodScimsource, + #[serde(rename = "authentik_sources_scim.scimsourcepropertymapping")] + SourcesScimPeriodScimsourcepropertymapping, + #[serde(rename = "authentik_stages_authenticator_duo.authenticatorduostage")] + StagesAuthenticatorDuoPeriodAuthenticatorduostage, + #[serde(rename = "authentik_stages_authenticator_duo.duodevice")] + StagesAuthenticatorDuoPeriodDuodevice, + #[serde(rename = "authentik_stages_authenticator_sms.authenticatorsmsstage")] + StagesAuthenticatorSmsPeriodAuthenticatorsmsstage, + #[serde(rename = "authentik_stages_authenticator_sms.smsdevice")] + StagesAuthenticatorSmsPeriodSmsdevice, + #[serde(rename = "authentik_stages_authenticator_static.authenticatorstaticstage")] + StagesAuthenticatorStaticPeriodAuthenticatorstaticstage, + #[serde(rename = "authentik_stages_authenticator_static.staticdevice")] + StagesAuthenticatorStaticPeriodStaticdevice, + #[serde(rename = "authentik_stages_authenticator_totp.authenticatortotpstage")] + StagesAuthenticatorTotpPeriodAuthenticatortotpstage, + #[serde(rename = "authentik_stages_authenticator_totp.totpdevice")] + StagesAuthenticatorTotpPeriodTotpdevice, + #[serde(rename = "authentik_stages_authenticator_validate.authenticatorvalidatestage")] + StagesAuthenticatorValidatePeriodAuthenticatorvalidatestage, + #[serde(rename = "authentik_stages_authenticator_webauthn.authenticatorwebauthnstage")] + StagesAuthenticatorWebauthnPeriodAuthenticatorwebauthnstage, + #[serde(rename = "authentik_stages_authenticator_webauthn.webauthndevice")] + StagesAuthenticatorWebauthnPeriodWebauthndevice, + #[serde(rename = "authentik_stages_captcha.captchastage")] + StagesCaptchaPeriodCaptchastage, + #[serde(rename = "authentik_stages_consent.consentstage")] + StagesConsentPeriodConsentstage, + #[serde(rename = "authentik_stages_consent.userconsent")] + StagesConsentPeriodUserconsent, + #[serde(rename = "authentik_stages_deny.denystage")] + StagesDenyPeriodDenystage, + #[serde(rename = "authentik_stages_dummy.dummystage")] + StagesDummyPeriodDummystage, + #[serde(rename = "authentik_stages_email.emailstage")] + StagesEmailPeriodEmailstage, + #[serde(rename = "authentik_stages_identification.identificationstage")] + StagesIdentificationPeriodIdentificationstage, + #[serde(rename = "authentik_stages_invitation.invitationstage")] + StagesInvitationPeriodInvitationstage, + #[serde(rename = "authentik_stages_invitation.invitation")] + StagesInvitationPeriodInvitation, + #[serde(rename = "authentik_stages_password.passwordstage")] + StagesPasswordPeriodPasswordstage, + #[serde(rename = "authentik_stages_prompt.prompt")] + StagesPromptPeriodPrompt, + #[serde(rename = "authentik_stages_prompt.promptstage")] + StagesPromptPeriodPromptstage, + #[serde(rename = "authentik_stages_user_delete.userdeletestage")] + StagesUserDeletePeriodUserdeletestage, + #[serde(rename = "authentik_stages_user_login.userloginstage")] + StagesUserLoginPeriodUserloginstage, + #[serde(rename = "authentik_stages_user_logout.userlogoutstage")] + StagesUserLogoutPeriodUserlogoutstage, + #[serde(rename = "authentik_stages_user_write.userwritestage")] + StagesUserWritePeriodUserwritestage, + #[serde(rename = "authentik_brands.brand")] + BrandsPeriodBrand, + #[serde(rename = "authentik_blueprints.blueprintinstance")] + BlueprintsPeriodBlueprintinstance, + #[serde(rename = "authentik_core.group")] + CorePeriodGroup, + #[serde(rename = "authentik_core.user")] + CorePeriodUser, + #[serde(rename = "authentik_core.application")] + CorePeriodApplication, + #[serde(rename = "authentik_core.token")] + CorePeriodToken, + #[serde(rename = "authentik_enterprise.license")] + EnterprisePeriodLicense, + #[serde(rename = "authentik_providers_google_workspace.googleworkspaceprovider")] + ProvidersGoogleWorkspacePeriodGoogleworkspaceprovider, + #[serde(rename = "authentik_providers_google_workspace.googleworkspaceprovidermapping")] + ProvidersGoogleWorkspacePeriodGoogleworkspaceprovidermapping, + #[serde(rename = "authentik_providers_microsoft_entra.microsoftentraprovider")] + ProvidersMicrosoftEntraPeriodMicrosoftentraprovider, + #[serde(rename = "authentik_providers_microsoft_entra.microsoftentraprovidermapping")] + ProvidersMicrosoftEntraPeriodMicrosoftentraprovidermapping, + #[serde(rename = "authentik_providers_rac.racprovider")] + ProvidersRacPeriodRacprovider, + #[serde(rename = "authentik_providers_rac.endpoint")] + ProvidersRacPeriodEndpoint, + #[serde(rename = "authentik_providers_rac.racpropertymapping")] + ProvidersRacPeriodRacpropertymapping, + #[serde(rename = "authentik_stages_source.sourcestage")] + StagesSourcePeriodSourcestage, + #[serde(rename = "authentik_events.event")] + EventsPeriodEvent, + #[serde(rename = "authentik_events.notificationtransport")] + EventsPeriodNotificationtransport, + #[serde(rename = "authentik_events.notification")] + EventsPeriodNotification, + #[serde(rename = "authentik_events.notificationrule")] + EventsPeriodNotificationrule, + #[serde(rename = "authentik_events.notificationwebhookmapping")] + EventsPeriodNotificationwebhookmapping, +} + +impl std::fmt::Display for ModelEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::TenantsPeriodDomain => write!(f, "authentik_tenants.domain"), + Self::CryptoPeriodCertificatekeypair => write!(f, "authentik_crypto.certificatekeypair"), + Self::FlowsPeriodFlow => write!(f, "authentik_flows.flow"), + Self::FlowsPeriodFlowstagebinding => write!(f, "authentik_flows.flowstagebinding"), + Self::OutpostsPeriodDockerserviceconnection => write!(f, "authentik_outposts.dockerserviceconnection"), + Self::OutpostsPeriodKubernetesserviceconnection => { + write!(f, "authentik_outposts.kubernetesserviceconnection") + } + Self::OutpostsPeriodOutpost => write!(f, "authentik_outposts.outpost"), + Self::PoliciesDummyPeriodDummypolicy => write!(f, "authentik_policies_dummy.dummypolicy"), + Self::PoliciesEventMatcherPeriodEventmatcherpolicy => { + write!(f, "authentik_policies_event_matcher.eventmatcherpolicy") + } + Self::PoliciesExpiryPeriodPasswordexpirypolicy => { + write!(f, "authentik_policies_expiry.passwordexpirypolicy") + } + Self::PoliciesExpressionPeriodExpressionpolicy => { + write!(f, "authentik_policies_expression.expressionpolicy") + } + Self::PoliciesGeoipPeriodGeoippolicy => write!(f, "authentik_policies_geoip.geoippolicy"), + Self::PoliciesPasswordPeriodPasswordpolicy => write!(f, "authentik_policies_password.passwordpolicy"), + Self::PoliciesReputationPeriodReputationpolicy => { + write!(f, "authentik_policies_reputation.reputationpolicy") + } + Self::PoliciesPeriodPolicybinding => write!(f, "authentik_policies.policybinding"), + Self::ProvidersLdapPeriodLdapprovider => write!(f, "authentik_providers_ldap.ldapprovider"), + Self::ProvidersOauth2PeriodScopemapping => write!(f, "authentik_providers_oauth2.scopemapping"), + Self::ProvidersOauth2PeriodOauth2provider => write!(f, "authentik_providers_oauth2.oauth2provider"), + Self::ProvidersProxyPeriodProxyprovider => write!(f, "authentik_providers_proxy.proxyprovider"), + Self::ProvidersRadiusPeriodRadiusprovider => write!(f, "authentik_providers_radius.radiusprovider"), + Self::ProvidersRadiusPeriodRadiusproviderpropertymapping => { + write!(f, "authentik_providers_radius.radiusproviderpropertymapping") + } + Self::ProvidersSamlPeriodSamlprovider => write!(f, "authentik_providers_saml.samlprovider"), + Self::ProvidersSamlPeriodSamlpropertymapping => write!(f, "authentik_providers_saml.samlpropertymapping"), + Self::ProvidersScimPeriodScimprovider => write!(f, "authentik_providers_scim.scimprovider"), + Self::ProvidersScimPeriodScimmapping => write!(f, "authentik_providers_scim.scimmapping"), + Self::RbacPeriodRole => write!(f, "authentik_rbac.role"), + Self::SourcesLdapPeriodLdapsource => write!(f, "authentik_sources_ldap.ldapsource"), + Self::SourcesLdapPeriodLdapsourcepropertymapping => { + write!(f, "authentik_sources_ldap.ldapsourcepropertymapping") + } + Self::SourcesOauthPeriodOauthsource => write!(f, "authentik_sources_oauth.oauthsource"), + Self::SourcesOauthPeriodOauthsourcepropertymapping => { + write!(f, "authentik_sources_oauth.oauthsourcepropertymapping") + } + Self::SourcesOauthPeriodUseroauthsourceconnection => { + write!(f, "authentik_sources_oauth.useroauthsourceconnection") + } + Self::SourcesOauthPeriodGroupoauthsourceconnection => { + write!(f, "authentik_sources_oauth.groupoauthsourceconnection") + } + Self::SourcesPlexPeriodPlexsource => write!(f, "authentik_sources_plex.plexsource"), + Self::SourcesPlexPeriodPlexsourcepropertymapping => { + write!(f, "authentik_sources_plex.plexsourcepropertymapping") + } + Self::SourcesPlexPeriodUserplexsourceconnection => { + write!(f, "authentik_sources_plex.userplexsourceconnection") + } + Self::SourcesPlexPeriodGroupplexsourceconnection => { + write!(f, "authentik_sources_plex.groupplexsourceconnection") + } + Self::SourcesSamlPeriodSamlsource => write!(f, "authentik_sources_saml.samlsource"), + Self::SourcesSamlPeriodSamlsourcepropertymapping => { + write!(f, "authentik_sources_saml.samlsourcepropertymapping") + } + Self::SourcesSamlPeriodUsersamlsourceconnection => { + write!(f, "authentik_sources_saml.usersamlsourceconnection") + } + Self::SourcesSamlPeriodGroupsamlsourceconnection => { + write!(f, "authentik_sources_saml.groupsamlsourceconnection") + } + Self::SourcesScimPeriodScimsource => write!(f, "authentik_sources_scim.scimsource"), + Self::SourcesScimPeriodScimsourcepropertymapping => { + write!(f, "authentik_sources_scim.scimsourcepropertymapping") + } + Self::StagesAuthenticatorDuoPeriodAuthenticatorduostage => { + write!(f, "authentik_stages_authenticator_duo.authenticatorduostage") + } + Self::StagesAuthenticatorDuoPeriodDuodevice => write!(f, "authentik_stages_authenticator_duo.duodevice"), + Self::StagesAuthenticatorSmsPeriodAuthenticatorsmsstage => { + write!(f, "authentik_stages_authenticator_sms.authenticatorsmsstage") + } + Self::StagesAuthenticatorSmsPeriodSmsdevice => write!(f, "authentik_stages_authenticator_sms.smsdevice"), + Self::StagesAuthenticatorStaticPeriodAuthenticatorstaticstage => { + write!(f, "authentik_stages_authenticator_static.authenticatorstaticstage") + } + Self::StagesAuthenticatorStaticPeriodStaticdevice => { + write!(f, "authentik_stages_authenticator_static.staticdevice") + } + Self::StagesAuthenticatorTotpPeriodAuthenticatortotpstage => { + write!(f, "authentik_stages_authenticator_totp.authenticatortotpstage") + } + Self::StagesAuthenticatorTotpPeriodTotpdevice => { + write!(f, "authentik_stages_authenticator_totp.totpdevice") + } + Self::StagesAuthenticatorValidatePeriodAuthenticatorvalidatestage => { + write!(f, "authentik_stages_authenticator_validate.authenticatorvalidatestage") + } + Self::StagesAuthenticatorWebauthnPeriodAuthenticatorwebauthnstage => { + write!(f, "authentik_stages_authenticator_webauthn.authenticatorwebauthnstage") + } + Self::StagesAuthenticatorWebauthnPeriodWebauthndevice => { + write!(f, "authentik_stages_authenticator_webauthn.webauthndevice") + } + Self::StagesCaptchaPeriodCaptchastage => write!(f, "authentik_stages_captcha.captchastage"), + Self::StagesConsentPeriodConsentstage => write!(f, "authentik_stages_consent.consentstage"), + Self::StagesConsentPeriodUserconsent => write!(f, "authentik_stages_consent.userconsent"), + Self::StagesDenyPeriodDenystage => write!(f, "authentik_stages_deny.denystage"), + Self::StagesDummyPeriodDummystage => write!(f, "authentik_stages_dummy.dummystage"), + Self::StagesEmailPeriodEmailstage => write!(f, "authentik_stages_email.emailstage"), + Self::StagesIdentificationPeriodIdentificationstage => { + write!(f, "authentik_stages_identification.identificationstage") + } + Self::StagesInvitationPeriodInvitationstage => write!(f, "authentik_stages_invitation.invitationstage"), + Self::StagesInvitationPeriodInvitation => write!(f, "authentik_stages_invitation.invitation"), + Self::StagesPasswordPeriodPasswordstage => write!(f, "authentik_stages_password.passwordstage"), + Self::StagesPromptPeriodPrompt => write!(f, "authentik_stages_prompt.prompt"), + Self::StagesPromptPeriodPromptstage => write!(f, "authentik_stages_prompt.promptstage"), + Self::StagesUserDeletePeriodUserdeletestage => write!(f, "authentik_stages_user_delete.userdeletestage"), + Self::StagesUserLoginPeriodUserloginstage => write!(f, "authentik_stages_user_login.userloginstage"), + Self::StagesUserLogoutPeriodUserlogoutstage => write!(f, "authentik_stages_user_logout.userlogoutstage"), + Self::StagesUserWritePeriodUserwritestage => write!(f, "authentik_stages_user_write.userwritestage"), + Self::BrandsPeriodBrand => write!(f, "authentik_brands.brand"), + Self::BlueprintsPeriodBlueprintinstance => write!(f, "authentik_blueprints.blueprintinstance"), + Self::CorePeriodGroup => write!(f, "authentik_core.group"), + Self::CorePeriodUser => write!(f, "authentik_core.user"), + Self::CorePeriodApplication => write!(f, "authentik_core.application"), + Self::CorePeriodToken => write!(f, "authentik_core.token"), + Self::EnterprisePeriodLicense => write!(f, "authentik_enterprise.license"), + Self::ProvidersGoogleWorkspacePeriodGoogleworkspaceprovider => { + write!(f, "authentik_providers_google_workspace.googleworkspaceprovider") + } + Self::ProvidersGoogleWorkspacePeriodGoogleworkspaceprovidermapping => { + write!(f, "authentik_providers_google_workspace.googleworkspaceprovidermapping") + } + Self::ProvidersMicrosoftEntraPeriodMicrosoftentraprovider => { + write!(f, "authentik_providers_microsoft_entra.microsoftentraprovider") + } + Self::ProvidersMicrosoftEntraPeriodMicrosoftentraprovidermapping => { + write!(f, "authentik_providers_microsoft_entra.microsoftentraprovidermapping") + } + Self::ProvidersRacPeriodRacprovider => write!(f, "authentik_providers_rac.racprovider"), + Self::ProvidersRacPeriodEndpoint => write!(f, "authentik_providers_rac.endpoint"), + Self::ProvidersRacPeriodRacpropertymapping => write!(f, "authentik_providers_rac.racpropertymapping"), + Self::StagesSourcePeriodSourcestage => write!(f, "authentik_stages_source.sourcestage"), + Self::EventsPeriodEvent => write!(f, "authentik_events.event"), + Self::EventsPeriodNotificationtransport => write!(f, "authentik_events.notificationtransport"), + Self::EventsPeriodNotification => write!(f, "authentik_events.notification"), + Self::EventsPeriodNotificationrule => write!(f, "authentik_events.notificationrule"), + Self::EventsPeriodNotificationwebhookmapping => write!(f, "authentik_events.notificationwebhookmapping"), + } + } +} + +impl Default for ModelEnum { + fn default() -> ModelEnum { + Self::TenantsPeriodDomain + } +} diff --git a/src/models/model_request.rs b/src/models/model_request.rs new file mode 100644 index 0000000..190bb35 --- /dev/null +++ b/src/models/model_request.rs @@ -0,0 +1,41 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(tag = "provider_model")] +pub enum ModelRequest { + #[serde(rename = "authentik_providers_google_workspace.googleworkspaceprovider")] + AuthentikProvidersGoogleWorkspacePeriodGoogleworkspaceprovider(models::GoogleWorkspaceProviderRequest), + #[serde(rename = "authentik_providers_ldap.ldapprovider")] + AuthentikProvidersLdapPeriodLdapprovider(models::LdapProviderRequest), + #[serde(rename = "authentik_providers_microsoft_entra.microsoftentraprovider")] + AuthentikProvidersMicrosoftEntraPeriodMicrosoftentraprovider(models::MicrosoftEntraProviderRequest), + #[serde(rename = "authentik_providers_oauth2.oauth2provider")] + AuthentikProvidersOauth2PeriodOauth2provider(models::OAuth2ProviderRequest), + #[serde(rename = "authentik_providers_proxy.proxyprovider")] + AuthentikProvidersProxyPeriodProxyprovider(models::ProxyProviderRequest), + #[serde(rename = "authentik_providers_rac.racprovider")] + AuthentikProvidersRacPeriodRacprovider(models::RacProviderRequest), + #[serde(rename = "authentik_providers_radius.radiusprovider")] + AuthentikProvidersRadiusPeriodRadiusprovider(models::RadiusProviderRequest), + #[serde(rename = "authentik_providers_saml.samlprovider")] + AuthentikProvidersSamlPeriodSamlprovider(models::SamlProviderRequest), + #[serde(rename = "authentik_providers_scim.scimprovider")] + AuthentikProvidersScimPeriodScimprovider(models::ScimProviderRequest), +} + +impl Default for ModelRequest { + fn default() -> Self { + Self::AuthentikProvidersGoogleWorkspacePeriodGoogleworkspaceprovider(Default::default()) + } +} diff --git a/src/models/name_id_policy_enum.rs b/src/models/name_id_policy_enum.rs new file mode 100644 index 0000000..1388c1b --- /dev/null +++ b/src/models/name_id_policy_enum.rs @@ -0,0 +1,56 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum NameIdPolicyEnum { + #[serde(rename = "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress")] + Variant1Period1ColonNameidFormatColonEmailAddress, + #[serde(rename = "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent")] + Variant2Period0ColonNameidFormatColonPersistent, + #[serde(rename = "urn:oasis:names:tc:SAML:2.0:nameid-format:X509SubjectName")] + Variant2Period0ColonNameidFormatColonX509SubjectName, + #[serde(rename = "urn:oasis:names:tc:SAML:2.0:nameid-format:WindowsDomainQualifiedName")] + Variant2Period0ColonNameidFormatColonWindowsDomainQualifiedName, + #[serde(rename = "urn:oasis:names:tc:SAML:2.0:nameid-format:transient")] + Variant2Period0ColonNameidFormatColonTransient, +} + +impl std::fmt::Display for NameIdPolicyEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Variant1Period1ColonNameidFormatColonEmailAddress => { + write!(f, "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress") + } + Self::Variant2Period0ColonNameidFormatColonPersistent => { + write!(f, "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent") + } + Self::Variant2Period0ColonNameidFormatColonX509SubjectName => { + write!(f, "urn:oasis:names:tc:SAML:2.0:nameid-format:X509SubjectName") + } + Self::Variant2Period0ColonNameidFormatColonWindowsDomainQualifiedName => write!( + f, + "urn:oasis:names:tc:SAML:2.0:nameid-format:WindowsDomainQualifiedName" + ), + Self::Variant2Period0ColonNameidFormatColonTransient => { + write!(f, "urn:oasis:names:tc:SAML:2.0:nameid-format:transient") + } + } + } +} + +impl Default for NameIdPolicyEnum { + fn default() -> NameIdPolicyEnum { + Self::Variant1Period1ColonNameidFormatColonEmailAddress + } +} diff --git a/src/models/network_binding_enum.rs b/src/models/network_binding_enum.rs new file mode 100644 index 0000000..7581270 --- /dev/null +++ b/src/models/network_binding_enum.rs @@ -0,0 +1,42 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum NetworkBindingEnum { + #[serde(rename = "no_binding")] + NoBinding, + #[serde(rename = "bind_asn")] + BindAsn, + #[serde(rename = "bind_asn_network")] + BindAsnNetwork, + #[serde(rename = "bind_asn_network_ip")] + BindAsnNetworkIp, +} + +impl std::fmt::Display for NetworkBindingEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::NoBinding => write!(f, "no_binding"), + Self::BindAsn => write!(f, "bind_asn"), + Self::BindAsnNetwork => write!(f, "bind_asn_network"), + Self::BindAsnNetworkIp => write!(f, "bind_asn_network_ip"), + } + } +} + +impl Default for NetworkBindingEnum { + fn default() -> NetworkBindingEnum { + Self::NoBinding + } +} diff --git a/src/models/not_configured_action_enum.rs b/src/models/not_configured_action_enum.rs new file mode 100644 index 0000000..d4dba96 --- /dev/null +++ b/src/models/not_configured_action_enum.rs @@ -0,0 +1,39 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum NotConfiguredActionEnum { + #[serde(rename = "skip")] + Skip, + #[serde(rename = "deny")] + Deny, + #[serde(rename = "configure")] + Configure, +} + +impl std::fmt::Display for NotConfiguredActionEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Skip => write!(f, "skip"), + Self::Deny => write!(f, "deny"), + Self::Configure => write!(f, "configure"), + } + } +} + +impl Default for NotConfiguredActionEnum { + fn default() -> NotConfiguredActionEnum { + Self::Skip + } +} diff --git a/src/models/notification.rs b/src/models/notification.rs new file mode 100644 index 0000000..e083120 --- /dev/null +++ b/src/models/notification.rs @@ -0,0 +1,43 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Notification : Notification Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Notification { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "severity")] + pub severity: models::SeverityEnum, + #[serde(rename = "body")] + pub body: String, + #[serde(rename = "created")] + pub created: String, + #[serde(rename = "event", skip_serializing_if = "Option::is_none")] + pub event: Option, + #[serde(rename = "seen", skip_serializing_if = "Option::is_none")] + pub seen: Option, +} + +impl Notification { + /// Notification Serializer + pub fn new(pk: uuid::Uuid, severity: models::SeverityEnum, body: String, created: String) -> Notification { + Notification { + pk, + severity, + body, + created, + event: None, + seen: None, + } + } +} diff --git a/src/models/notification_request.rs b/src/models/notification_request.rs new file mode 100644 index 0000000..9d31fb7 --- /dev/null +++ b/src/models/notification_request.rs @@ -0,0 +1,31 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// NotificationRequest : Notification Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct NotificationRequest { + #[serde(rename = "event", skip_serializing_if = "Option::is_none")] + pub event: Option, + #[serde(rename = "seen", skip_serializing_if = "Option::is_none")] + pub seen: Option, +} + +impl NotificationRequest { + /// Notification Serializer + pub fn new() -> NotificationRequest { + NotificationRequest { + event: None, + seen: None, + } + } +} diff --git a/src/models/notification_rule.rs b/src/models/notification_rule.rs new file mode 100644 index 0000000..6902e72 --- /dev/null +++ b/src/models/notification_rule.rs @@ -0,0 +1,51 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// NotificationRule : NotificationRule Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct NotificationRule { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Select which transports should be used to notify the user. If none are selected, the notification will only be shown in the authentik UI. + #[serde(rename = "transports", skip_serializing_if = "Option::is_none")] + pub transports: Option>, + /// Controls which severity level the created notifications will have. + #[serde(rename = "severity", skip_serializing_if = "Option::is_none")] + pub severity: Option, + /// Define which group of users this notification should be sent and shown to. If left empty, Notification won't ben sent. + #[serde( + rename = "group", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub group: Option>, + #[serde(rename = "group_obj")] + pub group_obj: models::Group, +} + +impl NotificationRule { + /// NotificationRule Serializer + pub fn new(pk: uuid::Uuid, name: String, group_obj: models::Group) -> NotificationRule { + NotificationRule { + pk, + name, + transports: None, + severity: None, + group: None, + group_obj, + } + } +} diff --git a/src/models/notification_rule_request.rs b/src/models/notification_rule_request.rs new file mode 100644 index 0000000..bea5767 --- /dev/null +++ b/src/models/notification_rule_request.rs @@ -0,0 +1,45 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// NotificationRuleRequest : NotificationRule Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct NotificationRuleRequest { + #[serde(rename = "name")] + pub name: String, + /// Select which transports should be used to notify the user. If none are selected, the notification will only be shown in the authentik UI. + #[serde(rename = "transports", skip_serializing_if = "Option::is_none")] + pub transports: Option>, + /// Controls which severity level the created notifications will have. + #[serde(rename = "severity", skip_serializing_if = "Option::is_none")] + pub severity: Option, + /// Define which group of users this notification should be sent and shown to. If left empty, Notification won't ben sent. + #[serde( + rename = "group", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub group: Option>, +} + +impl NotificationRuleRequest { + /// NotificationRule Serializer + pub fn new(name: String) -> NotificationRuleRequest { + NotificationRuleRequest { + name, + transports: None, + severity: None, + group: None, + } + } +} diff --git a/src/models/notification_transport.rs b/src/models/notification_transport.rs new file mode 100644 index 0000000..a857eca --- /dev/null +++ b/src/models/notification_transport.rs @@ -0,0 +1,53 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// NotificationTransport : NotificationTransport Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct NotificationTransport { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// Return selected mode with a UI Label + #[serde(rename = "mode_verbose")] + pub mode_verbose: String, + #[serde(rename = "webhook_url", skip_serializing_if = "Option::is_none")] + pub webhook_url: Option, + #[serde( + rename = "webhook_mapping", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub webhook_mapping: Option>, + /// Only send notification once, for example when sending a webhook into a chat channel. + #[serde(rename = "send_once", skip_serializing_if = "Option::is_none")] + pub send_once: Option, +} + +impl NotificationTransport { + /// NotificationTransport Serializer + pub fn new(pk: uuid::Uuid, name: String, mode_verbose: String) -> NotificationTransport { + NotificationTransport { + pk, + name, + mode: None, + mode_verbose, + webhook_url: None, + webhook_mapping: None, + send_once: None, + } + } +} diff --git a/src/models/notification_transport_mode_enum.rs b/src/models/notification_transport_mode_enum.rs new file mode 100644 index 0000000..aeddb7e --- /dev/null +++ b/src/models/notification_transport_mode_enum.rs @@ -0,0 +1,42 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum NotificationTransportModeEnum { + #[serde(rename = "local")] + Local, + #[serde(rename = "webhook")] + Webhook, + #[serde(rename = "webhook_slack")] + WebhookSlack, + #[serde(rename = "email")] + Email, +} + +impl std::fmt::Display for NotificationTransportModeEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Local => write!(f, "local"), + Self::Webhook => write!(f, "webhook"), + Self::WebhookSlack => write!(f, "webhook_slack"), + Self::Email => write!(f, "email"), + } + } +} + +impl Default for NotificationTransportModeEnum { + fn default() -> NotificationTransportModeEnum { + Self::Local + } +} diff --git a/src/models/notification_transport_request.rs b/src/models/notification_transport_request.rs new file mode 100644 index 0000000..21b7466 --- /dev/null +++ b/src/models/notification_transport_request.rs @@ -0,0 +1,46 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// NotificationTransportRequest : NotificationTransport Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct NotificationTransportRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + #[serde(rename = "webhook_url", skip_serializing_if = "Option::is_none")] + pub webhook_url: Option, + #[serde( + rename = "webhook_mapping", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub webhook_mapping: Option>, + /// Only send notification once, for example when sending a webhook into a chat channel. + #[serde(rename = "send_once", skip_serializing_if = "Option::is_none")] + pub send_once: Option, +} + +impl NotificationTransportRequest { + /// NotificationTransport Serializer + pub fn new(name: String) -> NotificationTransportRequest { + NotificationTransportRequest { + name, + mode: None, + webhook_url: None, + webhook_mapping: None, + send_once: None, + } + } +} diff --git a/src/models/notification_transport_test.rs b/src/models/notification_transport_test.rs new file mode 100644 index 0000000..16664b6 --- /dev/null +++ b/src/models/notification_transport_test.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// NotificationTransportTest : Notification test serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct NotificationTransportTest { + #[serde(rename = "messages")] + pub messages: Vec, +} + +impl NotificationTransportTest { + /// Notification test serializer + pub fn new(messages: Vec) -> NotificationTransportTest { + NotificationTransportTest { messages } + } +} diff --git a/src/models/notification_webhook_mapping.rs b/src/models/notification_webhook_mapping.rs new file mode 100644 index 0000000..b71b160 --- /dev/null +++ b/src/models/notification_webhook_mapping.rs @@ -0,0 +1,30 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// NotificationWebhookMapping : NotificationWebhookMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct NotificationWebhookMapping { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, +} + +impl NotificationWebhookMapping { + /// NotificationWebhookMapping Serializer + pub fn new(pk: uuid::Uuid, name: String, expression: String) -> NotificationWebhookMapping { + NotificationWebhookMapping { pk, name, expression } + } +} diff --git a/src/models/notification_webhook_mapping_request.rs b/src/models/notification_webhook_mapping_request.rs new file mode 100644 index 0000000..c5d703a --- /dev/null +++ b/src/models/notification_webhook_mapping_request.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// NotificationWebhookMappingRequest : NotificationWebhookMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct NotificationWebhookMappingRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, +} + +impl NotificationWebhookMappingRequest { + /// NotificationWebhookMapping Serializer + pub fn new(name: String, expression: String) -> NotificationWebhookMappingRequest { + NotificationWebhookMappingRequest { name, expression } + } +} diff --git a/src/models/o_auth2_provider.rs b/src/models/o_auth2_provider.rs new file mode 100644 index 0000000..eca8b54 --- /dev/null +++ b/src/models/o_auth2_provider.rs @@ -0,0 +1,141 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// OAuth2Provider : OAuth2Provider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OAuth2Provider { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "name")] + pub name: String, + /// Flow used for authentication when the associated application is accessed by an un-authenticated user. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow used when authorizing this provider. + #[serde(rename = "authorization_flow")] + pub authorization_flow: uuid::Uuid, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Internal application name, used in URLs. + #[serde(rename = "assigned_application_slug")] + pub assigned_application_slug: String, + /// Application's display Name. + #[serde(rename = "assigned_application_name")] + pub assigned_application_name: String, + /// Internal application name, used in URLs. + #[serde(rename = "assigned_backchannel_application_slug")] + pub assigned_backchannel_application_slug: String, + /// Application's display Name. + #[serde(rename = "assigned_backchannel_application_name")] + pub assigned_backchannel_application_name: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + /// Confidential clients are capable of maintaining the confidentiality of their credentials. Public clients are incapable + #[serde(rename = "client_type", skip_serializing_if = "Option::is_none")] + pub client_type: Option, + #[serde(rename = "client_id", skip_serializing_if = "Option::is_none")] + pub client_id: Option, + #[serde(rename = "client_secret", skip_serializing_if = "Option::is_none")] + pub client_secret: Option, + /// Access codes not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "access_code_validity", skip_serializing_if = "Option::is_none")] + pub access_code_validity: Option, + /// Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "access_token_validity", skip_serializing_if = "Option::is_none")] + pub access_token_validity: Option, + /// Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "refresh_token_validity", skip_serializing_if = "Option::is_none")] + pub refresh_token_validity: Option, + /// Include User claims from scopes in the id_token, for applications that don't access the userinfo endpoint. + #[serde(rename = "include_claims_in_id_token", skip_serializing_if = "Option::is_none")] + pub include_claims_in_id_token: Option, + /// Key used to sign the tokens. Only required when JWT Algorithm is set to RS256. + #[serde( + rename = "signing_key", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub signing_key: Option>, + /// Enter each URI on a new line. + #[serde(rename = "redirect_uris", skip_serializing_if = "Option::is_none")] + pub redirect_uris: Option, + /// Configure what data should be used as unique User Identifier. For most cases, the default should be fine. + #[serde(rename = "sub_mode", skip_serializing_if = "Option::is_none")] + pub sub_mode: Option, + /// Configure how the issuer field of the ID Token should be filled. + #[serde(rename = "issuer_mode", skip_serializing_if = "Option::is_none")] + pub issuer_mode: Option, + #[serde(rename = "jwks_sources", skip_serializing_if = "Option::is_none")] + pub jwks_sources: Option>, +} + +impl OAuth2Provider { + /// OAuth2Provider Serializer + pub fn new( + pk: i32, + name: String, + authorization_flow: uuid::Uuid, + component: String, + assigned_application_slug: String, + assigned_application_name: String, + assigned_backchannel_application_slug: String, + assigned_backchannel_application_name: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> OAuth2Provider { + OAuth2Provider { + pk, + name, + authentication_flow: None, + authorization_flow, + property_mappings: None, + component, + assigned_application_slug, + assigned_application_name, + assigned_backchannel_application_slug, + assigned_backchannel_application_name, + verbose_name, + verbose_name_plural, + meta_model_name, + client_type: None, + client_id: None, + client_secret: None, + access_code_validity: None, + access_token_validity: None, + refresh_token_validity: None, + include_claims_in_id_token: None, + signing_key: None, + redirect_uris: None, + sub_mode: None, + issuer_mode: None, + jwks_sources: None, + } + } +} diff --git a/src/models/o_auth2_provider_request.rs b/src/models/o_auth2_provider_request.rs new file mode 100644 index 0000000..d776058 --- /dev/null +++ b/src/models/o_auth2_provider_request.rs @@ -0,0 +1,94 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// OAuth2ProviderRequest : OAuth2Provider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OAuth2ProviderRequest { + #[serde(rename = "name")] + pub name: String, + /// Flow used for authentication when the associated application is accessed by an un-authenticated user. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow used when authorizing this provider. + #[serde(rename = "authorization_flow")] + pub authorization_flow: uuid::Uuid, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + /// Confidential clients are capable of maintaining the confidentiality of their credentials. Public clients are incapable + #[serde(rename = "client_type", skip_serializing_if = "Option::is_none")] + pub client_type: Option, + #[serde(rename = "client_id", skip_serializing_if = "Option::is_none")] + pub client_id: Option, + #[serde(rename = "client_secret", skip_serializing_if = "Option::is_none")] + pub client_secret: Option, + /// Access codes not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "access_code_validity", skip_serializing_if = "Option::is_none")] + pub access_code_validity: Option, + /// Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "access_token_validity", skip_serializing_if = "Option::is_none")] + pub access_token_validity: Option, + /// Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "refresh_token_validity", skip_serializing_if = "Option::is_none")] + pub refresh_token_validity: Option, + /// Include User claims from scopes in the id_token, for applications that don't access the userinfo endpoint. + #[serde(rename = "include_claims_in_id_token", skip_serializing_if = "Option::is_none")] + pub include_claims_in_id_token: Option, + /// Key used to sign the tokens. Only required when JWT Algorithm is set to RS256. + #[serde( + rename = "signing_key", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub signing_key: Option>, + /// Enter each URI on a new line. + #[serde(rename = "redirect_uris", skip_serializing_if = "Option::is_none")] + pub redirect_uris: Option, + /// Configure what data should be used as unique User Identifier. For most cases, the default should be fine. + #[serde(rename = "sub_mode", skip_serializing_if = "Option::is_none")] + pub sub_mode: Option, + /// Configure how the issuer field of the ID Token should be filled. + #[serde(rename = "issuer_mode", skip_serializing_if = "Option::is_none")] + pub issuer_mode: Option, + #[serde(rename = "jwks_sources", skip_serializing_if = "Option::is_none")] + pub jwks_sources: Option>, +} + +impl OAuth2ProviderRequest { + /// OAuth2Provider Serializer + pub fn new(name: String, authorization_flow: uuid::Uuid) -> OAuth2ProviderRequest { + OAuth2ProviderRequest { + name, + authentication_flow: None, + authorization_flow, + property_mappings: None, + client_type: None, + client_id: None, + client_secret: None, + access_code_validity: None, + access_token_validity: None, + refresh_token_validity: None, + include_claims_in_id_token: None, + signing_key: None, + redirect_uris: None, + sub_mode: None, + issuer_mode: None, + jwks_sources: None, + } + } +} diff --git a/src/models/o_auth2_provider_setup_urls.rs b/src/models/o_auth2_provider_setup_urls.rs new file mode 100644 index 0000000..35f8714 --- /dev/null +++ b/src/models/o_auth2_provider_setup_urls.rs @@ -0,0 +1,54 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// OAuth2ProviderSetupUrls : OAuth2 Provider Metadata serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OAuth2ProviderSetupUrls { + #[serde(rename = "issuer")] + pub issuer: String, + #[serde(rename = "authorize")] + pub authorize: String, + #[serde(rename = "token")] + pub token: String, + #[serde(rename = "user_info")] + pub user_info: String, + #[serde(rename = "provider_info")] + pub provider_info: String, + #[serde(rename = "logout")] + pub logout: String, + #[serde(rename = "jwks")] + pub jwks: String, +} + +impl OAuth2ProviderSetupUrls { + /// OAuth2 Provider Metadata serializer + pub fn new( + issuer: String, + authorize: String, + token: String, + user_info: String, + provider_info: String, + logout: String, + jwks: String, + ) -> OAuth2ProviderSetupUrls { + OAuth2ProviderSetupUrls { + issuer, + authorize, + token, + user_info, + provider_info, + logout, + jwks, + } + } +} diff --git a/src/models/o_auth_device_code_challenge.rs b/src/models/o_auth_device_code_challenge.rs new file mode 100644 index 0000000..fd6e33f --- /dev/null +++ b/src/models/o_auth_device_code_challenge.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// OAuthDeviceCodeChallenge : OAuth Device code challenge +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OAuthDeviceCodeChallenge { + #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")] + pub flow_info: Option, + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")] + pub response_errors: Option>>, +} + +impl OAuthDeviceCodeChallenge { + /// OAuth Device code challenge + pub fn new() -> OAuthDeviceCodeChallenge { + OAuthDeviceCodeChallenge { + flow_info: None, + component: None, + response_errors: None, + } + } +} diff --git a/src/models/o_auth_device_code_challenge_response_request.rs b/src/models/o_auth_device_code_challenge_response_request.rs new file mode 100644 index 0000000..d226480 --- /dev/null +++ b/src/models/o_auth_device_code_challenge_response_request.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// OAuthDeviceCodeChallengeResponseRequest : Response that includes the user-entered device code +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OAuthDeviceCodeChallengeResponseRequest { + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "code")] + pub code: i32, +} + +impl OAuthDeviceCodeChallengeResponseRequest { + /// Response that includes the user-entered device code + pub fn new(code: i32) -> OAuthDeviceCodeChallengeResponseRequest { + OAuthDeviceCodeChallengeResponseRequest { component: None, code } + } +} diff --git a/src/models/o_auth_device_code_finish_challenge.rs b/src/models/o_auth_device_code_finish_challenge.rs new file mode 100644 index 0000000..15a2652 --- /dev/null +++ b/src/models/o_auth_device_code_finish_challenge.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// OAuthDeviceCodeFinishChallenge : Final challenge after user enters their code +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OAuthDeviceCodeFinishChallenge { + #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")] + pub flow_info: Option, + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")] + pub response_errors: Option>>, +} + +impl OAuthDeviceCodeFinishChallenge { + /// Final challenge after user enters their code + pub fn new() -> OAuthDeviceCodeFinishChallenge { + OAuthDeviceCodeFinishChallenge { + flow_info: None, + component: None, + response_errors: None, + } + } +} diff --git a/src/models/o_auth_device_code_finish_challenge_response_request.rs b/src/models/o_auth_device_code_finish_challenge_response_request.rs new file mode 100644 index 0000000..0de1458 --- /dev/null +++ b/src/models/o_auth_device_code_finish_challenge_response_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// OAuthDeviceCodeFinishChallengeResponseRequest : Response that device has been authenticated and tab can be closed +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OAuthDeviceCodeFinishChallengeResponseRequest { + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, +} + +impl OAuthDeviceCodeFinishChallengeResponseRequest { + /// Response that device has been authenticated and tab can be closed + pub fn new() -> OAuthDeviceCodeFinishChallengeResponseRequest { + OAuthDeviceCodeFinishChallengeResponseRequest { component: None } + } +} diff --git a/src/models/o_auth_source.rs b/src/models/o_auth_source.rs new file mode 100644 index 0000000..c0ba3c0 --- /dev/null +++ b/src/models/o_auth_source.rs @@ -0,0 +1,180 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// OAuthSource : OAuth Source Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OAuthSource { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + /// Source's display Name. + #[serde(rename = "name")] + pub name: String, + /// Internal source name, used in URLs. + #[serde(rename = "slug")] + pub slug: String, + #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")] + pub enabled: Option, + /// Flow to use when authenticating existing users. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow to use when enrolling new users. + #[serde( + rename = "enrollment_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub enrollment_flow: Option>, + #[serde(rename = "user_property_mappings", skip_serializing_if = "Option::is_none")] + pub user_property_mappings: Option>, + #[serde(rename = "group_property_mappings", skip_serializing_if = "Option::is_none")] + pub group_property_mappings: Option>, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + /// How the source determines if an existing user should be authenticated or a new user enrolled. + #[serde(rename = "user_matching_mode", skip_serializing_if = "Option::is_none")] + pub user_matching_mode: Option, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde(rename = "managed", deserialize_with = "Option::deserialize")] + pub managed: Option, + #[serde(rename = "user_path_template", skip_serializing_if = "Option::is_none")] + pub user_path_template: Option, + #[serde(rename = "icon", deserialize_with = "Option::deserialize")] + pub icon: Option, + /// How the source determines if an existing group should be used or a new group created. + #[serde(rename = "group_matching_mode", skip_serializing_if = "Option::is_none")] + pub group_matching_mode: Option, + #[serde(rename = "provider_type")] + pub provider_type: models::ProviderTypeEnum, + /// URL used to request the initial token. This URL is only required for OAuth 1. + #[serde( + rename = "request_token_url", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub request_token_url: Option>, + /// URL the user is redirect to to conest the flow. + #[serde( + rename = "authorization_url", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authorization_url: Option>, + /// URL used by authentik to retrieve tokens. + #[serde( + rename = "access_token_url", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub access_token_url: Option>, + /// URL used by authentik to get user information. + #[serde( + rename = "profile_url", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub profile_url: Option>, + #[serde(rename = "consumer_key")] + pub consumer_key: String, + /// Get OAuth Callback URL + #[serde(rename = "callback_url")] + pub callback_url: String, + #[serde(rename = "additional_scopes", skip_serializing_if = "Option::is_none")] + pub additional_scopes: Option, + #[serde(rename = "type")] + pub r#type: models::SourceType, + #[serde(rename = "oidc_well_known_url", skip_serializing_if = "Option::is_none")] + pub oidc_well_known_url: Option, + #[serde(rename = "oidc_jwks_url", skip_serializing_if = "Option::is_none")] + pub oidc_jwks_url: Option, + #[serde( + rename = "oidc_jwks", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub oidc_jwks: Option>, +} + +impl OAuthSource { + /// OAuth Source Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + slug: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + managed: Option, + icon: Option, + provider_type: models::ProviderTypeEnum, + consumer_key: String, + callback_url: String, + r#type: models::SourceType, + ) -> OAuthSource { + OAuthSource { + pk, + name, + slug, + enabled: None, + authentication_flow: None, + enrollment_flow: None, + user_property_mappings: None, + group_property_mappings: None, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + policy_engine_mode: None, + user_matching_mode: None, + managed, + user_path_template: None, + icon, + group_matching_mode: None, + provider_type, + request_token_url: None, + authorization_url: None, + access_token_url: None, + profile_url: None, + consumer_key, + callback_url, + additional_scopes: None, + r#type, + oidc_well_known_url: None, + oidc_jwks_url: None, + oidc_jwks: None, + } + } +} diff --git a/src/models/o_auth_source_property_mapping.rs b/src/models/o_auth_source_property_mapping.rs new file mode 100644 index 0000000..de721af --- /dev/null +++ b/src/models/o_auth_source_property_mapping.rs @@ -0,0 +1,67 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// OAuthSourcePropertyMapping : OAuthSourcePropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OAuthSourcePropertyMapping { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, + /// Get object's component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, +} + +impl OAuthSourcePropertyMapping { + /// OAuthSourcePropertyMapping Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + expression: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> OAuthSourcePropertyMapping { + OAuthSourcePropertyMapping { + pk, + managed: None, + name, + expression, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + } + } +} diff --git a/src/models/o_auth_source_property_mapping_request.rs b/src/models/o_auth_source_property_mapping_request.rs new file mode 100644 index 0000000..1e872f7 --- /dev/null +++ b/src/models/o_auth_source_property_mapping_request.rs @@ -0,0 +1,40 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// OAuthSourcePropertyMappingRequest : OAuthSourcePropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OAuthSourcePropertyMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, +} + +impl OAuthSourcePropertyMappingRequest { + /// OAuthSourcePropertyMapping Serializer + pub fn new(name: String, expression: String) -> OAuthSourcePropertyMappingRequest { + OAuthSourcePropertyMappingRequest { + managed: None, + name, + expression, + } + } +} diff --git a/src/models/o_auth_source_request.rs b/src/models/o_auth_source_request.rs new file mode 100644 index 0000000..4a4bd4f --- /dev/null +++ b/src/models/o_auth_source_request.rs @@ -0,0 +1,142 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// OAuthSourceRequest : OAuth Source Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OAuthSourceRequest { + /// Source's display Name. + #[serde(rename = "name")] + pub name: String, + /// Internal source name, used in URLs. + #[serde(rename = "slug")] + pub slug: String, + #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")] + pub enabled: Option, + /// Flow to use when authenticating existing users. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow to use when enrolling new users. + #[serde( + rename = "enrollment_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub enrollment_flow: Option>, + #[serde(rename = "user_property_mappings", skip_serializing_if = "Option::is_none")] + pub user_property_mappings: Option>, + #[serde(rename = "group_property_mappings", skip_serializing_if = "Option::is_none")] + pub group_property_mappings: Option>, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + /// How the source determines if an existing user should be authenticated or a new user enrolled. + #[serde(rename = "user_matching_mode", skip_serializing_if = "Option::is_none")] + pub user_matching_mode: Option, + #[serde(rename = "user_path_template", skip_serializing_if = "Option::is_none")] + pub user_path_template: Option, + /// How the source determines if an existing group should be used or a new group created. + #[serde(rename = "group_matching_mode", skip_serializing_if = "Option::is_none")] + pub group_matching_mode: Option, + #[serde(rename = "provider_type")] + pub provider_type: models::ProviderTypeEnum, + /// URL used to request the initial token. This URL is only required for OAuth 1. + #[serde( + rename = "request_token_url", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub request_token_url: Option>, + /// URL the user is redirect to to conest the flow. + #[serde( + rename = "authorization_url", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authorization_url: Option>, + /// URL used by authentik to retrieve tokens. + #[serde( + rename = "access_token_url", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub access_token_url: Option>, + /// URL used by authentik to get user information. + #[serde( + rename = "profile_url", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub profile_url: Option>, + #[serde(rename = "consumer_key")] + pub consumer_key: String, + #[serde(rename = "consumer_secret")] + pub consumer_secret: String, + #[serde(rename = "additional_scopes", skip_serializing_if = "Option::is_none")] + pub additional_scopes: Option, + #[serde(rename = "oidc_well_known_url", skip_serializing_if = "Option::is_none")] + pub oidc_well_known_url: Option, + #[serde(rename = "oidc_jwks_url", skip_serializing_if = "Option::is_none")] + pub oidc_jwks_url: Option, + #[serde( + rename = "oidc_jwks", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub oidc_jwks: Option>, +} + +impl OAuthSourceRequest { + /// OAuth Source Serializer + pub fn new( + name: String, + slug: String, + provider_type: models::ProviderTypeEnum, + consumer_key: String, + consumer_secret: String, + ) -> OAuthSourceRequest { + OAuthSourceRequest { + name, + slug, + enabled: None, + authentication_flow: None, + enrollment_flow: None, + user_property_mappings: None, + group_property_mappings: None, + policy_engine_mode: None, + user_matching_mode: None, + user_path_template: None, + group_matching_mode: None, + provider_type, + request_token_url: None, + authorization_url: None, + access_token_url: None, + profile_url: None, + consumer_key, + consumer_secret, + additional_scopes: None, + oidc_well_known_url: None, + oidc_jwks_url: None, + oidc_jwks: None, + } + } +} diff --git a/src/models/open_id_connect_configuration.rs b/src/models/open_id_connect_configuration.rs new file mode 100644 index 0000000..6e9c753 --- /dev/null +++ b/src/models/open_id_connect_configuration.rs @@ -0,0 +1,70 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// OpenIdConnectConfiguration : rest_framework Serializer for OIDC Configuration +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OpenIdConnectConfiguration { + #[serde(rename = "issuer")] + pub issuer: String, + #[serde(rename = "authorization_endpoint")] + pub authorization_endpoint: String, + #[serde(rename = "token_endpoint")] + pub token_endpoint: String, + #[serde(rename = "userinfo_endpoint")] + pub userinfo_endpoint: String, + #[serde(rename = "end_session_endpoint")] + pub end_session_endpoint: String, + #[serde(rename = "introspection_endpoint")] + pub introspection_endpoint: String, + #[serde(rename = "jwks_uri")] + pub jwks_uri: String, + #[serde(rename = "response_types_supported")] + pub response_types_supported: Vec, + #[serde(rename = "id_token_signing_alg_values_supported")] + pub id_token_signing_alg_values_supported: Vec, + #[serde(rename = "subject_types_supported")] + pub subject_types_supported: Vec, + #[serde(rename = "token_endpoint_auth_methods_supported")] + pub token_endpoint_auth_methods_supported: Vec, +} + +impl OpenIdConnectConfiguration { + /// rest_framework Serializer for OIDC Configuration + pub fn new( + issuer: String, + authorization_endpoint: String, + token_endpoint: String, + userinfo_endpoint: String, + end_session_endpoint: String, + introspection_endpoint: String, + jwks_uri: String, + response_types_supported: Vec, + id_token_signing_alg_values_supported: Vec, + subject_types_supported: Vec, + token_endpoint_auth_methods_supported: Vec, + ) -> OpenIdConnectConfiguration { + OpenIdConnectConfiguration { + issuer, + authorization_endpoint, + token_endpoint, + userinfo_endpoint, + end_session_endpoint, + introspection_endpoint, + jwks_uri, + response_types_supported, + id_token_signing_alg_values_supported, + subject_types_supported, + token_endpoint_auth_methods_supported, + } + } +} diff --git a/src/models/outgoing_sync_delete_action.rs b/src/models/outgoing_sync_delete_action.rs new file mode 100644 index 0000000..f841b55 --- /dev/null +++ b/src/models/outgoing_sync_delete_action.rs @@ -0,0 +1,39 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum OutgoingSyncDeleteAction { + #[serde(rename = "do_nothing")] + DoNothing, + #[serde(rename = "delete")] + Delete, + #[serde(rename = "suspend")] + Suspend, +} + +impl std::fmt::Display for OutgoingSyncDeleteAction { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::DoNothing => write!(f, "do_nothing"), + Self::Delete => write!(f, "delete"), + Self::Suspend => write!(f, "suspend"), + } + } +} + +impl Default for OutgoingSyncDeleteAction { + fn default() -> OutgoingSyncDeleteAction { + Self::DoNothing + } +} diff --git a/src/models/outpost.rs b/src/models/outpost.rs new file mode 100644 index 0000000..a9bafca --- /dev/null +++ b/src/models/outpost.rs @@ -0,0 +1,81 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Outpost : Outpost Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Outpost { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "type")] + pub r#type: models::OutpostTypeEnum, + #[serde(rename = "providers")] + pub providers: Vec, + #[serde(rename = "providers_obj")] + pub providers_obj: Vec, + /// Select Service-Connection authentik should use to manage this outpost. Leave empty if authentik should not handle the deployment. + #[serde( + rename = "service_connection", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub service_connection: Option>, + #[serde(rename = "service_connection_obj")] + pub service_connection_obj: models::ServiceConnection, + #[serde(rename = "refresh_interval_s")] + pub refresh_interval_s: i32, + /// Get Token identifier + #[serde(rename = "token_identifier")] + pub token_identifier: String, + #[serde(rename = "config")] + pub config: std::collections::HashMap, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, +} + +impl Outpost { + /// Outpost Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + r#type: models::OutpostTypeEnum, + providers: Vec, + providers_obj: Vec, + service_connection_obj: models::ServiceConnection, + refresh_interval_s: i32, + token_identifier: String, + config: std::collections::HashMap, + ) -> Outpost { + Outpost { + pk, + name, + r#type, + providers, + providers_obj, + service_connection: None, + service_connection_obj, + refresh_interval_s, + token_identifier, + config, + managed: None, + } + } +} diff --git a/src/models/outpost_default_config.rs b/src/models/outpost_default_config.rs new file mode 100644 index 0000000..e29173d --- /dev/null +++ b/src/models/outpost_default_config.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// OutpostDefaultConfig : Global default outpost config +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OutpostDefaultConfig { + #[serde(rename = "config")] + pub config: std::collections::HashMap, +} + +impl OutpostDefaultConfig { + /// Global default outpost config + pub fn new(config: std::collections::HashMap) -> OutpostDefaultConfig { + OutpostDefaultConfig { config } + } +} diff --git a/src/models/outpost_health.rs b/src/models/outpost_health.rs new file mode 100644 index 0000000..69e32f7 --- /dev/null +++ b/src/models/outpost_health.rs @@ -0,0 +1,75 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// OutpostHealth : Outpost health status +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OutpostHealth { + #[serde(rename = "uid")] + pub uid: String, + #[serde(rename = "last_seen")] + pub last_seen: String, + #[serde(rename = "version")] + pub version: String, + #[serde(rename = "golang_version")] + pub golang_version: String, + #[serde(rename = "openssl_enabled")] + pub openssl_enabled: bool, + #[serde(rename = "openssl_version")] + pub openssl_version: String, + /// Get FIPS enabled + #[serde(rename = "fips_enabled", deserialize_with = "Option::deserialize")] + pub fips_enabled: Option, + #[serde(rename = "version_should")] + pub version_should: String, + #[serde(rename = "version_outdated")] + pub version_outdated: bool, + #[serde(rename = "build_hash")] + pub build_hash: String, + #[serde(rename = "build_hash_should")] + pub build_hash_should: String, + #[serde(rename = "hostname")] + pub hostname: String, +} + +impl OutpostHealth { + /// Outpost health status + pub fn new( + uid: String, + last_seen: String, + version: String, + golang_version: String, + openssl_enabled: bool, + openssl_version: String, + fips_enabled: Option, + version_should: String, + version_outdated: bool, + build_hash: String, + build_hash_should: String, + hostname: String, + ) -> OutpostHealth { + OutpostHealth { + uid, + last_seen, + version, + golang_version, + openssl_enabled, + openssl_version, + fips_enabled, + version_should, + version_outdated, + build_hash, + build_hash_should, + hostname, + } + } +} diff --git a/src/models/outpost_request.rs b/src/models/outpost_request.rs new file mode 100644 index 0000000..e9528ce --- /dev/null +++ b/src/models/outpost_request.rs @@ -0,0 +1,60 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// OutpostRequest : Outpost Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OutpostRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "type")] + pub r#type: models::OutpostTypeEnum, + #[serde(rename = "providers")] + pub providers: Vec, + /// Select Service-Connection authentik should use to manage this outpost. Leave empty if authentik should not handle the deployment. + #[serde( + rename = "service_connection", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub service_connection: Option>, + #[serde(rename = "config")] + pub config: std::collections::HashMap, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, +} + +impl OutpostRequest { + /// Outpost Serializer + pub fn new( + name: String, + r#type: models::OutpostTypeEnum, + providers: Vec, + config: std::collections::HashMap, + ) -> OutpostRequest { + OutpostRequest { + name, + r#type, + providers, + service_connection: None, + config, + managed: None, + } + } +} diff --git a/src/models/outpost_type_enum.rs b/src/models/outpost_type_enum.rs new file mode 100644 index 0000000..8f207e3 --- /dev/null +++ b/src/models/outpost_type_enum.rs @@ -0,0 +1,42 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum OutpostTypeEnum { + #[serde(rename = "proxy")] + Proxy, + #[serde(rename = "ldap")] + Ldap, + #[serde(rename = "radius")] + Radius, + #[serde(rename = "rac")] + Rac, +} + +impl std::fmt::Display for OutpostTypeEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Proxy => write!(f, "proxy"), + Self::Ldap => write!(f, "ldap"), + Self::Radius => write!(f, "radius"), + Self::Rac => write!(f, "rac"), + } + } +} + +impl Default for OutpostTypeEnum { + fn default() -> OutpostTypeEnum { + Self::Proxy + } +} diff --git a/src/models/paginated_application_list.rs b/src/models/paginated_application_list.rs new file mode 100644 index 0000000..777732a --- /dev/null +++ b/src/models/paginated_application_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedApplicationList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedApplicationList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedApplicationList { + PaginatedApplicationList { pagination, results } + } +} diff --git a/src/models/paginated_authenticated_session_list.rs b/src/models/paginated_authenticated_session_list.rs new file mode 100644 index 0000000..9848769 --- /dev/null +++ b/src/models/paginated_authenticated_session_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedAuthenticatedSessionList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedAuthenticatedSessionList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedAuthenticatedSessionList { + PaginatedAuthenticatedSessionList { pagination, results } + } +} diff --git a/src/models/paginated_authenticator_duo_stage_list.rs b/src/models/paginated_authenticator_duo_stage_list.rs new file mode 100644 index 0000000..2154811 --- /dev/null +++ b/src/models/paginated_authenticator_duo_stage_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedAuthenticatorDuoStageList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedAuthenticatorDuoStageList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedAuthenticatorDuoStageList { + PaginatedAuthenticatorDuoStageList { pagination, results } + } +} diff --git a/src/models/paginated_authenticator_sms_stage_list.rs b/src/models/paginated_authenticator_sms_stage_list.rs new file mode 100644 index 0000000..3c1ad2e --- /dev/null +++ b/src/models/paginated_authenticator_sms_stage_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedAuthenticatorSmsStageList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedAuthenticatorSmsStageList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedAuthenticatorSmsStageList { + PaginatedAuthenticatorSmsStageList { pagination, results } + } +} diff --git a/src/models/paginated_authenticator_static_stage_list.rs b/src/models/paginated_authenticator_static_stage_list.rs new file mode 100644 index 0000000..3d8a1bd --- /dev/null +++ b/src/models/paginated_authenticator_static_stage_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedAuthenticatorStaticStageList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedAuthenticatorStaticStageList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedAuthenticatorStaticStageList { + PaginatedAuthenticatorStaticStageList { pagination, results } + } +} diff --git a/src/models/paginated_authenticator_totp_stage_list.rs b/src/models/paginated_authenticator_totp_stage_list.rs new file mode 100644 index 0000000..620a4e0 --- /dev/null +++ b/src/models/paginated_authenticator_totp_stage_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedAuthenticatorTotpStageList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedAuthenticatorTotpStageList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedAuthenticatorTotpStageList { + PaginatedAuthenticatorTotpStageList { pagination, results } + } +} diff --git a/src/models/paginated_authenticator_validate_stage_list.rs b/src/models/paginated_authenticator_validate_stage_list.rs new file mode 100644 index 0000000..c7032a8 --- /dev/null +++ b/src/models/paginated_authenticator_validate_stage_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedAuthenticatorValidateStageList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedAuthenticatorValidateStageList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedAuthenticatorValidateStageList { + PaginatedAuthenticatorValidateStageList { pagination, results } + } +} diff --git a/src/models/paginated_authenticator_web_authn_stage_list.rs b/src/models/paginated_authenticator_web_authn_stage_list.rs new file mode 100644 index 0000000..f19aab7 --- /dev/null +++ b/src/models/paginated_authenticator_web_authn_stage_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedAuthenticatorWebAuthnStageList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedAuthenticatorWebAuthnStageList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedAuthenticatorWebAuthnStageList { + PaginatedAuthenticatorWebAuthnStageList { pagination, results } + } +} diff --git a/src/models/paginated_blueprint_instance_list.rs b/src/models/paginated_blueprint_instance_list.rs new file mode 100644 index 0000000..9319894 --- /dev/null +++ b/src/models/paginated_blueprint_instance_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedBlueprintInstanceList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedBlueprintInstanceList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedBlueprintInstanceList { + PaginatedBlueprintInstanceList { pagination, results } + } +} diff --git a/src/models/paginated_brand_list.rs b/src/models/paginated_brand_list.rs new file mode 100644 index 0000000..3c71bc2 --- /dev/null +++ b/src/models/paginated_brand_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedBrandList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedBrandList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedBrandList { + PaginatedBrandList { pagination, results } + } +} diff --git a/src/models/paginated_captcha_stage_list.rs b/src/models/paginated_captcha_stage_list.rs new file mode 100644 index 0000000..20f3cf8 --- /dev/null +++ b/src/models/paginated_captcha_stage_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedCaptchaStageList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedCaptchaStageList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedCaptchaStageList { + PaginatedCaptchaStageList { pagination, results } + } +} diff --git a/src/models/paginated_certificate_key_pair_list.rs b/src/models/paginated_certificate_key_pair_list.rs new file mode 100644 index 0000000..5389335 --- /dev/null +++ b/src/models/paginated_certificate_key_pair_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedCertificateKeyPairList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedCertificateKeyPairList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedCertificateKeyPairList { + PaginatedCertificateKeyPairList { pagination, results } + } +} diff --git a/src/models/paginated_connection_token_list.rs b/src/models/paginated_connection_token_list.rs new file mode 100644 index 0000000..682419a --- /dev/null +++ b/src/models/paginated_connection_token_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedConnectionTokenList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedConnectionTokenList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedConnectionTokenList { + PaginatedConnectionTokenList { pagination, results } + } +} diff --git a/src/models/paginated_consent_stage_list.rs b/src/models/paginated_consent_stage_list.rs new file mode 100644 index 0000000..39967eb --- /dev/null +++ b/src/models/paginated_consent_stage_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedConsentStageList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedConsentStageList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedConsentStageList { + PaginatedConsentStageList { pagination, results } + } +} diff --git a/src/models/paginated_deny_stage_list.rs b/src/models/paginated_deny_stage_list.rs new file mode 100644 index 0000000..1da40e4 --- /dev/null +++ b/src/models/paginated_deny_stage_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedDenyStageList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedDenyStageList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedDenyStageList { + PaginatedDenyStageList { pagination, results } + } +} diff --git a/src/models/paginated_docker_service_connection_list.rs b/src/models/paginated_docker_service_connection_list.rs new file mode 100644 index 0000000..e1956f1 --- /dev/null +++ b/src/models/paginated_docker_service_connection_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedDockerServiceConnectionList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedDockerServiceConnectionList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedDockerServiceConnectionList { + PaginatedDockerServiceConnectionList { pagination, results } + } +} diff --git a/src/models/paginated_domain_list.rs b/src/models/paginated_domain_list.rs new file mode 100644 index 0000000..7ed0112 --- /dev/null +++ b/src/models/paginated_domain_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedDomainList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedDomainList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedDomainList { + PaginatedDomainList { pagination, results } + } +} diff --git a/src/models/paginated_dummy_policy_list.rs b/src/models/paginated_dummy_policy_list.rs new file mode 100644 index 0000000..ca1064f --- /dev/null +++ b/src/models/paginated_dummy_policy_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedDummyPolicyList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedDummyPolicyList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedDummyPolicyList { + PaginatedDummyPolicyList { pagination, results } + } +} diff --git a/src/models/paginated_dummy_stage_list.rs b/src/models/paginated_dummy_stage_list.rs new file mode 100644 index 0000000..899db9b --- /dev/null +++ b/src/models/paginated_dummy_stage_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedDummyStageList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedDummyStageList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedDummyStageList { + PaginatedDummyStageList { pagination, results } + } +} diff --git a/src/models/paginated_duo_device_list.rs b/src/models/paginated_duo_device_list.rs new file mode 100644 index 0000000..d322886 --- /dev/null +++ b/src/models/paginated_duo_device_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedDuoDeviceList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedDuoDeviceList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedDuoDeviceList { + PaginatedDuoDeviceList { pagination, results } + } +} diff --git a/src/models/paginated_email_stage_list.rs b/src/models/paginated_email_stage_list.rs new file mode 100644 index 0000000..6c666c3 --- /dev/null +++ b/src/models/paginated_email_stage_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedEmailStageList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedEmailStageList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedEmailStageList { + PaginatedEmailStageList { pagination, results } + } +} diff --git a/src/models/paginated_endpoint_list.rs b/src/models/paginated_endpoint_list.rs new file mode 100644 index 0000000..d56a683 --- /dev/null +++ b/src/models/paginated_endpoint_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedEndpointList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedEndpointList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedEndpointList { + PaginatedEndpointList { pagination, results } + } +} diff --git a/src/models/paginated_event_list.rs b/src/models/paginated_event_list.rs new file mode 100644 index 0000000..76c99ac --- /dev/null +++ b/src/models/paginated_event_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedEventList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedEventList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedEventList { + PaginatedEventList { pagination, results } + } +} diff --git a/src/models/paginated_event_matcher_policy_list.rs b/src/models/paginated_event_matcher_policy_list.rs new file mode 100644 index 0000000..3d931e8 --- /dev/null +++ b/src/models/paginated_event_matcher_policy_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedEventMatcherPolicyList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedEventMatcherPolicyList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedEventMatcherPolicyList { + PaginatedEventMatcherPolicyList { pagination, results } + } +} diff --git a/src/models/paginated_expiring_base_grant_model_list.rs b/src/models/paginated_expiring_base_grant_model_list.rs new file mode 100644 index 0000000..cdcc941 --- /dev/null +++ b/src/models/paginated_expiring_base_grant_model_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedExpiringBaseGrantModelList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedExpiringBaseGrantModelList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedExpiringBaseGrantModelList { + PaginatedExpiringBaseGrantModelList { pagination, results } + } +} diff --git a/src/models/paginated_expression_policy_list.rs b/src/models/paginated_expression_policy_list.rs new file mode 100644 index 0000000..c062fa6 --- /dev/null +++ b/src/models/paginated_expression_policy_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedExpressionPolicyList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedExpressionPolicyList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedExpressionPolicyList { + PaginatedExpressionPolicyList { pagination, results } + } +} diff --git a/src/models/paginated_extra_role_object_permission_list.rs b/src/models/paginated_extra_role_object_permission_list.rs new file mode 100644 index 0000000..8a17a71 --- /dev/null +++ b/src/models/paginated_extra_role_object_permission_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedExtraRoleObjectPermissionList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedExtraRoleObjectPermissionList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedExtraRoleObjectPermissionList { + PaginatedExtraRoleObjectPermissionList { pagination, results } + } +} diff --git a/src/models/paginated_extra_user_object_permission_list.rs b/src/models/paginated_extra_user_object_permission_list.rs new file mode 100644 index 0000000..e389d65 --- /dev/null +++ b/src/models/paginated_extra_user_object_permission_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedExtraUserObjectPermissionList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedExtraUserObjectPermissionList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedExtraUserObjectPermissionList { + PaginatedExtraUserObjectPermissionList { pagination, results } + } +} diff --git a/src/models/paginated_flow_list.rs b/src/models/paginated_flow_list.rs new file mode 100644 index 0000000..fa227e7 --- /dev/null +++ b/src/models/paginated_flow_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedFlowList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedFlowList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedFlowList { + PaginatedFlowList { pagination, results } + } +} diff --git a/src/models/paginated_flow_stage_binding_list.rs b/src/models/paginated_flow_stage_binding_list.rs new file mode 100644 index 0000000..9cf0259 --- /dev/null +++ b/src/models/paginated_flow_stage_binding_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedFlowStageBindingList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedFlowStageBindingList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedFlowStageBindingList { + PaginatedFlowStageBindingList { pagination, results } + } +} diff --git a/src/models/paginated_geo_ip_policy_list.rs b/src/models/paginated_geo_ip_policy_list.rs new file mode 100644 index 0000000..62409d1 --- /dev/null +++ b/src/models/paginated_geo_ip_policy_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedGeoIpPolicyList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedGeoIpPolicyList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedGeoIpPolicyList { + PaginatedGeoIpPolicyList { pagination, results } + } +} diff --git a/src/models/paginated_google_workspace_provider_group_list.rs b/src/models/paginated_google_workspace_provider_group_list.rs new file mode 100644 index 0000000..a5861ed --- /dev/null +++ b/src/models/paginated_google_workspace_provider_group_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedGoogleWorkspaceProviderGroupList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedGoogleWorkspaceProviderGroupList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedGoogleWorkspaceProviderGroupList { + PaginatedGoogleWorkspaceProviderGroupList { pagination, results } + } +} diff --git a/src/models/paginated_google_workspace_provider_list.rs b/src/models/paginated_google_workspace_provider_list.rs new file mode 100644 index 0000000..855807d --- /dev/null +++ b/src/models/paginated_google_workspace_provider_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedGoogleWorkspaceProviderList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedGoogleWorkspaceProviderList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedGoogleWorkspaceProviderList { + PaginatedGoogleWorkspaceProviderList { pagination, results } + } +} diff --git a/src/models/paginated_google_workspace_provider_mapping_list.rs b/src/models/paginated_google_workspace_provider_mapping_list.rs new file mode 100644 index 0000000..6e519e3 --- /dev/null +++ b/src/models/paginated_google_workspace_provider_mapping_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedGoogleWorkspaceProviderMappingList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedGoogleWorkspaceProviderMappingList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedGoogleWorkspaceProviderMappingList { + PaginatedGoogleWorkspaceProviderMappingList { pagination, results } + } +} diff --git a/src/models/paginated_google_workspace_provider_user_list.rs b/src/models/paginated_google_workspace_provider_user_list.rs new file mode 100644 index 0000000..f6b7834 --- /dev/null +++ b/src/models/paginated_google_workspace_provider_user_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedGoogleWorkspaceProviderUserList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedGoogleWorkspaceProviderUserList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedGoogleWorkspaceProviderUserList { + PaginatedGoogleWorkspaceProviderUserList { pagination, results } + } +} diff --git a/src/models/paginated_group_list.rs b/src/models/paginated_group_list.rs new file mode 100644 index 0000000..83c7482 --- /dev/null +++ b/src/models/paginated_group_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedGroupList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedGroupList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedGroupList { + PaginatedGroupList { pagination, results } + } +} diff --git a/src/models/paginated_group_o_auth_source_connection_list.rs b/src/models/paginated_group_o_auth_source_connection_list.rs new file mode 100644 index 0000000..746592a --- /dev/null +++ b/src/models/paginated_group_o_auth_source_connection_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedGroupOAuthSourceConnectionList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedGroupOAuthSourceConnectionList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedGroupOAuthSourceConnectionList { + PaginatedGroupOAuthSourceConnectionList { pagination, results } + } +} diff --git a/src/models/paginated_group_plex_source_connection_list.rs b/src/models/paginated_group_plex_source_connection_list.rs new file mode 100644 index 0000000..a88895c --- /dev/null +++ b/src/models/paginated_group_plex_source_connection_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedGroupPlexSourceConnectionList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedGroupPlexSourceConnectionList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedGroupPlexSourceConnectionList { + PaginatedGroupPlexSourceConnectionList { pagination, results } + } +} diff --git a/src/models/paginated_group_saml_source_connection_list.rs b/src/models/paginated_group_saml_source_connection_list.rs new file mode 100644 index 0000000..f46d734 --- /dev/null +++ b/src/models/paginated_group_saml_source_connection_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedGroupSamlSourceConnectionList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedGroupSamlSourceConnectionList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedGroupSamlSourceConnectionList { + PaginatedGroupSamlSourceConnectionList { pagination, results } + } +} diff --git a/src/models/paginated_identification_stage_list.rs b/src/models/paginated_identification_stage_list.rs new file mode 100644 index 0000000..983b33d --- /dev/null +++ b/src/models/paginated_identification_stage_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedIdentificationStageList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedIdentificationStageList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedIdentificationStageList { + PaginatedIdentificationStageList { pagination, results } + } +} diff --git a/src/models/paginated_invitation_list.rs b/src/models/paginated_invitation_list.rs new file mode 100644 index 0000000..c303df6 --- /dev/null +++ b/src/models/paginated_invitation_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedInvitationList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedInvitationList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedInvitationList { + PaginatedInvitationList { pagination, results } + } +} diff --git a/src/models/paginated_invitation_stage_list.rs b/src/models/paginated_invitation_stage_list.rs new file mode 100644 index 0000000..91488a6 --- /dev/null +++ b/src/models/paginated_invitation_stage_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedInvitationStageList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedInvitationStageList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedInvitationStageList { + PaginatedInvitationStageList { pagination, results } + } +} diff --git a/src/models/paginated_kubernetes_service_connection_list.rs b/src/models/paginated_kubernetes_service_connection_list.rs new file mode 100644 index 0000000..4751ae2 --- /dev/null +++ b/src/models/paginated_kubernetes_service_connection_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedKubernetesServiceConnectionList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedKubernetesServiceConnectionList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedKubernetesServiceConnectionList { + PaginatedKubernetesServiceConnectionList { pagination, results } + } +} diff --git a/src/models/paginated_ldap_outpost_config_list.rs b/src/models/paginated_ldap_outpost_config_list.rs new file mode 100644 index 0000000..6b20060 --- /dev/null +++ b/src/models/paginated_ldap_outpost_config_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedLdapOutpostConfigList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedLdapOutpostConfigList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedLdapOutpostConfigList { + PaginatedLdapOutpostConfigList { pagination, results } + } +} diff --git a/src/models/paginated_ldap_provider_list.rs b/src/models/paginated_ldap_provider_list.rs new file mode 100644 index 0000000..043c84f --- /dev/null +++ b/src/models/paginated_ldap_provider_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedLdapProviderList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedLdapProviderList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedLdapProviderList { + PaginatedLdapProviderList { pagination, results } + } +} diff --git a/src/models/paginated_ldap_source_list.rs b/src/models/paginated_ldap_source_list.rs new file mode 100644 index 0000000..0dd575a --- /dev/null +++ b/src/models/paginated_ldap_source_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedLdapSourceList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedLdapSourceList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedLdapSourceList { + PaginatedLdapSourceList { pagination, results } + } +} diff --git a/src/models/paginated_ldap_source_property_mapping_list.rs b/src/models/paginated_ldap_source_property_mapping_list.rs new file mode 100644 index 0000000..8d223a8 --- /dev/null +++ b/src/models/paginated_ldap_source_property_mapping_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedLdapSourcePropertyMappingList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedLdapSourcePropertyMappingList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedLdapSourcePropertyMappingList { + PaginatedLdapSourcePropertyMappingList { pagination, results } + } +} diff --git a/src/models/paginated_license_list.rs b/src/models/paginated_license_list.rs new file mode 100644 index 0000000..da2becc --- /dev/null +++ b/src/models/paginated_license_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedLicenseList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedLicenseList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedLicenseList { + PaginatedLicenseList { pagination, results } + } +} diff --git a/src/models/paginated_microsoft_entra_provider_group_list.rs b/src/models/paginated_microsoft_entra_provider_group_list.rs new file mode 100644 index 0000000..839f768 --- /dev/null +++ b/src/models/paginated_microsoft_entra_provider_group_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedMicrosoftEntraProviderGroupList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedMicrosoftEntraProviderGroupList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedMicrosoftEntraProviderGroupList { + PaginatedMicrosoftEntraProviderGroupList { pagination, results } + } +} diff --git a/src/models/paginated_microsoft_entra_provider_list.rs b/src/models/paginated_microsoft_entra_provider_list.rs new file mode 100644 index 0000000..16083b6 --- /dev/null +++ b/src/models/paginated_microsoft_entra_provider_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedMicrosoftEntraProviderList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedMicrosoftEntraProviderList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedMicrosoftEntraProviderList { + PaginatedMicrosoftEntraProviderList { pagination, results } + } +} diff --git a/src/models/paginated_microsoft_entra_provider_mapping_list.rs b/src/models/paginated_microsoft_entra_provider_mapping_list.rs new file mode 100644 index 0000000..fb8148a --- /dev/null +++ b/src/models/paginated_microsoft_entra_provider_mapping_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedMicrosoftEntraProviderMappingList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedMicrosoftEntraProviderMappingList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedMicrosoftEntraProviderMappingList { + PaginatedMicrosoftEntraProviderMappingList { pagination, results } + } +} diff --git a/src/models/paginated_microsoft_entra_provider_user_list.rs b/src/models/paginated_microsoft_entra_provider_user_list.rs new file mode 100644 index 0000000..fc6ff77 --- /dev/null +++ b/src/models/paginated_microsoft_entra_provider_user_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedMicrosoftEntraProviderUserList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedMicrosoftEntraProviderUserList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedMicrosoftEntraProviderUserList { + PaginatedMicrosoftEntraProviderUserList { pagination, results } + } +} diff --git a/src/models/paginated_notification_list.rs b/src/models/paginated_notification_list.rs new file mode 100644 index 0000000..43e5a1d --- /dev/null +++ b/src/models/paginated_notification_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedNotificationList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedNotificationList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedNotificationList { + PaginatedNotificationList { pagination, results } + } +} diff --git a/src/models/paginated_notification_rule_list.rs b/src/models/paginated_notification_rule_list.rs new file mode 100644 index 0000000..3974068 --- /dev/null +++ b/src/models/paginated_notification_rule_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedNotificationRuleList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedNotificationRuleList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedNotificationRuleList { + PaginatedNotificationRuleList { pagination, results } + } +} diff --git a/src/models/paginated_notification_transport_list.rs b/src/models/paginated_notification_transport_list.rs new file mode 100644 index 0000000..d511fdd --- /dev/null +++ b/src/models/paginated_notification_transport_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedNotificationTransportList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedNotificationTransportList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedNotificationTransportList { + PaginatedNotificationTransportList { pagination, results } + } +} diff --git a/src/models/paginated_notification_webhook_mapping_list.rs b/src/models/paginated_notification_webhook_mapping_list.rs new file mode 100644 index 0000000..f91b007 --- /dev/null +++ b/src/models/paginated_notification_webhook_mapping_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedNotificationWebhookMappingList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedNotificationWebhookMappingList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedNotificationWebhookMappingList { + PaginatedNotificationWebhookMappingList { pagination, results } + } +} diff --git a/src/models/paginated_o_auth2_provider_list.rs b/src/models/paginated_o_auth2_provider_list.rs new file mode 100644 index 0000000..f96dd2a --- /dev/null +++ b/src/models/paginated_o_auth2_provider_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedOAuth2ProviderList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedOAuth2ProviderList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedOAuth2ProviderList { + PaginatedOAuth2ProviderList { pagination, results } + } +} diff --git a/src/models/paginated_o_auth_source_list.rs b/src/models/paginated_o_auth_source_list.rs new file mode 100644 index 0000000..4424598 --- /dev/null +++ b/src/models/paginated_o_auth_source_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedOAuthSourceList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedOAuthSourceList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedOAuthSourceList { + PaginatedOAuthSourceList { pagination, results } + } +} diff --git a/src/models/paginated_o_auth_source_property_mapping_list.rs b/src/models/paginated_o_auth_source_property_mapping_list.rs new file mode 100644 index 0000000..ad7ead6 --- /dev/null +++ b/src/models/paginated_o_auth_source_property_mapping_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedOAuthSourcePropertyMappingList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedOAuthSourcePropertyMappingList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedOAuthSourcePropertyMappingList { + PaginatedOAuthSourcePropertyMappingList { pagination, results } + } +} diff --git a/src/models/paginated_outpost_list.rs b/src/models/paginated_outpost_list.rs new file mode 100644 index 0000000..75ad90c --- /dev/null +++ b/src/models/paginated_outpost_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedOutpostList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedOutpostList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedOutpostList { + PaginatedOutpostList { pagination, results } + } +} diff --git a/src/models/paginated_password_expiry_policy_list.rs b/src/models/paginated_password_expiry_policy_list.rs new file mode 100644 index 0000000..88c00b9 --- /dev/null +++ b/src/models/paginated_password_expiry_policy_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedPasswordExpiryPolicyList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedPasswordExpiryPolicyList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedPasswordExpiryPolicyList { + PaginatedPasswordExpiryPolicyList { pagination, results } + } +} diff --git a/src/models/paginated_password_policy_list.rs b/src/models/paginated_password_policy_list.rs new file mode 100644 index 0000000..fa018b2 --- /dev/null +++ b/src/models/paginated_password_policy_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedPasswordPolicyList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedPasswordPolicyList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedPasswordPolicyList { + PaginatedPasswordPolicyList { pagination, results } + } +} diff --git a/src/models/paginated_password_stage_list.rs b/src/models/paginated_password_stage_list.rs new file mode 100644 index 0000000..11e9d2c --- /dev/null +++ b/src/models/paginated_password_stage_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedPasswordStageList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedPasswordStageList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedPasswordStageList { + PaginatedPasswordStageList { pagination, results } + } +} diff --git a/src/models/paginated_permission_list.rs b/src/models/paginated_permission_list.rs new file mode 100644 index 0000000..7769dd6 --- /dev/null +++ b/src/models/paginated_permission_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedPermissionList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedPermissionList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedPermissionList { + PaginatedPermissionList { pagination, results } + } +} diff --git a/src/models/paginated_plex_source_list.rs b/src/models/paginated_plex_source_list.rs new file mode 100644 index 0000000..8316418 --- /dev/null +++ b/src/models/paginated_plex_source_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedPlexSourceList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedPlexSourceList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedPlexSourceList { + PaginatedPlexSourceList { pagination, results } + } +} diff --git a/src/models/paginated_plex_source_property_mapping_list.rs b/src/models/paginated_plex_source_property_mapping_list.rs new file mode 100644 index 0000000..2b61c9b --- /dev/null +++ b/src/models/paginated_plex_source_property_mapping_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedPlexSourcePropertyMappingList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedPlexSourcePropertyMappingList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedPlexSourcePropertyMappingList { + PaginatedPlexSourcePropertyMappingList { pagination, results } + } +} diff --git a/src/models/paginated_policy_binding_list.rs b/src/models/paginated_policy_binding_list.rs new file mode 100644 index 0000000..ccabbf2 --- /dev/null +++ b/src/models/paginated_policy_binding_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedPolicyBindingList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedPolicyBindingList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedPolicyBindingList { + PaginatedPolicyBindingList { pagination, results } + } +} diff --git a/src/models/paginated_policy_list.rs b/src/models/paginated_policy_list.rs new file mode 100644 index 0000000..d0ee19a --- /dev/null +++ b/src/models/paginated_policy_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedPolicyList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedPolicyList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedPolicyList { + PaginatedPolicyList { pagination, results } + } +} diff --git a/src/models/paginated_prompt_list.rs b/src/models/paginated_prompt_list.rs new file mode 100644 index 0000000..5c33afe --- /dev/null +++ b/src/models/paginated_prompt_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedPromptList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedPromptList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedPromptList { + PaginatedPromptList { pagination, results } + } +} diff --git a/src/models/paginated_prompt_stage_list.rs b/src/models/paginated_prompt_stage_list.rs new file mode 100644 index 0000000..c6b5ff3 --- /dev/null +++ b/src/models/paginated_prompt_stage_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedPromptStageList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedPromptStageList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedPromptStageList { + PaginatedPromptStageList { pagination, results } + } +} diff --git a/src/models/paginated_property_mapping_list.rs b/src/models/paginated_property_mapping_list.rs new file mode 100644 index 0000000..e79f70c --- /dev/null +++ b/src/models/paginated_property_mapping_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedPropertyMappingList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedPropertyMappingList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedPropertyMappingList { + PaginatedPropertyMappingList { pagination, results } + } +} diff --git a/src/models/paginated_provider_list.rs b/src/models/paginated_provider_list.rs new file mode 100644 index 0000000..f8fc4b0 --- /dev/null +++ b/src/models/paginated_provider_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedProviderList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedProviderList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedProviderList { + PaginatedProviderList { pagination, results } + } +} diff --git a/src/models/paginated_proxy_outpost_config_list.rs b/src/models/paginated_proxy_outpost_config_list.rs new file mode 100644 index 0000000..f1b47e7 --- /dev/null +++ b/src/models/paginated_proxy_outpost_config_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedProxyOutpostConfigList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedProxyOutpostConfigList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedProxyOutpostConfigList { + PaginatedProxyOutpostConfigList { pagination, results } + } +} diff --git a/src/models/paginated_proxy_provider_list.rs b/src/models/paginated_proxy_provider_list.rs new file mode 100644 index 0000000..6214980 --- /dev/null +++ b/src/models/paginated_proxy_provider_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedProxyProviderList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedProxyProviderList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedProxyProviderList { + PaginatedProxyProviderList { pagination, results } + } +} diff --git a/src/models/paginated_rac_property_mapping_list.rs b/src/models/paginated_rac_property_mapping_list.rs new file mode 100644 index 0000000..cf3f260 --- /dev/null +++ b/src/models/paginated_rac_property_mapping_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedRacPropertyMappingList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedRacPropertyMappingList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedRacPropertyMappingList { + PaginatedRacPropertyMappingList { pagination, results } + } +} diff --git a/src/models/paginated_rac_provider_list.rs b/src/models/paginated_rac_provider_list.rs new file mode 100644 index 0000000..3a4bfec --- /dev/null +++ b/src/models/paginated_rac_provider_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedRacProviderList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedRacProviderList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedRacProviderList { + PaginatedRacProviderList { pagination, results } + } +} diff --git a/src/models/paginated_radius_outpost_config_list.rs b/src/models/paginated_radius_outpost_config_list.rs new file mode 100644 index 0000000..b22adfc --- /dev/null +++ b/src/models/paginated_radius_outpost_config_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedRadiusOutpostConfigList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedRadiusOutpostConfigList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedRadiusOutpostConfigList { + PaginatedRadiusOutpostConfigList { pagination, results } + } +} diff --git a/src/models/paginated_radius_provider_list.rs b/src/models/paginated_radius_provider_list.rs new file mode 100644 index 0000000..85da826 --- /dev/null +++ b/src/models/paginated_radius_provider_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedRadiusProviderList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedRadiusProviderList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedRadiusProviderList { + PaginatedRadiusProviderList { pagination, results } + } +} diff --git a/src/models/paginated_radius_provider_property_mapping_list.rs b/src/models/paginated_radius_provider_property_mapping_list.rs new file mode 100644 index 0000000..ea5f652 --- /dev/null +++ b/src/models/paginated_radius_provider_property_mapping_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedRadiusProviderPropertyMappingList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedRadiusProviderPropertyMappingList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedRadiusProviderPropertyMappingList { + PaginatedRadiusProviderPropertyMappingList { pagination, results } + } +} diff --git a/src/models/paginated_reputation_list.rs b/src/models/paginated_reputation_list.rs new file mode 100644 index 0000000..e358eb1 --- /dev/null +++ b/src/models/paginated_reputation_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedReputationList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedReputationList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedReputationList { + PaginatedReputationList { pagination, results } + } +} diff --git a/src/models/paginated_reputation_policy_list.rs b/src/models/paginated_reputation_policy_list.rs new file mode 100644 index 0000000..f02bb54 --- /dev/null +++ b/src/models/paginated_reputation_policy_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedReputationPolicyList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedReputationPolicyList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedReputationPolicyList { + PaginatedReputationPolicyList { pagination, results } + } +} diff --git a/src/models/paginated_role_assigned_object_permission_list.rs b/src/models/paginated_role_assigned_object_permission_list.rs new file mode 100644 index 0000000..01ec1f4 --- /dev/null +++ b/src/models/paginated_role_assigned_object_permission_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedRoleAssignedObjectPermissionList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedRoleAssignedObjectPermissionList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedRoleAssignedObjectPermissionList { + PaginatedRoleAssignedObjectPermissionList { pagination, results } + } +} diff --git a/src/models/paginated_role_list.rs b/src/models/paginated_role_list.rs new file mode 100644 index 0000000..2526fa3 --- /dev/null +++ b/src/models/paginated_role_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedRoleList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedRoleList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedRoleList { + PaginatedRoleList { pagination, results } + } +} diff --git a/src/models/paginated_saml_property_mapping_list.rs b/src/models/paginated_saml_property_mapping_list.rs new file mode 100644 index 0000000..3e7a91e --- /dev/null +++ b/src/models/paginated_saml_property_mapping_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedSamlPropertyMappingList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedSamlPropertyMappingList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedSamlPropertyMappingList { + PaginatedSamlPropertyMappingList { pagination, results } + } +} diff --git a/src/models/paginated_saml_provider_list.rs b/src/models/paginated_saml_provider_list.rs new file mode 100644 index 0000000..5c23ac8 --- /dev/null +++ b/src/models/paginated_saml_provider_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedSamlProviderList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedSamlProviderList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedSamlProviderList { + PaginatedSamlProviderList { pagination, results } + } +} diff --git a/src/models/paginated_saml_source_list.rs b/src/models/paginated_saml_source_list.rs new file mode 100644 index 0000000..60d69a0 --- /dev/null +++ b/src/models/paginated_saml_source_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedSamlSourceList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedSamlSourceList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedSamlSourceList { + PaginatedSamlSourceList { pagination, results } + } +} diff --git a/src/models/paginated_saml_source_property_mapping_list.rs b/src/models/paginated_saml_source_property_mapping_list.rs new file mode 100644 index 0000000..1f0a11f --- /dev/null +++ b/src/models/paginated_saml_source_property_mapping_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedSamlSourcePropertyMappingList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedSamlSourcePropertyMappingList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedSamlSourcePropertyMappingList { + PaginatedSamlSourcePropertyMappingList { pagination, results } + } +} diff --git a/src/models/paginated_scim_mapping_list.rs b/src/models/paginated_scim_mapping_list.rs new file mode 100644 index 0000000..c530703 --- /dev/null +++ b/src/models/paginated_scim_mapping_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedScimMappingList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedScimMappingList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedScimMappingList { + PaginatedScimMappingList { pagination, results } + } +} diff --git a/src/models/paginated_scim_provider_group_list.rs b/src/models/paginated_scim_provider_group_list.rs new file mode 100644 index 0000000..31e6ddc --- /dev/null +++ b/src/models/paginated_scim_provider_group_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedScimProviderGroupList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedScimProviderGroupList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedScimProviderGroupList { + PaginatedScimProviderGroupList { pagination, results } + } +} diff --git a/src/models/paginated_scim_provider_list.rs b/src/models/paginated_scim_provider_list.rs new file mode 100644 index 0000000..f13f51a --- /dev/null +++ b/src/models/paginated_scim_provider_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedScimProviderList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedScimProviderList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedScimProviderList { + PaginatedScimProviderList { pagination, results } + } +} diff --git a/src/models/paginated_scim_provider_user_list.rs b/src/models/paginated_scim_provider_user_list.rs new file mode 100644 index 0000000..52991d3 --- /dev/null +++ b/src/models/paginated_scim_provider_user_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedScimProviderUserList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedScimProviderUserList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedScimProviderUserList { + PaginatedScimProviderUserList { pagination, results } + } +} diff --git a/src/models/paginated_scim_source_group_list.rs b/src/models/paginated_scim_source_group_list.rs new file mode 100644 index 0000000..99b6776 --- /dev/null +++ b/src/models/paginated_scim_source_group_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedScimSourceGroupList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedScimSourceGroupList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedScimSourceGroupList { + PaginatedScimSourceGroupList { pagination, results } + } +} diff --git a/src/models/paginated_scim_source_list.rs b/src/models/paginated_scim_source_list.rs new file mode 100644 index 0000000..8eb0533 --- /dev/null +++ b/src/models/paginated_scim_source_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedScimSourceList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedScimSourceList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedScimSourceList { + PaginatedScimSourceList { pagination, results } + } +} diff --git a/src/models/paginated_scim_source_property_mapping_list.rs b/src/models/paginated_scim_source_property_mapping_list.rs new file mode 100644 index 0000000..3f8521e --- /dev/null +++ b/src/models/paginated_scim_source_property_mapping_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedScimSourcePropertyMappingList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedScimSourcePropertyMappingList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedScimSourcePropertyMappingList { + PaginatedScimSourcePropertyMappingList { pagination, results } + } +} diff --git a/src/models/paginated_scim_source_user_list.rs b/src/models/paginated_scim_source_user_list.rs new file mode 100644 index 0000000..8298de6 --- /dev/null +++ b/src/models/paginated_scim_source_user_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedScimSourceUserList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedScimSourceUserList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedScimSourceUserList { + PaginatedScimSourceUserList { pagination, results } + } +} diff --git a/src/models/paginated_scope_mapping_list.rs b/src/models/paginated_scope_mapping_list.rs new file mode 100644 index 0000000..f477857 --- /dev/null +++ b/src/models/paginated_scope_mapping_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedScopeMappingList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedScopeMappingList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedScopeMappingList { + PaginatedScopeMappingList { pagination, results } + } +} diff --git a/src/models/paginated_service_connection_list.rs b/src/models/paginated_service_connection_list.rs new file mode 100644 index 0000000..f0cf0da --- /dev/null +++ b/src/models/paginated_service_connection_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedServiceConnectionList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedServiceConnectionList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedServiceConnectionList { + PaginatedServiceConnectionList { pagination, results } + } +} diff --git a/src/models/paginated_sms_device_list.rs b/src/models/paginated_sms_device_list.rs new file mode 100644 index 0000000..fcf74b6 --- /dev/null +++ b/src/models/paginated_sms_device_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedSmsDeviceList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedSmsDeviceList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedSmsDeviceList { + PaginatedSmsDeviceList { pagination, results } + } +} diff --git a/src/models/paginated_source_list.rs b/src/models/paginated_source_list.rs new file mode 100644 index 0000000..c5e14f8 --- /dev/null +++ b/src/models/paginated_source_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedSourceList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedSourceList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedSourceList { + PaginatedSourceList { pagination, results } + } +} diff --git a/src/models/paginated_source_stage_list.rs b/src/models/paginated_source_stage_list.rs new file mode 100644 index 0000000..b863aa5 --- /dev/null +++ b/src/models/paginated_source_stage_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedSourceStageList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedSourceStageList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedSourceStageList { + PaginatedSourceStageList { pagination, results } + } +} diff --git a/src/models/paginated_stage_list.rs b/src/models/paginated_stage_list.rs new file mode 100644 index 0000000..d872111 --- /dev/null +++ b/src/models/paginated_stage_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedStageList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedStageList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedStageList { + PaginatedStageList { pagination, results } + } +} diff --git a/src/models/paginated_static_device_list.rs b/src/models/paginated_static_device_list.rs new file mode 100644 index 0000000..8091060 --- /dev/null +++ b/src/models/paginated_static_device_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedStaticDeviceList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedStaticDeviceList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedStaticDeviceList { + PaginatedStaticDeviceList { pagination, results } + } +} diff --git a/src/models/paginated_system_task_list.rs b/src/models/paginated_system_task_list.rs new file mode 100644 index 0000000..83d4b4d --- /dev/null +++ b/src/models/paginated_system_task_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedSystemTaskList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedSystemTaskList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedSystemTaskList { + PaginatedSystemTaskList { pagination, results } + } +} diff --git a/src/models/paginated_tenant_list.rs b/src/models/paginated_tenant_list.rs new file mode 100644 index 0000000..f17d1e9 --- /dev/null +++ b/src/models/paginated_tenant_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedTenantList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedTenantList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedTenantList { + PaginatedTenantList { pagination, results } + } +} diff --git a/src/models/paginated_token_list.rs b/src/models/paginated_token_list.rs new file mode 100644 index 0000000..29b40ba --- /dev/null +++ b/src/models/paginated_token_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedTokenList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedTokenList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedTokenList { + PaginatedTokenList { pagination, results } + } +} diff --git a/src/models/paginated_token_model_list.rs b/src/models/paginated_token_model_list.rs new file mode 100644 index 0000000..58b8d68 --- /dev/null +++ b/src/models/paginated_token_model_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedTokenModelList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedTokenModelList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedTokenModelList { + PaginatedTokenModelList { pagination, results } + } +} diff --git a/src/models/paginated_totp_device_list.rs b/src/models/paginated_totp_device_list.rs new file mode 100644 index 0000000..5db1fe0 --- /dev/null +++ b/src/models/paginated_totp_device_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedTotpDeviceList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedTotpDeviceList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedTotpDeviceList { + PaginatedTotpDeviceList { pagination, results } + } +} diff --git a/src/models/paginated_user_assigned_object_permission_list.rs b/src/models/paginated_user_assigned_object_permission_list.rs new file mode 100644 index 0000000..9588e8d --- /dev/null +++ b/src/models/paginated_user_assigned_object_permission_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedUserAssignedObjectPermissionList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedUserAssignedObjectPermissionList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedUserAssignedObjectPermissionList { + PaginatedUserAssignedObjectPermissionList { pagination, results } + } +} diff --git a/src/models/paginated_user_consent_list.rs b/src/models/paginated_user_consent_list.rs new file mode 100644 index 0000000..6136cec --- /dev/null +++ b/src/models/paginated_user_consent_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedUserConsentList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedUserConsentList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedUserConsentList { + PaginatedUserConsentList { pagination, results } + } +} diff --git a/src/models/paginated_user_delete_stage_list.rs b/src/models/paginated_user_delete_stage_list.rs new file mode 100644 index 0000000..8db98c4 --- /dev/null +++ b/src/models/paginated_user_delete_stage_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedUserDeleteStageList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedUserDeleteStageList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedUserDeleteStageList { + PaginatedUserDeleteStageList { pagination, results } + } +} diff --git a/src/models/paginated_user_list.rs b/src/models/paginated_user_list.rs new file mode 100644 index 0000000..919c551 --- /dev/null +++ b/src/models/paginated_user_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedUserList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedUserList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedUserList { + PaginatedUserList { pagination, results } + } +} diff --git a/src/models/paginated_user_login_stage_list.rs b/src/models/paginated_user_login_stage_list.rs new file mode 100644 index 0000000..44f092e --- /dev/null +++ b/src/models/paginated_user_login_stage_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedUserLoginStageList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedUserLoginStageList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedUserLoginStageList { + PaginatedUserLoginStageList { pagination, results } + } +} diff --git a/src/models/paginated_user_logout_stage_list.rs b/src/models/paginated_user_logout_stage_list.rs new file mode 100644 index 0000000..2cbd495 --- /dev/null +++ b/src/models/paginated_user_logout_stage_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedUserLogoutStageList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedUserLogoutStageList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedUserLogoutStageList { + PaginatedUserLogoutStageList { pagination, results } + } +} diff --git a/src/models/paginated_user_o_auth_source_connection_list.rs b/src/models/paginated_user_o_auth_source_connection_list.rs new file mode 100644 index 0000000..134ffdd --- /dev/null +++ b/src/models/paginated_user_o_auth_source_connection_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedUserOAuthSourceConnectionList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedUserOAuthSourceConnectionList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedUserOAuthSourceConnectionList { + PaginatedUserOAuthSourceConnectionList { pagination, results } + } +} diff --git a/src/models/paginated_user_plex_source_connection_list.rs b/src/models/paginated_user_plex_source_connection_list.rs new file mode 100644 index 0000000..7f2c30c --- /dev/null +++ b/src/models/paginated_user_plex_source_connection_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedUserPlexSourceConnectionList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedUserPlexSourceConnectionList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedUserPlexSourceConnectionList { + PaginatedUserPlexSourceConnectionList { pagination, results } + } +} diff --git a/src/models/paginated_user_saml_source_connection_list.rs b/src/models/paginated_user_saml_source_connection_list.rs new file mode 100644 index 0000000..a0d4cbb --- /dev/null +++ b/src/models/paginated_user_saml_source_connection_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedUserSamlSourceConnectionList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedUserSamlSourceConnectionList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedUserSamlSourceConnectionList { + PaginatedUserSamlSourceConnectionList { pagination, results } + } +} diff --git a/src/models/paginated_user_source_connection_list.rs b/src/models/paginated_user_source_connection_list.rs new file mode 100644 index 0000000..cecf321 --- /dev/null +++ b/src/models/paginated_user_source_connection_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedUserSourceConnectionList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedUserSourceConnectionList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedUserSourceConnectionList { + PaginatedUserSourceConnectionList { pagination, results } + } +} diff --git a/src/models/paginated_user_write_stage_list.rs b/src/models/paginated_user_write_stage_list.rs new file mode 100644 index 0000000..4b6b739 --- /dev/null +++ b/src/models/paginated_user_write_stage_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedUserWriteStageList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedUserWriteStageList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedUserWriteStageList { + PaginatedUserWriteStageList { pagination, results } + } +} diff --git a/src/models/paginated_web_authn_device_list.rs b/src/models/paginated_web_authn_device_list.rs new file mode 100644 index 0000000..768706a --- /dev/null +++ b/src/models/paginated_web_authn_device_list.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedWebAuthnDeviceList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedWebAuthnDeviceList { + pub fn new(pagination: models::Pagination, results: Vec) -> PaginatedWebAuthnDeviceList { + PaginatedWebAuthnDeviceList { pagination, results } + } +} diff --git a/src/models/paginated_web_authn_device_type_list.rs b/src/models/paginated_web_authn_device_type_list.rs new file mode 100644 index 0000000..319b6c7 --- /dev/null +++ b/src/models/paginated_web_authn_device_type_list.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaginatedWebAuthnDeviceTypeList { + #[serde(rename = "pagination")] + pub pagination: models::Pagination, + #[serde(rename = "results")] + pub results: Vec, +} + +impl PaginatedWebAuthnDeviceTypeList { + pub fn new( + pagination: models::Pagination, + results: Vec, + ) -> PaginatedWebAuthnDeviceTypeList { + PaginatedWebAuthnDeviceTypeList { pagination, results } + } +} diff --git a/src/models/pagination.rs b/src/models/pagination.rs new file mode 100644 index 0000000..7a2c2af --- /dev/null +++ b/src/models/pagination.rs @@ -0,0 +1,52 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Pagination { + #[serde(rename = "next")] + pub next: f64, + #[serde(rename = "previous")] + pub previous: f64, + #[serde(rename = "count")] + pub count: f64, + #[serde(rename = "current")] + pub current: f64, + #[serde(rename = "total_pages")] + pub total_pages: f64, + #[serde(rename = "start_index")] + pub start_index: f64, + #[serde(rename = "end_index")] + pub end_index: f64, +} + +impl Pagination { + pub fn new( + next: f64, + previous: f64, + count: f64, + current: f64, + total_pages: f64, + start_index: f64, + end_index: f64, + ) -> Pagination { + Pagination { + next, + previous, + count, + current, + total_pages, + start_index, + end_index, + } + } +} diff --git a/src/models/password_challenge.rs b/src/models/password_challenge.rs new file mode 100644 index 0000000..6b956a1 --- /dev/null +++ b/src/models/password_challenge.rs @@ -0,0 +1,46 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PasswordChallenge : Password challenge UI fields +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PasswordChallenge { + #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")] + pub flow_info: Option, + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")] + pub response_errors: Option>>, + #[serde(rename = "pending_user")] + pub pending_user: String, + #[serde(rename = "pending_user_avatar")] + pub pending_user_avatar: String, + #[serde(rename = "recovery_url", skip_serializing_if = "Option::is_none")] + pub recovery_url: Option, + #[serde(rename = "allow_show_password", skip_serializing_if = "Option::is_none")] + pub allow_show_password: Option, +} + +impl PasswordChallenge { + /// Password challenge UI fields + pub fn new(pending_user: String, pending_user_avatar: String) -> PasswordChallenge { + PasswordChallenge { + flow_info: None, + component: None, + response_errors: None, + pending_user, + pending_user_avatar, + recovery_url: None, + allow_show_password: None, + } + } +} diff --git a/src/models/password_challenge_response_request.rs b/src/models/password_challenge_response_request.rs new file mode 100644 index 0000000..a74d2a3 --- /dev/null +++ b/src/models/password_challenge_response_request.rs @@ -0,0 +1,31 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PasswordChallengeResponseRequest : Password challenge response +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PasswordChallengeResponseRequest { + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "password")] + pub password: String, +} + +impl PasswordChallengeResponseRequest { + /// Password challenge response + pub fn new(password: String) -> PasswordChallengeResponseRequest { + PasswordChallengeResponseRequest { + component: None, + password, + } + } +} diff --git a/src/models/password_expiry_policy.rs b/src/models/password_expiry_policy.rs new file mode 100644 index 0000000..852a764 --- /dev/null +++ b/src/models/password_expiry_policy.rs @@ -0,0 +1,70 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PasswordExpiryPolicy : Password Expiry Policy Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PasswordExpiryPolicy { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + #[serde(rename = "execution_logging", skip_serializing_if = "Option::is_none")] + pub execution_logging: Option, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + /// Return objects policy is bound to + #[serde(rename = "bound_to")] + pub bound_to: i32, + #[serde(rename = "days")] + pub days: i32, + #[serde(rename = "deny_only", skip_serializing_if = "Option::is_none")] + pub deny_only: Option, +} + +impl PasswordExpiryPolicy { + /// Password Expiry Policy Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + bound_to: i32, + days: i32, + ) -> PasswordExpiryPolicy { + PasswordExpiryPolicy { + pk, + name, + execution_logging: None, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + bound_to, + days, + deny_only: None, + } + } +} diff --git a/src/models/password_expiry_policy_request.rs b/src/models/password_expiry_policy_request.rs new file mode 100644 index 0000000..7b3bb58 --- /dev/null +++ b/src/models/password_expiry_policy_request.rs @@ -0,0 +1,38 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PasswordExpiryPolicyRequest : Password Expiry Policy Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PasswordExpiryPolicyRequest { + #[serde(rename = "name")] + pub name: String, + /// When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + #[serde(rename = "execution_logging", skip_serializing_if = "Option::is_none")] + pub execution_logging: Option, + #[serde(rename = "days")] + pub days: i32, + #[serde(rename = "deny_only", skip_serializing_if = "Option::is_none")] + pub deny_only: Option, +} + +impl PasswordExpiryPolicyRequest { + /// Password Expiry Policy Serializer + pub fn new(name: String, days: i32) -> PasswordExpiryPolicyRequest { + PasswordExpiryPolicyRequest { + name, + execution_logging: None, + days, + deny_only: None, + } + } +} diff --git a/src/models/password_policy.rs b/src/models/password_policy.rs new file mode 100644 index 0000000..280d36a --- /dev/null +++ b/src/models/password_policy.rs @@ -0,0 +1,105 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PasswordPolicy : Password Policy Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PasswordPolicy { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + #[serde(rename = "execution_logging", skip_serializing_if = "Option::is_none")] + pub execution_logging: Option, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + /// Return objects policy is bound to + #[serde(rename = "bound_to")] + pub bound_to: i32, + /// Field key to check, field keys defined in Prompt stages are available. + #[serde(rename = "password_field", skip_serializing_if = "Option::is_none")] + pub password_field: Option, + #[serde(rename = "amount_digits", skip_serializing_if = "Option::is_none")] + pub amount_digits: Option, + #[serde(rename = "amount_uppercase", skip_serializing_if = "Option::is_none")] + pub amount_uppercase: Option, + #[serde(rename = "amount_lowercase", skip_serializing_if = "Option::is_none")] + pub amount_lowercase: Option, + #[serde(rename = "amount_symbols", skip_serializing_if = "Option::is_none")] + pub amount_symbols: Option, + #[serde(rename = "length_min", skip_serializing_if = "Option::is_none")] + pub length_min: Option, + #[serde(rename = "symbol_charset", skip_serializing_if = "Option::is_none")] + pub symbol_charset: Option, + #[serde(rename = "error_message", skip_serializing_if = "Option::is_none")] + pub error_message: Option, + #[serde(rename = "check_static_rules", skip_serializing_if = "Option::is_none")] + pub check_static_rules: Option, + #[serde(rename = "check_have_i_been_pwned", skip_serializing_if = "Option::is_none")] + pub check_have_i_been_pwned: Option, + #[serde(rename = "check_zxcvbn", skip_serializing_if = "Option::is_none")] + pub check_zxcvbn: Option, + /// How many times the password hash is allowed to be on haveibeenpwned + #[serde(rename = "hibp_allowed_count", skip_serializing_if = "Option::is_none")] + pub hibp_allowed_count: Option, + /// If the zxcvbn score is equal or less than this value, the policy will fail. + #[serde(rename = "zxcvbn_score_threshold", skip_serializing_if = "Option::is_none")] + pub zxcvbn_score_threshold: Option, +} + +impl PasswordPolicy { + /// Password Policy Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + bound_to: i32, + ) -> PasswordPolicy { + PasswordPolicy { + pk, + name, + execution_logging: None, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + bound_to, + password_field: None, + amount_digits: None, + amount_uppercase: None, + amount_lowercase: None, + amount_symbols: None, + length_min: None, + symbol_charset: None, + error_message: None, + check_static_rules: None, + check_have_i_been_pwned: None, + check_zxcvbn: None, + hibp_allowed_count: None, + zxcvbn_score_threshold: None, + } + } +} diff --git a/src/models/password_policy_request.rs b/src/models/password_policy_request.rs new file mode 100644 index 0000000..52965e2 --- /dev/null +++ b/src/models/password_policy_request.rs @@ -0,0 +1,74 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PasswordPolicyRequest : Password Policy Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PasswordPolicyRequest { + #[serde(rename = "name")] + pub name: String, + /// When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + #[serde(rename = "execution_logging", skip_serializing_if = "Option::is_none")] + pub execution_logging: Option, + /// Field key to check, field keys defined in Prompt stages are available. + #[serde(rename = "password_field", skip_serializing_if = "Option::is_none")] + pub password_field: Option, + #[serde(rename = "amount_digits", skip_serializing_if = "Option::is_none")] + pub amount_digits: Option, + #[serde(rename = "amount_uppercase", skip_serializing_if = "Option::is_none")] + pub amount_uppercase: Option, + #[serde(rename = "amount_lowercase", skip_serializing_if = "Option::is_none")] + pub amount_lowercase: Option, + #[serde(rename = "amount_symbols", skip_serializing_if = "Option::is_none")] + pub amount_symbols: Option, + #[serde(rename = "length_min", skip_serializing_if = "Option::is_none")] + pub length_min: Option, + #[serde(rename = "symbol_charset", skip_serializing_if = "Option::is_none")] + pub symbol_charset: Option, + #[serde(rename = "error_message", skip_serializing_if = "Option::is_none")] + pub error_message: Option, + #[serde(rename = "check_static_rules", skip_serializing_if = "Option::is_none")] + pub check_static_rules: Option, + #[serde(rename = "check_have_i_been_pwned", skip_serializing_if = "Option::is_none")] + pub check_have_i_been_pwned: Option, + #[serde(rename = "check_zxcvbn", skip_serializing_if = "Option::is_none")] + pub check_zxcvbn: Option, + /// How many times the password hash is allowed to be on haveibeenpwned + #[serde(rename = "hibp_allowed_count", skip_serializing_if = "Option::is_none")] + pub hibp_allowed_count: Option, + /// If the zxcvbn score is equal or less than this value, the policy will fail. + #[serde(rename = "zxcvbn_score_threshold", skip_serializing_if = "Option::is_none")] + pub zxcvbn_score_threshold: Option, +} + +impl PasswordPolicyRequest { + /// Password Policy Serializer + pub fn new(name: String) -> PasswordPolicyRequest { + PasswordPolicyRequest { + name, + execution_logging: None, + password_field: None, + amount_digits: None, + amount_uppercase: None, + amount_lowercase: None, + amount_symbols: None, + length_min: None, + symbol_charset: None, + error_message: None, + check_static_rules: None, + check_have_i_been_pwned: None, + check_zxcvbn: None, + hibp_allowed_count: None, + zxcvbn_score_threshold: None, + } + } +} diff --git a/src/models/password_stage.rs b/src/models/password_stage.rs new file mode 100644 index 0000000..eaa8859 --- /dev/null +++ b/src/models/password_stage.rs @@ -0,0 +1,79 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PasswordStage : PasswordStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PasswordStage { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Get object type so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Selection of backends to test the password against. + #[serde(rename = "backends")] + pub backends: Vec, + /// Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. + #[serde( + rename = "configure_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub configure_flow: Option>, + /// How many attempts a user has before the flow is canceled. To lock the user out, use a reputation policy and a user_write stage. + #[serde(rename = "failed_attempts_before_cancel", skip_serializing_if = "Option::is_none")] + pub failed_attempts_before_cancel: Option, + /// When enabled, provides a 'show password' button with the password input field. + #[serde(rename = "allow_show_password", skip_serializing_if = "Option::is_none")] + pub allow_show_password: Option, +} + +impl PasswordStage { + /// PasswordStage Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + backends: Vec, + ) -> PasswordStage { + PasswordStage { + pk, + name, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + flow_set: None, + backends, + configure_flow: None, + failed_attempts_before_cancel: None, + allow_show_password: None, + } + } +} diff --git a/src/models/password_stage_request.rs b/src/models/password_stage_request.rs new file mode 100644 index 0000000..9e6af4c --- /dev/null +++ b/src/models/password_stage_request.rs @@ -0,0 +1,52 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PasswordStageRequest : PasswordStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PasswordStageRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Selection of backends to test the password against. + #[serde(rename = "backends")] + pub backends: Vec, + /// Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. + #[serde( + rename = "configure_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub configure_flow: Option>, + /// How many attempts a user has before the flow is canceled. To lock the user out, use a reputation policy and a user_write stage. + #[serde(rename = "failed_attempts_before_cancel", skip_serializing_if = "Option::is_none")] + pub failed_attempts_before_cancel: Option, + /// When enabled, provides a 'show password' button with the password input field. + #[serde(rename = "allow_show_password", skip_serializing_if = "Option::is_none")] + pub allow_show_password: Option, +} + +impl PasswordStageRequest { + /// PasswordStage Serializer + pub fn new(name: String, backends: Vec) -> PasswordStageRequest { + PasswordStageRequest { + name, + flow_set: None, + backends, + configure_flow: None, + failed_attempts_before_cancel: None, + allow_show_password: None, + } + } +} diff --git a/src/models/patched_application_request.rs b/src/models/patched_application_request.rs new file mode 100644 index 0000000..8d26876 --- /dev/null +++ b/src/models/patched_application_request.rs @@ -0,0 +1,63 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedApplicationRequest : Application Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedApplicationRequest { + /// Application's display Name. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Internal application name, used in URLs. + #[serde(rename = "slug", skip_serializing_if = "Option::is_none")] + pub slug: Option, + #[serde( + rename = "provider", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub provider: Option>, + #[serde(rename = "backchannel_providers", skip_serializing_if = "Option::is_none")] + pub backchannel_providers: Option>, + /// Open launch URL in a new browser tab or window. + #[serde(rename = "open_in_new_tab", skip_serializing_if = "Option::is_none")] + pub open_in_new_tab: Option, + #[serde(rename = "meta_launch_url", skip_serializing_if = "Option::is_none")] + pub meta_launch_url: Option, + #[serde(rename = "meta_description", skip_serializing_if = "Option::is_none")] + pub meta_description: Option, + #[serde(rename = "meta_publisher", skip_serializing_if = "Option::is_none")] + pub meta_publisher: Option, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + #[serde(rename = "group", skip_serializing_if = "Option::is_none")] + pub group: Option, +} + +impl PatchedApplicationRequest { + /// Application Serializer + pub fn new() -> PatchedApplicationRequest { + PatchedApplicationRequest { + name: None, + slug: None, + provider: None, + backchannel_providers: None, + open_in_new_tab: None, + meta_launch_url: None, + meta_description: None, + meta_publisher: None, + policy_engine_mode: None, + group: None, + } + } +} diff --git a/src/models/patched_authenticator_duo_stage_request.rs b/src/models/patched_authenticator_duo_stage_request.rs new file mode 100644 index 0000000..dc8ba2b --- /dev/null +++ b/src/models/patched_authenticator_duo_stage_request.rs @@ -0,0 +1,63 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedAuthenticatorDuoStageRequest : AuthenticatorDuoStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedAuthenticatorDuoStageRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. + #[serde( + rename = "configure_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub configure_flow: Option>, + #[serde( + rename = "friendly_name", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub friendly_name: Option>, + #[serde(rename = "client_id", skip_serializing_if = "Option::is_none")] + pub client_id: Option, + #[serde(rename = "client_secret", skip_serializing_if = "Option::is_none")] + pub client_secret: Option, + #[serde(rename = "api_hostname", skip_serializing_if = "Option::is_none")] + pub api_hostname: Option, + #[serde(rename = "admin_integration_key", skip_serializing_if = "Option::is_none")] + pub admin_integration_key: Option, + #[serde(rename = "admin_secret_key", skip_serializing_if = "Option::is_none")] + pub admin_secret_key: Option, +} + +impl PatchedAuthenticatorDuoStageRequest { + /// AuthenticatorDuoStage Serializer + pub fn new() -> PatchedAuthenticatorDuoStageRequest { + PatchedAuthenticatorDuoStageRequest { + name: None, + flow_set: None, + configure_flow: None, + friendly_name: None, + client_id: None, + client_secret: None, + api_hostname: None, + admin_integration_key: None, + admin_secret_key: None, + } + } +} diff --git a/src/models/patched_authenticator_sms_stage_request.rs b/src/models/patched_authenticator_sms_stage_request.rs new file mode 100644 index 0000000..c9bfef9 --- /dev/null +++ b/src/models/patched_authenticator_sms_stage_request.rs @@ -0,0 +1,79 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedAuthenticatorSmsStageRequest : AuthenticatorSMSStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedAuthenticatorSmsStageRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. + #[serde( + rename = "configure_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub configure_flow: Option>, + #[serde( + rename = "friendly_name", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub friendly_name: Option>, + #[serde(rename = "provider", skip_serializing_if = "Option::is_none")] + pub provider: Option, + #[serde(rename = "from_number", skip_serializing_if = "Option::is_none")] + pub from_number: Option, + #[serde(rename = "account_sid", skip_serializing_if = "Option::is_none")] + pub account_sid: Option, + #[serde(rename = "auth", skip_serializing_if = "Option::is_none")] + pub auth: Option, + #[serde(rename = "auth_password", skip_serializing_if = "Option::is_none")] + pub auth_password: Option, + #[serde(rename = "auth_type", skip_serializing_if = "Option::is_none")] + pub auth_type: Option, + /// When enabled, the Phone number is only used during enrollment to verify the users authenticity. Only a hash of the phone number is saved to ensure it is not reused in the future. + #[serde(rename = "verify_only", skip_serializing_if = "Option::is_none")] + pub verify_only: Option, + /// Optionally modify the payload being sent to custom providers. + #[serde( + rename = "mapping", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub mapping: Option>, +} + +impl PatchedAuthenticatorSmsStageRequest { + /// AuthenticatorSMSStage Serializer + pub fn new() -> PatchedAuthenticatorSmsStageRequest { + PatchedAuthenticatorSmsStageRequest { + name: None, + flow_set: None, + configure_flow: None, + friendly_name: None, + provider: None, + from_number: None, + account_sid: None, + auth: None, + auth_password: None, + auth_type: None, + verify_only: None, + mapping: None, + } + } +} diff --git a/src/models/patched_authenticator_static_stage_request.rs b/src/models/patched_authenticator_static_stage_request.rs new file mode 100644 index 0000000..f8c716c --- /dev/null +++ b/src/models/patched_authenticator_static_stage_request.rs @@ -0,0 +1,54 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedAuthenticatorStaticStageRequest : AuthenticatorStaticStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedAuthenticatorStaticStageRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. + #[serde( + rename = "configure_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub configure_flow: Option>, + #[serde( + rename = "friendly_name", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub friendly_name: Option>, + #[serde(rename = "token_count", skip_serializing_if = "Option::is_none")] + pub token_count: Option, + #[serde(rename = "token_length", skip_serializing_if = "Option::is_none")] + pub token_length: Option, +} + +impl PatchedAuthenticatorStaticStageRequest { + /// AuthenticatorStaticStage Serializer + pub fn new() -> PatchedAuthenticatorStaticStageRequest { + PatchedAuthenticatorStaticStageRequest { + name: None, + flow_set: None, + configure_flow: None, + friendly_name: None, + token_count: None, + token_length: None, + } + } +} diff --git a/src/models/patched_authenticator_totp_stage_request.rs b/src/models/patched_authenticator_totp_stage_request.rs new file mode 100644 index 0000000..4785fde --- /dev/null +++ b/src/models/patched_authenticator_totp_stage_request.rs @@ -0,0 +1,51 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedAuthenticatorTotpStageRequest : AuthenticatorTOTPStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedAuthenticatorTotpStageRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. + #[serde( + rename = "configure_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub configure_flow: Option>, + #[serde( + rename = "friendly_name", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub friendly_name: Option>, + #[serde(rename = "digits", skip_serializing_if = "Option::is_none")] + pub digits: Option, +} + +impl PatchedAuthenticatorTotpStageRequest { + /// AuthenticatorTOTPStage Serializer + pub fn new() -> PatchedAuthenticatorTotpStageRequest { + PatchedAuthenticatorTotpStageRequest { + name: None, + flow_set: None, + configure_flow: None, + friendly_name: None, + digits: None, + } + } +} diff --git a/src/models/patched_authenticator_validate_stage_request.rs b/src/models/patched_authenticator_validate_stage_request.rs new file mode 100644 index 0000000..d935fa7 --- /dev/null +++ b/src/models/patched_authenticator_validate_stage_request.rs @@ -0,0 +1,53 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedAuthenticatorValidateStageRequest : AuthenticatorValidateStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedAuthenticatorValidateStageRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + #[serde(rename = "not_configured_action", skip_serializing_if = "Option::is_none")] + pub not_configured_action: Option, + /// Device classes which can be used to authenticate + #[serde(rename = "device_classes", skip_serializing_if = "Option::is_none")] + pub device_classes: Option>, + /// Stages used to configure Authenticator when user doesn't have any compatible devices. After this configuration Stage passes, the user is not prompted again. + #[serde(rename = "configuration_stages", skip_serializing_if = "Option::is_none")] + pub configuration_stages: Option>, + /// If any of the user's device has been used within this threshold, this stage will be skipped + #[serde(rename = "last_auth_threshold", skip_serializing_if = "Option::is_none")] + pub last_auth_threshold: Option, + /// Enforce user verification for WebAuthn devices. + #[serde(rename = "webauthn_user_verification", skip_serializing_if = "Option::is_none")] + pub webauthn_user_verification: Option, + #[serde(rename = "webauthn_allowed_device_types", skip_serializing_if = "Option::is_none")] + pub webauthn_allowed_device_types: Option>, +} + +impl PatchedAuthenticatorValidateStageRequest { + /// AuthenticatorValidateStage Serializer + pub fn new() -> PatchedAuthenticatorValidateStageRequest { + PatchedAuthenticatorValidateStageRequest { + name: None, + flow_set: None, + not_configured_action: None, + device_classes: None, + configuration_stages: None, + last_auth_threshold: None, + webauthn_user_verification: None, + webauthn_allowed_device_types: None, + } + } +} diff --git a/src/models/patched_authenticator_web_authn_stage_request.rs b/src/models/patched_authenticator_web_authn_stage_request.rs new file mode 100644 index 0000000..b587c45 --- /dev/null +++ b/src/models/patched_authenticator_web_authn_stage_request.rs @@ -0,0 +1,65 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedAuthenticatorWebAuthnStageRequest : AuthenticatorWebAuthnStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedAuthenticatorWebAuthnStageRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. + #[serde( + rename = "configure_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub configure_flow: Option>, + #[serde( + rename = "friendly_name", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub friendly_name: Option>, + #[serde(rename = "user_verification", skip_serializing_if = "Option::is_none")] + pub user_verification: Option, + #[serde( + rename = "authenticator_attachment", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authenticator_attachment: Option>, + #[serde(rename = "resident_key_requirement", skip_serializing_if = "Option::is_none")] + pub resident_key_requirement: Option, + #[serde(rename = "device_type_restrictions", skip_serializing_if = "Option::is_none")] + pub device_type_restrictions: Option>, +} + +impl PatchedAuthenticatorWebAuthnStageRequest { + /// AuthenticatorWebAuthnStage Serializer + pub fn new() -> PatchedAuthenticatorWebAuthnStageRequest { + PatchedAuthenticatorWebAuthnStageRequest { + name: None, + flow_set: None, + configure_flow: None, + friendly_name: None, + user_verification: None, + authenticator_attachment: None, + resident_key_requirement: None, + device_type_restrictions: None, + } + } +} diff --git a/src/models/patched_blueprint_instance_request.rs b/src/models/patched_blueprint_instance_request.rs new file mode 100644 index 0000000..4ddeed6 --- /dev/null +++ b/src/models/patched_blueprint_instance_request.rs @@ -0,0 +1,45 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedBlueprintInstanceRequest : Info about a single blueprint instance file +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedBlueprintInstanceRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "path", skip_serializing_if = "Option::is_none")] + pub path: Option, + #[serde( + rename = "context", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub context: Option>, + #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")] + pub enabled: Option, + #[serde(rename = "content", skip_serializing_if = "Option::is_none")] + pub content: Option, +} + +impl PatchedBlueprintInstanceRequest { + /// Info about a single blueprint instance file + pub fn new() -> PatchedBlueprintInstanceRequest { + PatchedBlueprintInstanceRequest { + name: None, + path: None, + context: None, + enabled: None, + content: None, + } + } +} diff --git a/src/models/patched_brand_request.rs b/src/models/patched_brand_request.rs new file mode 100644 index 0000000..25ad1e0 --- /dev/null +++ b/src/models/patched_brand_request.rs @@ -0,0 +1,115 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedBrandRequest : Brand Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedBrandRequest { + /// Domain that activates this brand. Can be a superset, i.e. `a.b` for `aa.b` and `ba.b` + #[serde(rename = "domain", skip_serializing_if = "Option::is_none")] + pub domain: Option, + #[serde(rename = "default", skip_serializing_if = "Option::is_none")] + pub default: Option, + #[serde(rename = "branding_title", skip_serializing_if = "Option::is_none")] + pub branding_title: Option, + #[serde(rename = "branding_logo", skip_serializing_if = "Option::is_none")] + pub branding_logo: Option, + #[serde(rename = "branding_favicon", skip_serializing_if = "Option::is_none")] + pub branding_favicon: Option, + #[serde( + rename = "flow_authentication", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub flow_authentication: Option>, + #[serde( + rename = "flow_invalidation", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub flow_invalidation: Option>, + #[serde( + rename = "flow_recovery", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub flow_recovery: Option>, + #[serde( + rename = "flow_unenrollment", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub flow_unenrollment: Option>, + #[serde( + rename = "flow_user_settings", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub flow_user_settings: Option>, + #[serde( + rename = "flow_device_code", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub flow_device_code: Option>, + /// When set, external users will be redirected to this application after authenticating. + #[serde( + rename = "default_application", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub default_application: Option>, + /// Web Certificate used by the authentik Core webserver. + #[serde( + rename = "web_certificate", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub web_certificate: Option>, + #[serde( + rename = "attributes", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub attributes: Option>, +} + +impl PatchedBrandRequest { + /// Brand Serializer + pub fn new() -> PatchedBrandRequest { + PatchedBrandRequest { + domain: None, + default: None, + branding_title: None, + branding_logo: None, + branding_favicon: None, + flow_authentication: None, + flow_invalidation: None, + flow_recovery: None, + flow_unenrollment: None, + flow_user_settings: None, + flow_device_code: None, + default_application: None, + web_certificate: None, + attributes: None, + } + } +} diff --git a/src/models/patched_captcha_stage_request.rs b/src/models/patched_captcha_stage_request.rs new file mode 100644 index 0000000..d38c862 --- /dev/null +++ b/src/models/patched_captcha_stage_request.rs @@ -0,0 +1,55 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedCaptchaStageRequest : CaptchaStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedCaptchaStageRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Public key, acquired your captcha Provider. + #[serde(rename = "public_key", skip_serializing_if = "Option::is_none")] + pub public_key: Option, + /// Private key, acquired your captcha Provider. + #[serde(rename = "private_key", skip_serializing_if = "Option::is_none")] + pub private_key: Option, + #[serde(rename = "js_url", skip_serializing_if = "Option::is_none")] + pub js_url: Option, + #[serde(rename = "api_url", skip_serializing_if = "Option::is_none")] + pub api_url: Option, + #[serde(rename = "score_min_threshold", skip_serializing_if = "Option::is_none")] + pub score_min_threshold: Option, + #[serde(rename = "score_max_threshold", skip_serializing_if = "Option::is_none")] + pub score_max_threshold: Option, + /// When enabled and the received captcha score is outside of the given threshold, the stage will show an error message. When not enabled, the flow will continue, but the data from the captcha will be available in the context for policy decisions + #[serde(rename = "error_on_invalid_score", skip_serializing_if = "Option::is_none")] + pub error_on_invalid_score: Option, +} + +impl PatchedCaptchaStageRequest { + /// CaptchaStage Serializer + pub fn new() -> PatchedCaptchaStageRequest { + PatchedCaptchaStageRequest { + name: None, + flow_set: None, + public_key: None, + private_key: None, + js_url: None, + api_url: None, + score_min_threshold: None, + score_max_threshold: None, + error_on_invalid_score: None, + } + } +} diff --git a/src/models/patched_certificate_key_pair_request.rs b/src/models/patched_certificate_key_pair_request.rs new file mode 100644 index 0000000..0f87958 --- /dev/null +++ b/src/models/patched_certificate_key_pair_request.rs @@ -0,0 +1,36 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedCertificateKeyPairRequest : CertificateKeyPair Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedCertificateKeyPairRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// PEM-encoded Certificate data + #[serde(rename = "certificate_data", skip_serializing_if = "Option::is_none")] + pub certificate_data: Option, + /// Optional Private Key. If this is set, you can use this keypair for encryption. + #[serde(rename = "key_data", skip_serializing_if = "Option::is_none")] + pub key_data: Option, +} + +impl PatchedCertificateKeyPairRequest { + /// CertificateKeyPair Serializer + pub fn new() -> PatchedCertificateKeyPairRequest { + PatchedCertificateKeyPairRequest { + name: None, + certificate_data: None, + key_data: None, + } + } +} diff --git a/src/models/patched_connection_token_request.rs b/src/models/patched_connection_token_request.rs new file mode 100644 index 0000000..26f3f75 --- /dev/null +++ b/src/models/patched_connection_token_request.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedConnectionTokenRequest : ConnectionToken Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedConnectionTokenRequest { + #[serde(rename = "pk", skip_serializing_if = "Option::is_none")] + pub pk: Option, + #[serde(rename = "provider", skip_serializing_if = "Option::is_none")] + pub provider: Option, + #[serde(rename = "endpoint", skip_serializing_if = "Option::is_none")] + pub endpoint: Option, +} + +impl PatchedConnectionTokenRequest { + /// ConnectionToken Serializer + pub fn new() -> PatchedConnectionTokenRequest { + PatchedConnectionTokenRequest { + pk: None, + provider: None, + endpoint: None, + } + } +} diff --git a/src/models/patched_consent_stage_request.rs b/src/models/patched_consent_stage_request.rs new file mode 100644 index 0000000..edaa9b3 --- /dev/null +++ b/src/models/patched_consent_stage_request.rs @@ -0,0 +1,38 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedConsentStageRequest : ConsentStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedConsentStageRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// Offset after which consent expires. (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "consent_expire_in", skip_serializing_if = "Option::is_none")] + pub consent_expire_in: Option, +} + +impl PatchedConsentStageRequest { + /// ConsentStage Serializer + pub fn new() -> PatchedConsentStageRequest { + PatchedConsentStageRequest { + name: None, + flow_set: None, + mode: None, + consent_expire_in: None, + } + } +} diff --git a/src/models/patched_deny_stage_request.rs b/src/models/patched_deny_stage_request.rs new file mode 100644 index 0000000..8b950c1 --- /dev/null +++ b/src/models/patched_deny_stage_request.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedDenyStageRequest : DenyStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedDenyStageRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + #[serde(rename = "deny_message", skip_serializing_if = "Option::is_none")] + pub deny_message: Option, +} + +impl PatchedDenyStageRequest { + /// DenyStage Serializer + pub fn new() -> PatchedDenyStageRequest { + PatchedDenyStageRequest { + name: None, + flow_set: None, + deny_message: None, + } + } +} diff --git a/src/models/patched_docker_service_connection_request.rs b/src/models/patched_docker_service_connection_request.rs new file mode 100644 index 0000000..6e53690 --- /dev/null +++ b/src/models/patched_docker_service_connection_request.rs @@ -0,0 +1,54 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedDockerServiceConnectionRequest : DockerServiceConnection Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedDockerServiceConnectionRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// If enabled, use the local connection. Required Docker socket/Kubernetes Integration + #[serde(rename = "local", skip_serializing_if = "Option::is_none")] + pub local: Option, + /// Can be in the format of 'unix://' when connecting to a local docker daemon, or 'https://:2376' when connecting to a remote system. + #[serde(rename = "url", skip_serializing_if = "Option::is_none")] + pub url: Option, + /// CA which the endpoint's Certificate is verified against. Can be left empty for no validation. + #[serde( + rename = "tls_verification", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub tls_verification: Option>, + /// Certificate/Key used for authentication. Can be left empty for no authentication. + #[serde( + rename = "tls_authentication", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub tls_authentication: Option>, +} + +impl PatchedDockerServiceConnectionRequest { + /// DockerServiceConnection Serializer + pub fn new() -> PatchedDockerServiceConnectionRequest { + PatchedDockerServiceConnectionRequest { + name: None, + local: None, + url: None, + tls_verification: None, + tls_authentication: None, + } + } +} diff --git a/src/models/patched_domain_request.rs b/src/models/patched_domain_request.rs new file mode 100644 index 0000000..cccfa5f --- /dev/null +++ b/src/models/patched_domain_request.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedDomainRequest : Domain Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedDomainRequest { + #[serde(rename = "domain", skip_serializing_if = "Option::is_none")] + pub domain: Option, + #[serde(rename = "is_primary", skip_serializing_if = "Option::is_none")] + pub is_primary: Option, + #[serde(rename = "tenant", skip_serializing_if = "Option::is_none")] + pub tenant: Option, +} + +impl PatchedDomainRequest { + /// Domain Serializer + pub fn new() -> PatchedDomainRequest { + PatchedDomainRequest { + domain: None, + is_primary: None, + tenant: None, + } + } +} diff --git a/src/models/patched_dummy_policy_request.rs b/src/models/patched_dummy_policy_request.rs new file mode 100644 index 0000000..46ad50d --- /dev/null +++ b/src/models/patched_dummy_policy_request.rs @@ -0,0 +1,41 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedDummyPolicyRequest : Dummy Policy Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedDummyPolicyRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + #[serde(rename = "execution_logging", skip_serializing_if = "Option::is_none")] + pub execution_logging: Option, + #[serde(rename = "result", skip_serializing_if = "Option::is_none")] + pub result: Option, + #[serde(rename = "wait_min", skip_serializing_if = "Option::is_none")] + pub wait_min: Option, + #[serde(rename = "wait_max", skip_serializing_if = "Option::is_none")] + pub wait_max: Option, +} + +impl PatchedDummyPolicyRequest { + /// Dummy Policy Serializer + pub fn new() -> PatchedDummyPolicyRequest { + PatchedDummyPolicyRequest { + name: None, + execution_logging: None, + result: None, + wait_min: None, + wait_max: None, + } + } +} diff --git a/src/models/patched_dummy_stage_request.rs b/src/models/patched_dummy_stage_request.rs new file mode 100644 index 0000000..7ae4fb4 --- /dev/null +++ b/src/models/patched_dummy_stage_request.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedDummyStageRequest : DummyStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedDummyStageRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + #[serde(rename = "throw_error", skip_serializing_if = "Option::is_none")] + pub throw_error: Option, +} + +impl PatchedDummyStageRequest { + /// DummyStage Serializer + pub fn new() -> PatchedDummyStageRequest { + PatchedDummyStageRequest { + name: None, + flow_set: None, + throw_error: None, + } + } +} diff --git a/src/models/patched_duo_device_request.rs b/src/models/patched_duo_device_request.rs new file mode 100644 index 0000000..3bc49db --- /dev/null +++ b/src/models/patched_duo_device_request.rs @@ -0,0 +1,27 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedDuoDeviceRequest : Serializer for Duo authenticator devices +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedDuoDeviceRequest { + /// The human-readable name of this device. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, +} + +impl PatchedDuoDeviceRequest { + /// Serializer for Duo authenticator devices + pub fn new() -> PatchedDuoDeviceRequest { + PatchedDuoDeviceRequest { name: None } + } +} diff --git a/src/models/patched_email_stage_request.rs b/src/models/patched_email_stage_request.rs new file mode 100644 index 0000000..b7d323f --- /dev/null +++ b/src/models/patched_email_stage_request.rs @@ -0,0 +1,73 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedEmailStageRequest : EmailStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedEmailStageRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// When enabled, global Email connection settings will be used and connection settings below will be ignored. + #[serde(rename = "use_global_settings", skip_serializing_if = "Option::is_none")] + pub use_global_settings: Option, + #[serde(rename = "host", skip_serializing_if = "Option::is_none")] + pub host: Option, + #[serde(rename = "port", skip_serializing_if = "Option::is_none")] + pub port: Option, + #[serde(rename = "username", skip_serializing_if = "Option::is_none")] + pub username: Option, + #[serde(rename = "password", skip_serializing_if = "Option::is_none")] + pub password: Option, + #[serde(rename = "use_tls", skip_serializing_if = "Option::is_none")] + pub use_tls: Option, + #[serde(rename = "use_ssl", skip_serializing_if = "Option::is_none")] + pub use_ssl: Option, + #[serde(rename = "timeout", skip_serializing_if = "Option::is_none")] + pub timeout: Option, + #[serde(rename = "from_address", skip_serializing_if = "Option::is_none")] + pub from_address: Option, + /// Time in minutes the token sent is valid. + #[serde(rename = "token_expiry", skip_serializing_if = "Option::is_none")] + pub token_expiry: Option, + #[serde(rename = "subject", skip_serializing_if = "Option::is_none")] + pub subject: Option, + #[serde(rename = "template", skip_serializing_if = "Option::is_none")] + pub template: Option, + /// Activate users upon completion of stage. + #[serde(rename = "activate_user_on_success", skip_serializing_if = "Option::is_none")] + pub activate_user_on_success: Option, +} + +impl PatchedEmailStageRequest { + /// EmailStage Serializer + pub fn new() -> PatchedEmailStageRequest { + PatchedEmailStageRequest { + name: None, + flow_set: None, + use_global_settings: None, + host: None, + port: None, + username: None, + password: None, + use_tls: None, + use_ssl: None, + timeout: None, + from_address: None, + token_expiry: None, + subject: None, + template: None, + activate_user_on_success: None, + } + } +} diff --git a/src/models/patched_endpoint_request.rs b/src/models/patched_endpoint_request.rs new file mode 100644 index 0000000..e0e5a78 --- /dev/null +++ b/src/models/patched_endpoint_request.rs @@ -0,0 +1,54 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedEndpointRequest : Endpoint Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedEndpointRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "provider", skip_serializing_if = "Option::is_none")] + pub provider: Option, + #[serde(rename = "protocol", skip_serializing_if = "Option::is_none")] + pub protocol: Option, + #[serde(rename = "host", skip_serializing_if = "Option::is_none")] + pub host: Option, + #[serde( + rename = "settings", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub settings: Option>, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + #[serde(rename = "auth_mode", skip_serializing_if = "Option::is_none")] + pub auth_mode: Option, + #[serde(rename = "maximum_connections", skip_serializing_if = "Option::is_none")] + pub maximum_connections: Option, +} + +impl PatchedEndpointRequest { + /// Endpoint Serializer + pub fn new() -> PatchedEndpointRequest { + PatchedEndpointRequest { + name: None, + provider: None, + protocol: None, + host: None, + settings: None, + property_mappings: None, + auth_mode: None, + maximum_connections: None, + } + } +} diff --git a/src/models/patched_event_matcher_policy_request.rs b/src/models/patched_event_matcher_policy_request.rs new file mode 100644 index 0000000..f496573 --- /dev/null +++ b/src/models/patched_event_matcher_policy_request.rs @@ -0,0 +1,68 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedEventMatcherPolicyRequest : Event Matcher Policy Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedEventMatcherPolicyRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + #[serde(rename = "execution_logging", skip_serializing_if = "Option::is_none")] + pub execution_logging: Option, + /// Match created events with this action type. When left empty, all action types will be matched. + #[serde( + rename = "action", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub action: Option>, + /// Matches Event's Client IP (strict matching, for network matching use an Expression Policy) + #[serde( + rename = "client_ip", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub client_ip: Option>, + /// Match events created by selected application. When left empty, all applications are matched. + #[serde( + rename = "app", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub app: Option>, + /// Match events created by selected model. When left empty, all models are matched. When an app is selected, all the application's models are matched. + #[serde( + rename = "model", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub model: Option>, +} + +impl PatchedEventMatcherPolicyRequest { + /// Event Matcher Policy Serializer + pub fn new() -> PatchedEventMatcherPolicyRequest { + PatchedEventMatcherPolicyRequest { + name: None, + execution_logging: None, + action: None, + client_ip: None, + app: None, + model: None, + } + } +} diff --git a/src/models/patched_event_request.rs b/src/models/patched_event_request.rs new file mode 100644 index 0000000..40e3547 --- /dev/null +++ b/src/models/patched_event_request.rs @@ -0,0 +1,66 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedEventRequest : Event Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedEventRequest { + #[serde( + rename = "user", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub user: Option>, + #[serde(rename = "action", skip_serializing_if = "Option::is_none")] + pub action: Option, + #[serde(rename = "app", skip_serializing_if = "Option::is_none")] + pub app: Option, + #[serde( + rename = "context", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub context: Option>, + #[serde( + rename = "client_ip", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub client_ip: Option>, + #[serde(rename = "expires", skip_serializing_if = "Option::is_none")] + pub expires: Option, + #[serde( + rename = "brand", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub brand: Option>, +} + +impl PatchedEventRequest { + /// Event Serializer + pub fn new() -> PatchedEventRequest { + PatchedEventRequest { + user: None, + action: None, + app: None, + context: None, + client_ip: None, + expires: None, + brand: None, + } + } +} diff --git a/src/models/patched_expression_policy_request.rs b/src/models/patched_expression_policy_request.rs new file mode 100644 index 0000000..232533d --- /dev/null +++ b/src/models/patched_expression_policy_request.rs @@ -0,0 +1,35 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedExpressionPolicyRequest : Group Membership Policy Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedExpressionPolicyRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + #[serde(rename = "execution_logging", skip_serializing_if = "Option::is_none")] + pub execution_logging: Option, + #[serde(rename = "expression", skip_serializing_if = "Option::is_none")] + pub expression: Option, +} + +impl PatchedExpressionPolicyRequest { + /// Group Membership Policy Serializer + pub fn new() -> PatchedExpressionPolicyRequest { + PatchedExpressionPolicyRequest { + name: None, + execution_logging: None, + expression: None, + } + } +} diff --git a/src/models/patched_extra_role_object_permission_request.rs b/src/models/patched_extra_role_object_permission_request.rs new file mode 100644 index 0000000..1030c87 --- /dev/null +++ b/src/models/patched_extra_role_object_permission_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedExtraRoleObjectPermissionRequest : User permission with additional object-related data +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedExtraRoleObjectPermissionRequest { + #[serde(rename = "object_pk", skip_serializing_if = "Option::is_none")] + pub object_pk: Option, +} + +impl PatchedExtraRoleObjectPermissionRequest { + /// User permission with additional object-related data + pub fn new() -> PatchedExtraRoleObjectPermissionRequest { + PatchedExtraRoleObjectPermissionRequest { object_pk: None } + } +} diff --git a/src/models/patched_extra_user_object_permission_request.rs b/src/models/patched_extra_user_object_permission_request.rs new file mode 100644 index 0000000..078cef8 --- /dev/null +++ b/src/models/patched_extra_user_object_permission_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedExtraUserObjectPermissionRequest : User permission with additional object-related data +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedExtraUserObjectPermissionRequest { + #[serde(rename = "object_pk", skip_serializing_if = "Option::is_none")] + pub object_pk: Option, +} + +impl PatchedExtraUserObjectPermissionRequest { + /// User permission with additional object-related data + pub fn new() -> PatchedExtraUserObjectPermissionRequest { + PatchedExtraUserObjectPermissionRequest { object_pk: None } + } +} diff --git a/src/models/patched_flow_request.rs b/src/models/patched_flow_request.rs new file mode 100644 index 0000000..1558ca6 --- /dev/null +++ b/src/models/patched_flow_request.rs @@ -0,0 +1,58 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedFlowRequest : Flow Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedFlowRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Visible in the URL. + #[serde(rename = "slug", skip_serializing_if = "Option::is_none")] + pub slug: Option, + /// Shown as the Title in Flow pages. + #[serde(rename = "title", skip_serializing_if = "Option::is_none")] + pub title: Option, + /// Decides what this Flow is used for. For example, the Authentication flow is redirect to when an un-authenticated user visits authentik. + #[serde(rename = "designation", skip_serializing_if = "Option::is_none")] + pub designation: Option, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + /// Enable compatibility mode, increases compatibility with password managers on mobile devices. + #[serde(rename = "compatibility_mode", skip_serializing_if = "Option::is_none")] + pub compatibility_mode: Option, + #[serde(rename = "layout", skip_serializing_if = "Option::is_none")] + pub layout: Option, + /// Configure what should happen when a flow denies access to a user. + #[serde(rename = "denied_action", skip_serializing_if = "Option::is_none")] + pub denied_action: Option, + /// Required level of authentication and authorization to access a flow. + #[serde(rename = "authentication", skip_serializing_if = "Option::is_none")] + pub authentication: Option, +} + +impl PatchedFlowRequest { + /// Flow Serializer + pub fn new() -> PatchedFlowRequest { + PatchedFlowRequest { + name: None, + slug: None, + title: None, + designation: None, + policy_engine_mode: None, + compatibility_mode: None, + layout: None, + denied_action: None, + authentication: None, + } + } +} diff --git a/src/models/patched_flow_stage_binding_request.rs b/src/models/patched_flow_stage_binding_request.rs new file mode 100644 index 0000000..dfcb87b --- /dev/null +++ b/src/models/patched_flow_stage_binding_request.rs @@ -0,0 +1,49 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedFlowStageBindingRequest : FlowStageBinding Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedFlowStageBindingRequest { + #[serde(rename = "target", skip_serializing_if = "Option::is_none")] + pub target: Option, + #[serde(rename = "stage", skip_serializing_if = "Option::is_none")] + pub stage: Option, + /// Evaluate policies during the Flow planning process. + #[serde(rename = "evaluate_on_plan", skip_serializing_if = "Option::is_none")] + pub evaluate_on_plan: Option, + /// Evaluate policies when the Stage is present to the user. + #[serde(rename = "re_evaluate_policies", skip_serializing_if = "Option::is_none")] + pub re_evaluate_policies: Option, + #[serde(rename = "order", skip_serializing_if = "Option::is_none")] + pub order: Option, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + /// Configure how the flow executor should handle an invalid response to a challenge. RETRY returns the error message and a similar challenge to the executor. RESTART restarts the flow from the beginning, and RESTART_WITH_CONTEXT restarts the flow while keeping the current context. + #[serde(rename = "invalid_response_action", skip_serializing_if = "Option::is_none")] + pub invalid_response_action: Option, +} + +impl PatchedFlowStageBindingRequest { + /// FlowStageBinding Serializer + pub fn new() -> PatchedFlowStageBindingRequest { + PatchedFlowStageBindingRequest { + target: None, + stage: None, + evaluate_on_plan: None, + re_evaluate_policies: None, + order: None, + policy_engine_mode: None, + invalid_response_action: None, + } + } +} diff --git a/src/models/patched_geo_ip_policy_request.rs b/src/models/patched_geo_ip_policy_request.rs new file mode 100644 index 0000000..a35faaa --- /dev/null +++ b/src/models/patched_geo_ip_policy_request.rs @@ -0,0 +1,38 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedGeoIpPolicyRequest : GeoIP Policy Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedGeoIpPolicyRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + #[serde(rename = "execution_logging", skip_serializing_if = "Option::is_none")] + pub execution_logging: Option, + #[serde(rename = "asns", skip_serializing_if = "Option::is_none")] + pub asns: Option>, + #[serde(rename = "countries", skip_serializing_if = "Option::is_none")] + pub countries: Option>, +} + +impl PatchedGeoIpPolicyRequest { + /// GeoIP Policy Serializer + pub fn new() -> PatchedGeoIpPolicyRequest { + PatchedGeoIpPolicyRequest { + name: None, + execution_logging: None, + asns: None, + countries: None, + } + } +} diff --git a/src/models/patched_google_workspace_provider_mapping_request.rs b/src/models/patched_google_workspace_provider_mapping_request.rs new file mode 100644 index 0000000..63a694f --- /dev/null +++ b/src/models/patched_google_workspace_provider_mapping_request.rs @@ -0,0 +1,40 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedGoogleWorkspaceProviderMappingRequest : GoogleWorkspaceProviderMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedGoogleWorkspaceProviderMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "expression", skip_serializing_if = "Option::is_none")] + pub expression: Option, +} + +impl PatchedGoogleWorkspaceProviderMappingRequest { + /// GoogleWorkspaceProviderMapping Serializer + pub fn new() -> PatchedGoogleWorkspaceProviderMappingRequest { + PatchedGoogleWorkspaceProviderMappingRequest { + managed: None, + name: None, + expression: None, + } + } +} diff --git a/src/models/patched_google_workspace_provider_request.rs b/src/models/patched_google_workspace_provider_request.rs new file mode 100644 index 0000000..ff78f05 --- /dev/null +++ b/src/models/patched_google_workspace_provider_request.rs @@ -0,0 +1,69 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedGoogleWorkspaceProviderRequest : GoogleWorkspaceProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedGoogleWorkspaceProviderRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + /// Property mappings used for group creation/updating. + #[serde(rename = "property_mappings_group", skip_serializing_if = "Option::is_none")] + pub property_mappings_group: Option>, + #[serde(rename = "delegated_subject", skip_serializing_if = "Option::is_none")] + pub delegated_subject: Option, + #[serde( + rename = "credentials", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub credentials: Option>, + #[serde(rename = "scopes", skip_serializing_if = "Option::is_none")] + pub scopes: Option, + #[serde(rename = "exclude_users_service_account", skip_serializing_if = "Option::is_none")] + pub exclude_users_service_account: Option, + #[serde( + rename = "filter_group", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub filter_group: Option>, + #[serde(rename = "user_delete_action", skip_serializing_if = "Option::is_none")] + pub user_delete_action: Option, + #[serde(rename = "group_delete_action", skip_serializing_if = "Option::is_none")] + pub group_delete_action: Option, + #[serde(rename = "default_group_email_domain", skip_serializing_if = "Option::is_none")] + pub default_group_email_domain: Option, +} + +impl PatchedGoogleWorkspaceProviderRequest { + /// GoogleWorkspaceProvider Serializer + pub fn new() -> PatchedGoogleWorkspaceProviderRequest { + PatchedGoogleWorkspaceProviderRequest { + name: None, + property_mappings: None, + property_mappings_group: None, + delegated_subject: None, + credentials: None, + scopes: None, + exclude_users_service_account: None, + filter_group: None, + user_delete_action: None, + group_delete_action: None, + default_group_email_domain: None, + } + } +} diff --git a/src/models/patched_group_request.rs b/src/models/patched_group_request.rs new file mode 100644 index 0000000..d3c9f0b --- /dev/null +++ b/src/models/patched_group_request.rs @@ -0,0 +1,49 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedGroupRequest : Group Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedGroupRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Users added to this group will be superusers. + #[serde(rename = "is_superuser", skip_serializing_if = "Option::is_none")] + pub is_superuser: Option, + #[serde( + rename = "parent", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub parent: Option>, + #[serde(rename = "users", skip_serializing_if = "Option::is_none")] + pub users: Option>, + #[serde(rename = "attributes", skip_serializing_if = "Option::is_none")] + pub attributes: Option>, + #[serde(rename = "roles", skip_serializing_if = "Option::is_none")] + pub roles: Option>, +} + +impl PatchedGroupRequest { + /// Group Serializer + pub fn new() -> PatchedGroupRequest { + PatchedGroupRequest { + name: None, + is_superuser: None, + parent: None, + users: None, + attributes: None, + roles: None, + } + } +} diff --git a/src/models/patched_identification_stage_request.rs b/src/models/patched_identification_stage_request.rs new file mode 100644 index 0000000..61f7085 --- /dev/null +++ b/src/models/patched_identification_stage_request.rs @@ -0,0 +1,90 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedIdentificationStageRequest : IdentificationStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedIdentificationStageRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Fields of the user object to match against. (Hold shift to select multiple options) + #[serde(rename = "user_fields", skip_serializing_if = "Option::is_none")] + pub user_fields: Option>, + /// When set, shows a password field, instead of showing the password field as separate step. + #[serde( + rename = "password_stage", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub password_stage: Option>, + /// When enabled, user fields are matched regardless of their casing. + #[serde(rename = "case_insensitive_matching", skip_serializing_if = "Option::is_none")] + pub case_insensitive_matching: Option, + /// When a valid username/email has been entered, and this option is enabled, the user's username and avatar will be shown. Otherwise, the text that the user entered will be shown + #[serde(rename = "show_matched_user", skip_serializing_if = "Option::is_none")] + pub show_matched_user: Option, + /// Optional enrollment flow, which is linked at the bottom of the page. + #[serde( + rename = "enrollment_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub enrollment_flow: Option>, + /// Optional recovery flow, which is linked at the bottom of the page. + #[serde( + rename = "recovery_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub recovery_flow: Option>, + /// Optional passwordless flow, which is linked at the bottom of the page. + #[serde( + rename = "passwordless_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub passwordless_flow: Option>, + /// Specify which sources should be shown. + #[serde(rename = "sources", skip_serializing_if = "Option::is_none")] + pub sources: Option>, + #[serde(rename = "show_source_labels", skip_serializing_if = "Option::is_none")] + pub show_source_labels: Option, + /// When enabled, the stage will succeed and continue even when incorrect user info is entered. + #[serde(rename = "pretend_user_exists", skip_serializing_if = "Option::is_none")] + pub pretend_user_exists: Option, +} + +impl PatchedIdentificationStageRequest { + /// IdentificationStage Serializer + pub fn new() -> PatchedIdentificationStageRequest { + PatchedIdentificationStageRequest { + name: None, + flow_set: None, + user_fields: None, + password_stage: None, + case_insensitive_matching: None, + show_matched_user: None, + enrollment_flow: None, + recovery_flow: None, + passwordless_flow: None, + sources: None, + show_source_labels: None, + pretend_user_exists: None, + } + } +} diff --git a/src/models/patched_invitation_request.rs b/src/models/patched_invitation_request.rs new file mode 100644 index 0000000..7707843 --- /dev/null +++ b/src/models/patched_invitation_request.rs @@ -0,0 +1,52 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedInvitationRequest : Invitation Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedInvitationRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde( + rename = "expires", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub expires: Option>, + #[serde(rename = "fixed_data", skip_serializing_if = "Option::is_none")] + pub fixed_data: Option>, + /// When enabled, the invitation will be deleted after usage. + #[serde(rename = "single_use", skip_serializing_if = "Option::is_none")] + pub single_use: Option, + /// When set, only the configured flow can use this invitation. + #[serde( + rename = "flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub flow: Option>, +} + +impl PatchedInvitationRequest { + /// Invitation Serializer + pub fn new() -> PatchedInvitationRequest { + PatchedInvitationRequest { + name: None, + expires: None, + fixed_data: None, + single_use: None, + flow: None, + } + } +} diff --git a/src/models/patched_invitation_stage_request.rs b/src/models/patched_invitation_stage_request.rs new file mode 100644 index 0000000..9e1077a --- /dev/null +++ b/src/models/patched_invitation_stage_request.rs @@ -0,0 +1,35 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedInvitationStageRequest : InvitationStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedInvitationStageRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// If this flag is set, this Stage will jump to the next Stage when no Invitation is given. By default this Stage will cancel the Flow when no invitation is given. + #[serde(rename = "continue_flow_without_invitation", skip_serializing_if = "Option::is_none")] + pub continue_flow_without_invitation: Option, +} + +impl PatchedInvitationStageRequest { + /// InvitationStage Serializer + pub fn new() -> PatchedInvitationStageRequest { + PatchedInvitationStageRequest { + name: None, + flow_set: None, + continue_flow_without_invitation: None, + } + } +} diff --git a/src/models/patched_kubernetes_service_connection_request.rs b/src/models/patched_kubernetes_service_connection_request.rs new file mode 100644 index 0000000..4ca848f --- /dev/null +++ b/src/models/patched_kubernetes_service_connection_request.rs @@ -0,0 +1,45 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedKubernetesServiceConnectionRequest : KubernetesServiceConnection Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedKubernetesServiceConnectionRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// If enabled, use the local connection. Required Docker socket/Kubernetes Integration + #[serde(rename = "local", skip_serializing_if = "Option::is_none")] + pub local: Option, + /// Paste your kubeconfig here. authentik will automatically use the currently selected context. + #[serde( + rename = "kubeconfig", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub kubeconfig: Option>, + /// Verify SSL Certificates of the Kubernetes API endpoint + #[serde(rename = "verify_ssl", skip_serializing_if = "Option::is_none")] + pub verify_ssl: Option, +} + +impl PatchedKubernetesServiceConnectionRequest { + /// KubernetesServiceConnection Serializer + pub fn new() -> PatchedKubernetesServiceConnectionRequest { + PatchedKubernetesServiceConnectionRequest { + name: None, + local: None, + kubeconfig: None, + verify_ssl: None, + } + } +} diff --git a/src/models/patched_ldap_provider_request.rs b/src/models/patched_ldap_provider_request.rs new file mode 100644 index 0000000..4ed9886 --- /dev/null +++ b/src/models/patched_ldap_provider_request.rs @@ -0,0 +1,77 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedLdapProviderRequest : LDAPProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedLdapProviderRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Flow used for authentication when the associated application is accessed by an un-authenticated user. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow used when authorizing this provider. + #[serde(rename = "authorization_flow", skip_serializing_if = "Option::is_none")] + pub authorization_flow: Option, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + /// DN under which objects are accessible. + #[serde(rename = "base_dn", skip_serializing_if = "Option::is_none")] + pub base_dn: Option, + #[serde( + rename = "certificate", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub certificate: Option>, + #[serde(rename = "tls_server_name", skip_serializing_if = "Option::is_none")] + pub tls_server_name: Option, + /// The start for uidNumbers, this number is added to the user.pk to make sure that the numbers aren't too low for POSIX users. Default is 2000 to ensure that we don't collide with local users uidNumber + #[serde(rename = "uid_start_number", skip_serializing_if = "Option::is_none")] + pub uid_start_number: Option, + /// The start for gidNumbers, this number is added to a number generated from the group.pk to make sure that the numbers aren't too low for POSIX groups. Default is 4000 to ensure that we don't collide with local groups or users primary groups gidNumber + #[serde(rename = "gid_start_number", skip_serializing_if = "Option::is_none")] + pub gid_start_number: Option, + #[serde(rename = "search_mode", skip_serializing_if = "Option::is_none")] + pub search_mode: Option, + #[serde(rename = "bind_mode", skip_serializing_if = "Option::is_none")] + pub bind_mode: Option, + /// When enabled, code-based multi-factor authentication can be used by appending a semicolon and the TOTP code to the password. This should only be enabled if all users that will bind to this provider have a TOTP device configured, as otherwise a password may incorrectly be rejected if it contains a semicolon. + #[serde(rename = "mfa_support", skip_serializing_if = "Option::is_none")] + pub mfa_support: Option, +} + +impl PatchedLdapProviderRequest { + /// LDAPProvider Serializer + pub fn new() -> PatchedLdapProviderRequest { + PatchedLdapProviderRequest { + name: None, + authentication_flow: None, + authorization_flow: None, + property_mappings: None, + base_dn: None, + certificate: None, + tls_server_name: None, + uid_start_number: None, + gid_start_number: None, + search_mode: None, + bind_mode: None, + mfa_support: None, + } + } +} diff --git a/src/models/patched_ldap_source_property_mapping_request.rs b/src/models/patched_ldap_source_property_mapping_request.rs new file mode 100644 index 0000000..7e12787 --- /dev/null +++ b/src/models/patched_ldap_source_property_mapping_request.rs @@ -0,0 +1,40 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedLdapSourcePropertyMappingRequest : LDAP PropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedLdapSourcePropertyMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "expression", skip_serializing_if = "Option::is_none")] + pub expression: Option, +} + +impl PatchedLdapSourcePropertyMappingRequest { + /// LDAP PropertyMapping Serializer + pub fn new() -> PatchedLdapSourcePropertyMappingRequest { + PatchedLdapSourcePropertyMappingRequest { + managed: None, + name: None, + expression: None, + } + } +} diff --git a/src/models/patched_ldap_source_request.rs b/src/models/patched_ldap_source_request.rs new file mode 100644 index 0000000..99029f4 --- /dev/null +++ b/src/models/patched_ldap_source_request.rs @@ -0,0 +1,155 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedLdapSourceRequest : LDAP Source Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedLdapSourceRequest { + /// Source's display Name. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Internal source name, used in URLs. + #[serde(rename = "slug", skip_serializing_if = "Option::is_none")] + pub slug: Option, + #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")] + pub enabled: Option, + /// Flow to use when authenticating existing users. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow to use when enrolling new users. + #[serde( + rename = "enrollment_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub enrollment_flow: Option>, + #[serde(rename = "user_property_mappings", skip_serializing_if = "Option::is_none")] + pub user_property_mappings: Option>, + #[serde(rename = "group_property_mappings", skip_serializing_if = "Option::is_none")] + pub group_property_mappings: Option>, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + /// How the source determines if an existing user should be authenticated or a new user enrolled. + #[serde(rename = "user_matching_mode", skip_serializing_if = "Option::is_none")] + pub user_matching_mode: Option, + #[serde(rename = "user_path_template", skip_serializing_if = "Option::is_none")] + pub user_path_template: Option, + #[serde(rename = "server_uri", skip_serializing_if = "Option::is_none")] + pub server_uri: Option, + /// Optionally verify the LDAP Server's Certificate against the CA Chain in this keypair. + #[serde( + rename = "peer_certificate", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub peer_certificate: Option>, + /// Client certificate to authenticate against the LDAP Server's Certificate. + #[serde( + rename = "client_certificate", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub client_certificate: Option>, + #[serde(rename = "bind_cn", skip_serializing_if = "Option::is_none")] + pub bind_cn: Option, + #[serde(rename = "bind_password", skip_serializing_if = "Option::is_none")] + pub bind_password: Option, + #[serde(rename = "start_tls", skip_serializing_if = "Option::is_none")] + pub start_tls: Option, + #[serde(rename = "sni", skip_serializing_if = "Option::is_none")] + pub sni: Option, + #[serde(rename = "base_dn", skip_serializing_if = "Option::is_none")] + pub base_dn: Option, + /// Prepended to Base DN for User-queries. + #[serde(rename = "additional_user_dn", skip_serializing_if = "Option::is_none")] + pub additional_user_dn: Option, + /// Prepended to Base DN for Group-queries. + #[serde(rename = "additional_group_dn", skip_serializing_if = "Option::is_none")] + pub additional_group_dn: Option, + /// Consider Objects matching this filter to be Users. + #[serde(rename = "user_object_filter", skip_serializing_if = "Option::is_none")] + pub user_object_filter: Option, + /// Consider Objects matching this filter to be Groups. + #[serde(rename = "group_object_filter", skip_serializing_if = "Option::is_none")] + pub group_object_filter: Option, + /// Field which contains members of a group. + #[serde(rename = "group_membership_field", skip_serializing_if = "Option::is_none")] + pub group_membership_field: Option, + /// Field which contains a unique Identifier. + #[serde(rename = "object_uniqueness_field", skip_serializing_if = "Option::is_none")] + pub object_uniqueness_field: Option, + /// Update internal authentik password when login succeeds with LDAP + #[serde( + rename = "password_login_update_internal_password", + skip_serializing_if = "Option::is_none" + )] + pub password_login_update_internal_password: Option, + #[serde(rename = "sync_users", skip_serializing_if = "Option::is_none")] + pub sync_users: Option, + /// When a user changes their password, sync it back to LDAP. This can only be enabled on a single LDAP source. + #[serde(rename = "sync_users_password", skip_serializing_if = "Option::is_none")] + pub sync_users_password: Option, + #[serde(rename = "sync_groups", skip_serializing_if = "Option::is_none")] + pub sync_groups: Option, + #[serde( + rename = "sync_parent_group", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub sync_parent_group: Option>, +} + +impl PatchedLdapSourceRequest { + /// LDAP Source Serializer + pub fn new() -> PatchedLdapSourceRequest { + PatchedLdapSourceRequest { + name: None, + slug: None, + enabled: None, + authentication_flow: None, + enrollment_flow: None, + user_property_mappings: None, + group_property_mappings: None, + policy_engine_mode: None, + user_matching_mode: None, + user_path_template: None, + server_uri: None, + peer_certificate: None, + client_certificate: None, + bind_cn: None, + bind_password: None, + start_tls: None, + sni: None, + base_dn: None, + additional_user_dn: None, + additional_group_dn: None, + user_object_filter: None, + group_object_filter: None, + group_membership_field: None, + object_uniqueness_field: None, + password_login_update_internal_password: None, + sync_users: None, + sync_users_password: None, + sync_groups: None, + sync_parent_group: None, + } + } +} diff --git a/src/models/patched_license_request.rs b/src/models/patched_license_request.rs new file mode 100644 index 0000000..8ab9598 --- /dev/null +++ b/src/models/patched_license_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedLicenseRequest : License Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedLicenseRequest { + #[serde(rename = "key", skip_serializing_if = "Option::is_none")] + pub key: Option, +} + +impl PatchedLicenseRequest { + /// License Serializer + pub fn new() -> PatchedLicenseRequest { + PatchedLicenseRequest { key: None } + } +} diff --git a/src/models/patched_microsoft_entra_provider_mapping_request.rs b/src/models/patched_microsoft_entra_provider_mapping_request.rs new file mode 100644 index 0000000..864ccfd --- /dev/null +++ b/src/models/patched_microsoft_entra_provider_mapping_request.rs @@ -0,0 +1,40 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedMicrosoftEntraProviderMappingRequest : MicrosoftEntraProviderMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedMicrosoftEntraProviderMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "expression", skip_serializing_if = "Option::is_none")] + pub expression: Option, +} + +impl PatchedMicrosoftEntraProviderMappingRequest { + /// MicrosoftEntraProviderMapping Serializer + pub fn new() -> PatchedMicrosoftEntraProviderMappingRequest { + PatchedMicrosoftEntraProviderMappingRequest { + managed: None, + name: None, + expression: None, + } + } +} diff --git a/src/models/patched_microsoft_entra_provider_request.rs b/src/models/patched_microsoft_entra_provider_request.rs new file mode 100644 index 0000000..62a11eb --- /dev/null +++ b/src/models/patched_microsoft_entra_provider_request.rs @@ -0,0 +1,61 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedMicrosoftEntraProviderRequest : MicrosoftEntraProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedMicrosoftEntraProviderRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + /// Property mappings used for group creation/updating. + #[serde(rename = "property_mappings_group", skip_serializing_if = "Option::is_none")] + pub property_mappings_group: Option>, + #[serde(rename = "client_id", skip_serializing_if = "Option::is_none")] + pub client_id: Option, + #[serde(rename = "client_secret", skip_serializing_if = "Option::is_none")] + pub client_secret: Option, + #[serde(rename = "tenant_id", skip_serializing_if = "Option::is_none")] + pub tenant_id: Option, + #[serde(rename = "exclude_users_service_account", skip_serializing_if = "Option::is_none")] + pub exclude_users_service_account: Option, + #[serde( + rename = "filter_group", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub filter_group: Option>, + #[serde(rename = "user_delete_action", skip_serializing_if = "Option::is_none")] + pub user_delete_action: Option, + #[serde(rename = "group_delete_action", skip_serializing_if = "Option::is_none")] + pub group_delete_action: Option, +} + +impl PatchedMicrosoftEntraProviderRequest { + /// MicrosoftEntraProvider Serializer + pub fn new() -> PatchedMicrosoftEntraProviderRequest { + PatchedMicrosoftEntraProviderRequest { + name: None, + property_mappings: None, + property_mappings_group: None, + client_id: None, + client_secret: None, + tenant_id: None, + exclude_users_service_account: None, + filter_group: None, + user_delete_action: None, + group_delete_action: None, + } + } +} diff --git a/src/models/patched_notification_request.rs b/src/models/patched_notification_request.rs new file mode 100644 index 0000000..3295cb9 --- /dev/null +++ b/src/models/patched_notification_request.rs @@ -0,0 +1,31 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedNotificationRequest : Notification Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedNotificationRequest { + #[serde(rename = "event", skip_serializing_if = "Option::is_none")] + pub event: Option, + #[serde(rename = "seen", skip_serializing_if = "Option::is_none")] + pub seen: Option, +} + +impl PatchedNotificationRequest { + /// Notification Serializer + pub fn new() -> PatchedNotificationRequest { + PatchedNotificationRequest { + event: None, + seen: None, + } + } +} diff --git a/src/models/patched_notification_rule_request.rs b/src/models/patched_notification_rule_request.rs new file mode 100644 index 0000000..170f065 --- /dev/null +++ b/src/models/patched_notification_rule_request.rs @@ -0,0 +1,45 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedNotificationRuleRequest : NotificationRule Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedNotificationRuleRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Select which transports should be used to notify the user. If none are selected, the notification will only be shown in the authentik UI. + #[serde(rename = "transports", skip_serializing_if = "Option::is_none")] + pub transports: Option>, + /// Controls which severity level the created notifications will have. + #[serde(rename = "severity", skip_serializing_if = "Option::is_none")] + pub severity: Option, + /// Define which group of users this notification should be sent and shown to. If left empty, Notification won't ben sent. + #[serde( + rename = "group", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub group: Option>, +} + +impl PatchedNotificationRuleRequest { + /// NotificationRule Serializer + pub fn new() -> PatchedNotificationRuleRequest { + PatchedNotificationRuleRequest { + name: None, + transports: None, + severity: None, + group: None, + } + } +} diff --git a/src/models/patched_notification_transport_request.rs b/src/models/patched_notification_transport_request.rs new file mode 100644 index 0000000..cff78ce --- /dev/null +++ b/src/models/patched_notification_transport_request.rs @@ -0,0 +1,46 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedNotificationTransportRequest : NotificationTransport Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedNotificationTransportRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + #[serde(rename = "webhook_url", skip_serializing_if = "Option::is_none")] + pub webhook_url: Option, + #[serde( + rename = "webhook_mapping", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub webhook_mapping: Option>, + /// Only send notification once, for example when sending a webhook into a chat channel. + #[serde(rename = "send_once", skip_serializing_if = "Option::is_none")] + pub send_once: Option, +} + +impl PatchedNotificationTransportRequest { + /// NotificationTransport Serializer + pub fn new() -> PatchedNotificationTransportRequest { + PatchedNotificationTransportRequest { + name: None, + mode: None, + webhook_url: None, + webhook_mapping: None, + send_once: None, + } + } +} diff --git a/src/models/patched_notification_webhook_mapping_request.rs b/src/models/patched_notification_webhook_mapping_request.rs new file mode 100644 index 0000000..47f040c --- /dev/null +++ b/src/models/patched_notification_webhook_mapping_request.rs @@ -0,0 +1,31 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedNotificationWebhookMappingRequest : NotificationWebhookMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedNotificationWebhookMappingRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "expression", skip_serializing_if = "Option::is_none")] + pub expression: Option, +} + +impl PatchedNotificationWebhookMappingRequest { + /// NotificationWebhookMapping Serializer + pub fn new() -> PatchedNotificationWebhookMappingRequest { + PatchedNotificationWebhookMappingRequest { + name: None, + expression: None, + } + } +} diff --git a/src/models/patched_o_auth2_provider_request.rs b/src/models/patched_o_auth2_provider_request.rs new file mode 100644 index 0000000..aeab610 --- /dev/null +++ b/src/models/patched_o_auth2_provider_request.rs @@ -0,0 +1,94 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedOAuth2ProviderRequest : OAuth2Provider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedOAuth2ProviderRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Flow used for authentication when the associated application is accessed by an un-authenticated user. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow used when authorizing this provider. + #[serde(rename = "authorization_flow", skip_serializing_if = "Option::is_none")] + pub authorization_flow: Option, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + /// Confidential clients are capable of maintaining the confidentiality of their credentials. Public clients are incapable + #[serde(rename = "client_type", skip_serializing_if = "Option::is_none")] + pub client_type: Option, + #[serde(rename = "client_id", skip_serializing_if = "Option::is_none")] + pub client_id: Option, + #[serde(rename = "client_secret", skip_serializing_if = "Option::is_none")] + pub client_secret: Option, + /// Access codes not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "access_code_validity", skip_serializing_if = "Option::is_none")] + pub access_code_validity: Option, + /// Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "access_token_validity", skip_serializing_if = "Option::is_none")] + pub access_token_validity: Option, + /// Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "refresh_token_validity", skip_serializing_if = "Option::is_none")] + pub refresh_token_validity: Option, + /// Include User claims from scopes in the id_token, for applications that don't access the userinfo endpoint. + #[serde(rename = "include_claims_in_id_token", skip_serializing_if = "Option::is_none")] + pub include_claims_in_id_token: Option, + /// Key used to sign the tokens. Only required when JWT Algorithm is set to RS256. + #[serde( + rename = "signing_key", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub signing_key: Option>, + /// Enter each URI on a new line. + #[serde(rename = "redirect_uris", skip_serializing_if = "Option::is_none")] + pub redirect_uris: Option, + /// Configure what data should be used as unique User Identifier. For most cases, the default should be fine. + #[serde(rename = "sub_mode", skip_serializing_if = "Option::is_none")] + pub sub_mode: Option, + /// Configure how the issuer field of the ID Token should be filled. + #[serde(rename = "issuer_mode", skip_serializing_if = "Option::is_none")] + pub issuer_mode: Option, + #[serde(rename = "jwks_sources", skip_serializing_if = "Option::is_none")] + pub jwks_sources: Option>, +} + +impl PatchedOAuth2ProviderRequest { + /// OAuth2Provider Serializer + pub fn new() -> PatchedOAuth2ProviderRequest { + PatchedOAuth2ProviderRequest { + name: None, + authentication_flow: None, + authorization_flow: None, + property_mappings: None, + client_type: None, + client_id: None, + client_secret: None, + access_code_validity: None, + access_token_validity: None, + refresh_token_validity: None, + include_claims_in_id_token: None, + signing_key: None, + redirect_uris: None, + sub_mode: None, + issuer_mode: None, + jwks_sources: None, + } + } +} diff --git a/src/models/patched_o_auth_source_property_mapping_request.rs b/src/models/patched_o_auth_source_property_mapping_request.rs new file mode 100644 index 0000000..c827850 --- /dev/null +++ b/src/models/patched_o_auth_source_property_mapping_request.rs @@ -0,0 +1,40 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedOAuthSourcePropertyMappingRequest : OAuthSourcePropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedOAuthSourcePropertyMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "expression", skip_serializing_if = "Option::is_none")] + pub expression: Option, +} + +impl PatchedOAuthSourcePropertyMappingRequest { + /// OAuthSourcePropertyMapping Serializer + pub fn new() -> PatchedOAuthSourcePropertyMappingRequest { + PatchedOAuthSourcePropertyMappingRequest { + managed: None, + name: None, + expression: None, + } + } +} diff --git a/src/models/patched_o_auth_source_request.rs b/src/models/patched_o_auth_source_request.rs new file mode 100644 index 0000000..d0fb2c3 --- /dev/null +++ b/src/models/patched_o_auth_source_request.rs @@ -0,0 +1,136 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedOAuthSourceRequest : OAuth Source Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedOAuthSourceRequest { + /// Source's display Name. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Internal source name, used in URLs. + #[serde(rename = "slug", skip_serializing_if = "Option::is_none")] + pub slug: Option, + #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")] + pub enabled: Option, + /// Flow to use when authenticating existing users. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow to use when enrolling new users. + #[serde( + rename = "enrollment_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub enrollment_flow: Option>, + #[serde(rename = "user_property_mappings", skip_serializing_if = "Option::is_none")] + pub user_property_mappings: Option>, + #[serde(rename = "group_property_mappings", skip_serializing_if = "Option::is_none")] + pub group_property_mappings: Option>, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + /// How the source determines if an existing user should be authenticated or a new user enrolled. + #[serde(rename = "user_matching_mode", skip_serializing_if = "Option::is_none")] + pub user_matching_mode: Option, + #[serde(rename = "user_path_template", skip_serializing_if = "Option::is_none")] + pub user_path_template: Option, + /// How the source determines if an existing group should be used or a new group created. + #[serde(rename = "group_matching_mode", skip_serializing_if = "Option::is_none")] + pub group_matching_mode: Option, + #[serde(rename = "provider_type", skip_serializing_if = "Option::is_none")] + pub provider_type: Option, + /// URL used to request the initial token. This URL is only required for OAuth 1. + #[serde( + rename = "request_token_url", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub request_token_url: Option>, + /// URL the user is redirect to to conest the flow. + #[serde( + rename = "authorization_url", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authorization_url: Option>, + /// URL used by authentik to retrieve tokens. + #[serde( + rename = "access_token_url", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub access_token_url: Option>, + /// URL used by authentik to get user information. + #[serde( + rename = "profile_url", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub profile_url: Option>, + #[serde(rename = "consumer_key", skip_serializing_if = "Option::is_none")] + pub consumer_key: Option, + #[serde(rename = "consumer_secret", skip_serializing_if = "Option::is_none")] + pub consumer_secret: Option, + #[serde(rename = "additional_scopes", skip_serializing_if = "Option::is_none")] + pub additional_scopes: Option, + #[serde(rename = "oidc_well_known_url", skip_serializing_if = "Option::is_none")] + pub oidc_well_known_url: Option, + #[serde(rename = "oidc_jwks_url", skip_serializing_if = "Option::is_none")] + pub oidc_jwks_url: Option, + #[serde( + rename = "oidc_jwks", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub oidc_jwks: Option>, +} + +impl PatchedOAuthSourceRequest { + /// OAuth Source Serializer + pub fn new() -> PatchedOAuthSourceRequest { + PatchedOAuthSourceRequest { + name: None, + slug: None, + enabled: None, + authentication_flow: None, + enrollment_flow: None, + user_property_mappings: None, + group_property_mappings: None, + policy_engine_mode: None, + user_matching_mode: None, + user_path_template: None, + group_matching_mode: None, + provider_type: None, + request_token_url: None, + authorization_url: None, + access_token_url: None, + profile_url: None, + consumer_key: None, + consumer_secret: None, + additional_scopes: None, + oidc_well_known_url: None, + oidc_jwks_url: None, + oidc_jwks: None, + } + } +} diff --git a/src/models/patched_outpost_request.rs b/src/models/patched_outpost_request.rs new file mode 100644 index 0000000..84c569a --- /dev/null +++ b/src/models/patched_outpost_request.rs @@ -0,0 +1,55 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedOutpostRequest : Outpost Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedOutpostRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] + pub r#type: Option, + #[serde(rename = "providers", skip_serializing_if = "Option::is_none")] + pub providers: Option>, + /// Select Service-Connection authentik should use to manage this outpost. Leave empty if authentik should not handle the deployment. + #[serde( + rename = "service_connection", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub service_connection: Option>, + #[serde(rename = "config", skip_serializing_if = "Option::is_none")] + pub config: Option>, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, +} + +impl PatchedOutpostRequest { + /// Outpost Serializer + pub fn new() -> PatchedOutpostRequest { + PatchedOutpostRequest { + name: None, + r#type: None, + providers: None, + service_connection: None, + config: None, + managed: None, + } + } +} diff --git a/src/models/patched_password_expiry_policy_request.rs b/src/models/patched_password_expiry_policy_request.rs new file mode 100644 index 0000000..4febc48 --- /dev/null +++ b/src/models/patched_password_expiry_policy_request.rs @@ -0,0 +1,38 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedPasswordExpiryPolicyRequest : Password Expiry Policy Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedPasswordExpiryPolicyRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + #[serde(rename = "execution_logging", skip_serializing_if = "Option::is_none")] + pub execution_logging: Option, + #[serde(rename = "days", skip_serializing_if = "Option::is_none")] + pub days: Option, + #[serde(rename = "deny_only", skip_serializing_if = "Option::is_none")] + pub deny_only: Option, +} + +impl PatchedPasswordExpiryPolicyRequest { + /// Password Expiry Policy Serializer + pub fn new() -> PatchedPasswordExpiryPolicyRequest { + PatchedPasswordExpiryPolicyRequest { + name: None, + execution_logging: None, + days: None, + deny_only: None, + } + } +} diff --git a/src/models/patched_password_policy_request.rs b/src/models/patched_password_policy_request.rs new file mode 100644 index 0000000..a09baa7 --- /dev/null +++ b/src/models/patched_password_policy_request.rs @@ -0,0 +1,74 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedPasswordPolicyRequest : Password Policy Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedPasswordPolicyRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + #[serde(rename = "execution_logging", skip_serializing_if = "Option::is_none")] + pub execution_logging: Option, + /// Field key to check, field keys defined in Prompt stages are available. + #[serde(rename = "password_field", skip_serializing_if = "Option::is_none")] + pub password_field: Option, + #[serde(rename = "amount_digits", skip_serializing_if = "Option::is_none")] + pub amount_digits: Option, + #[serde(rename = "amount_uppercase", skip_serializing_if = "Option::is_none")] + pub amount_uppercase: Option, + #[serde(rename = "amount_lowercase", skip_serializing_if = "Option::is_none")] + pub amount_lowercase: Option, + #[serde(rename = "amount_symbols", skip_serializing_if = "Option::is_none")] + pub amount_symbols: Option, + #[serde(rename = "length_min", skip_serializing_if = "Option::is_none")] + pub length_min: Option, + #[serde(rename = "symbol_charset", skip_serializing_if = "Option::is_none")] + pub symbol_charset: Option, + #[serde(rename = "error_message", skip_serializing_if = "Option::is_none")] + pub error_message: Option, + #[serde(rename = "check_static_rules", skip_serializing_if = "Option::is_none")] + pub check_static_rules: Option, + #[serde(rename = "check_have_i_been_pwned", skip_serializing_if = "Option::is_none")] + pub check_have_i_been_pwned: Option, + #[serde(rename = "check_zxcvbn", skip_serializing_if = "Option::is_none")] + pub check_zxcvbn: Option, + /// How many times the password hash is allowed to be on haveibeenpwned + #[serde(rename = "hibp_allowed_count", skip_serializing_if = "Option::is_none")] + pub hibp_allowed_count: Option, + /// If the zxcvbn score is equal or less than this value, the policy will fail. + #[serde(rename = "zxcvbn_score_threshold", skip_serializing_if = "Option::is_none")] + pub zxcvbn_score_threshold: Option, +} + +impl PatchedPasswordPolicyRequest { + /// Password Policy Serializer + pub fn new() -> PatchedPasswordPolicyRequest { + PatchedPasswordPolicyRequest { + name: None, + execution_logging: None, + password_field: None, + amount_digits: None, + amount_uppercase: None, + amount_lowercase: None, + amount_symbols: None, + length_min: None, + symbol_charset: None, + error_message: None, + check_static_rules: None, + check_have_i_been_pwned: None, + check_zxcvbn: None, + hibp_allowed_count: None, + zxcvbn_score_threshold: None, + } + } +} diff --git a/src/models/patched_password_stage_request.rs b/src/models/patched_password_stage_request.rs new file mode 100644 index 0000000..504ab2d --- /dev/null +++ b/src/models/patched_password_stage_request.rs @@ -0,0 +1,52 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedPasswordStageRequest : PasswordStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedPasswordStageRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Selection of backends to test the password against. + #[serde(rename = "backends", skip_serializing_if = "Option::is_none")] + pub backends: Option>, + /// Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. + #[serde( + rename = "configure_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub configure_flow: Option>, + /// How many attempts a user has before the flow is canceled. To lock the user out, use a reputation policy and a user_write stage. + #[serde(rename = "failed_attempts_before_cancel", skip_serializing_if = "Option::is_none")] + pub failed_attempts_before_cancel: Option, + /// When enabled, provides a 'show password' button with the password input field. + #[serde(rename = "allow_show_password", skip_serializing_if = "Option::is_none")] + pub allow_show_password: Option, +} + +impl PatchedPasswordStageRequest { + /// PasswordStage Serializer + pub fn new() -> PatchedPasswordStageRequest { + PatchedPasswordStageRequest { + name: None, + flow_set: None, + backends: None, + configure_flow: None, + failed_attempts_before_cancel: None, + allow_show_password: None, + } + } +} diff --git a/src/models/patched_permission_assign_request.rs b/src/models/patched_permission_assign_request.rs new file mode 100644 index 0000000..06f7401 --- /dev/null +++ b/src/models/patched_permission_assign_request.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedPermissionAssignRequest : Request to assign a new permission +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedPermissionAssignRequest { + #[serde(rename = "permissions", skip_serializing_if = "Option::is_none")] + pub permissions: Option>, + #[serde(rename = "model", skip_serializing_if = "Option::is_none")] + pub model: Option, + #[serde(rename = "object_pk", skip_serializing_if = "Option::is_none")] + pub object_pk: Option, +} + +impl PatchedPermissionAssignRequest { + /// Request to assign a new permission + pub fn new() -> PatchedPermissionAssignRequest { + PatchedPermissionAssignRequest { + permissions: None, + model: None, + object_pk: None, + } + } +} diff --git a/src/models/patched_plex_source_property_mapping_request.rs b/src/models/patched_plex_source_property_mapping_request.rs new file mode 100644 index 0000000..5a6bca7 --- /dev/null +++ b/src/models/patched_plex_source_property_mapping_request.rs @@ -0,0 +1,40 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedPlexSourcePropertyMappingRequest : PlexSourcePropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedPlexSourcePropertyMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "expression", skip_serializing_if = "Option::is_none")] + pub expression: Option, +} + +impl PatchedPlexSourcePropertyMappingRequest { + /// PlexSourcePropertyMapping Serializer + pub fn new() -> PatchedPlexSourcePropertyMappingRequest { + PatchedPlexSourcePropertyMappingRequest { + managed: None, + name: None, + expression: None, + } + } +} diff --git a/src/models/patched_plex_source_request.rs b/src/models/patched_plex_source_request.rs new file mode 100644 index 0000000..4884173 --- /dev/null +++ b/src/models/patched_plex_source_request.rs @@ -0,0 +1,90 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedPlexSourceRequest : Plex Source Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedPlexSourceRequest { + /// Source's display Name. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Internal source name, used in URLs. + #[serde(rename = "slug", skip_serializing_if = "Option::is_none")] + pub slug: Option, + #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")] + pub enabled: Option, + /// Flow to use when authenticating existing users. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow to use when enrolling new users. + #[serde( + rename = "enrollment_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub enrollment_flow: Option>, + #[serde(rename = "user_property_mappings", skip_serializing_if = "Option::is_none")] + pub user_property_mappings: Option>, + #[serde(rename = "group_property_mappings", skip_serializing_if = "Option::is_none")] + pub group_property_mappings: Option>, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + /// How the source determines if an existing user should be authenticated or a new user enrolled. + #[serde(rename = "user_matching_mode", skip_serializing_if = "Option::is_none")] + pub user_matching_mode: Option, + #[serde(rename = "user_path_template", skip_serializing_if = "Option::is_none")] + pub user_path_template: Option, + /// How the source determines if an existing group should be used or a new group created. + #[serde(rename = "group_matching_mode", skip_serializing_if = "Option::is_none")] + pub group_matching_mode: Option, + /// Client identifier used to talk to Plex. + #[serde(rename = "client_id", skip_serializing_if = "Option::is_none")] + pub client_id: Option, + /// Which servers a user has to be a member of to be granted access. Empty list allows every server. + #[serde(rename = "allowed_servers", skip_serializing_if = "Option::is_none")] + pub allowed_servers: Option>, + /// Allow friends to authenticate, even if you don't share a server. + #[serde(rename = "allow_friends", skip_serializing_if = "Option::is_none")] + pub allow_friends: Option, + /// Plex token used to check friends + #[serde(rename = "plex_token", skip_serializing_if = "Option::is_none")] + pub plex_token: Option, +} + +impl PatchedPlexSourceRequest { + /// Plex Source Serializer + pub fn new() -> PatchedPlexSourceRequest { + PatchedPlexSourceRequest { + name: None, + slug: None, + enabled: None, + authentication_flow: None, + enrollment_flow: None, + user_property_mappings: None, + group_property_mappings: None, + policy_engine_mode: None, + user_matching_mode: None, + user_path_template: None, + group_matching_mode: None, + client_id: None, + allowed_servers: None, + allow_friends: None, + plex_token: None, + } + } +} diff --git a/src/models/patched_policy_binding_request.rs b/src/models/patched_policy_binding_request.rs new file mode 100644 index 0000000..89b6a78 --- /dev/null +++ b/src/models/patched_policy_binding_request.rs @@ -0,0 +1,70 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedPolicyBindingRequest : PolicyBinding Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedPolicyBindingRequest { + #[serde( + rename = "policy", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub policy: Option>, + #[serde( + rename = "group", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub group: Option>, + #[serde( + rename = "user", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub user: Option>, + #[serde(rename = "target", skip_serializing_if = "Option::is_none")] + pub target: Option, + /// Negates the outcome of the policy. Messages are unaffected. + #[serde(rename = "negate", skip_serializing_if = "Option::is_none")] + pub negate: Option, + #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")] + pub enabled: Option, + #[serde(rename = "order", skip_serializing_if = "Option::is_none")] + pub order: Option, + /// Timeout after which Policy execution is terminated. + #[serde(rename = "timeout", skip_serializing_if = "Option::is_none")] + pub timeout: Option, + /// Result if the Policy execution fails. + #[serde(rename = "failure_result", skip_serializing_if = "Option::is_none")] + pub failure_result: Option, +} + +impl PatchedPolicyBindingRequest { + /// PolicyBinding Serializer + pub fn new() -> PatchedPolicyBindingRequest { + PatchedPolicyBindingRequest { + policy: None, + group: None, + user: None, + target: None, + negate: None, + enabled: None, + order: None, + timeout: None, + failure_result: None, + } + } +} diff --git a/src/models/patched_prompt_request.rs b/src/models/patched_prompt_request.rs new file mode 100644 index 0000000..a9e6d91 --- /dev/null +++ b/src/models/patched_prompt_request.rs @@ -0,0 +1,64 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedPromptRequest : Prompt Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedPromptRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Name of the form field, also used to store the value + #[serde(rename = "field_key", skip_serializing_if = "Option::is_none")] + pub field_key: Option, + #[serde(rename = "label", skip_serializing_if = "Option::is_none")] + pub label: Option, + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] + pub r#type: Option, + #[serde(rename = "required", skip_serializing_if = "Option::is_none")] + pub required: Option, + /// Optionally provide a short hint that describes the expected input value. When creating a fixed choice field, enable interpreting as expression and return a list to return multiple choices. + #[serde(rename = "placeholder", skip_serializing_if = "Option::is_none")] + pub placeholder: Option, + /// Optionally pre-fill the input with an initial value. When creating a fixed choice field, enable interpreting as expression and return a list to return multiple default choices. + #[serde(rename = "initial_value", skip_serializing_if = "Option::is_none")] + pub initial_value: Option, + #[serde(rename = "order", skip_serializing_if = "Option::is_none")] + pub order: Option, + #[serde(rename = "promptstage_set", skip_serializing_if = "Option::is_none")] + pub promptstage_set: Option>, + #[serde(rename = "sub_text", skip_serializing_if = "Option::is_none")] + pub sub_text: Option, + #[serde(rename = "placeholder_expression", skip_serializing_if = "Option::is_none")] + pub placeholder_expression: Option, + #[serde(rename = "initial_value_expression", skip_serializing_if = "Option::is_none")] + pub initial_value_expression: Option, +} + +impl PatchedPromptRequest { + /// Prompt Serializer + pub fn new() -> PatchedPromptRequest { + PatchedPromptRequest { + name: None, + field_key: None, + label: None, + r#type: None, + required: None, + placeholder: None, + initial_value: None, + order: None, + promptstage_set: None, + sub_text: None, + placeholder_expression: None, + initial_value_expression: None, + } + } +} diff --git a/src/models/patched_prompt_stage_request.rs b/src/models/patched_prompt_stage_request.rs new file mode 100644 index 0000000..0ff0e4c --- /dev/null +++ b/src/models/patched_prompt_stage_request.rs @@ -0,0 +1,37 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedPromptStageRequest : PromptStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedPromptStageRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + #[serde(rename = "fields", skip_serializing_if = "Option::is_none")] + pub fields: Option>, + #[serde(rename = "validation_policies", skip_serializing_if = "Option::is_none")] + pub validation_policies: Option>, +} + +impl PatchedPromptStageRequest { + /// PromptStage Serializer + pub fn new() -> PatchedPromptStageRequest { + PatchedPromptStageRequest { + name: None, + flow_set: None, + fields: None, + validation_policies: None, + } + } +} diff --git a/src/models/patched_proxy_provider_request.rs b/src/models/patched_proxy_provider_request.rs new file mode 100644 index 0000000..2ab52f9 --- /dev/null +++ b/src/models/patched_proxy_provider_request.rs @@ -0,0 +1,100 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedProxyProviderRequest : ProxyProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedProxyProviderRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Flow used for authentication when the associated application is accessed by an un-authenticated user. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow used when authorizing this provider. + #[serde(rename = "authorization_flow", skip_serializing_if = "Option::is_none")] + pub authorization_flow: Option, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + #[serde(rename = "internal_host", skip_serializing_if = "Option::is_none")] + pub internal_host: Option, + #[serde(rename = "external_host", skip_serializing_if = "Option::is_none")] + pub external_host: Option, + /// Validate SSL Certificates of upstream servers + #[serde(rename = "internal_host_ssl_validation", skip_serializing_if = "Option::is_none")] + pub internal_host_ssl_validation: Option, + #[serde( + rename = "certificate", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub certificate: Option>, + /// Regular expressions for which authentication is not required. Each new line is interpreted as a new Regular Expression. + #[serde(rename = "skip_path_regex", skip_serializing_if = "Option::is_none")] + pub skip_path_regex: Option, + /// Set a custom HTTP-Basic Authentication header based on values from authentik. + #[serde(rename = "basic_auth_enabled", skip_serializing_if = "Option::is_none")] + pub basic_auth_enabled: Option, + /// User/Group Attribute used for the password part of the HTTP-Basic Header. + #[serde(rename = "basic_auth_password_attribute", skip_serializing_if = "Option::is_none")] + pub basic_auth_password_attribute: Option, + /// User/Group Attribute used for the user part of the HTTP-Basic Header. If not set, the user's Email address is used. + #[serde(rename = "basic_auth_user_attribute", skip_serializing_if = "Option::is_none")] + pub basic_auth_user_attribute: Option, + /// Enable support for forwardAuth in traefik and nginx auth_request. Exclusive with internal_host. + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// When enabled, this provider will intercept the authorization header and authenticate requests based on its value. + #[serde(rename = "intercept_header_auth", skip_serializing_if = "Option::is_none")] + pub intercept_header_auth: Option, + #[serde(rename = "cookie_domain", skip_serializing_if = "Option::is_none")] + pub cookie_domain: Option, + #[serde(rename = "jwks_sources", skip_serializing_if = "Option::is_none")] + pub jwks_sources: Option>, + /// Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "access_token_validity", skip_serializing_if = "Option::is_none")] + pub access_token_validity: Option, + /// Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "refresh_token_validity", skip_serializing_if = "Option::is_none")] + pub refresh_token_validity: Option, +} + +impl PatchedProxyProviderRequest { + /// ProxyProvider Serializer + pub fn new() -> PatchedProxyProviderRequest { + PatchedProxyProviderRequest { + name: None, + authentication_flow: None, + authorization_flow: None, + property_mappings: None, + internal_host: None, + external_host: None, + internal_host_ssl_validation: None, + certificate: None, + skip_path_regex: None, + basic_auth_enabled: None, + basic_auth_password_attribute: None, + basic_auth_user_attribute: None, + mode: None, + intercept_header_auth: None, + cookie_domain: None, + jwks_sources: None, + access_token_validity: None, + refresh_token_validity: None, + } + } +} diff --git a/src/models/patched_rac_property_mapping_request.rs b/src/models/patched_rac_property_mapping_request.rs new file mode 100644 index 0000000..21e7156 --- /dev/null +++ b/src/models/patched_rac_property_mapping_request.rs @@ -0,0 +1,43 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedRacPropertyMappingRequest : RACPropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedRacPropertyMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "expression", skip_serializing_if = "Option::is_none")] + pub expression: Option, + #[serde(rename = "static_settings", skip_serializing_if = "Option::is_none")] + pub static_settings: Option>, +} + +impl PatchedRacPropertyMappingRequest { + /// RACPropertyMapping Serializer + pub fn new() -> PatchedRacPropertyMappingRequest { + PatchedRacPropertyMappingRequest { + managed: None, + name: None, + expression: None, + static_settings: None, + } + } +} diff --git a/src/models/patched_rac_provider_request.rs b/src/models/patched_rac_provider_request.rs new file mode 100644 index 0000000..6e2a348 --- /dev/null +++ b/src/models/patched_rac_provider_request.rs @@ -0,0 +1,60 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedRacProviderRequest : RACProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedRacProviderRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Flow used for authentication when the associated application is accessed by an un-authenticated user. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow used when authorizing this provider. + #[serde(rename = "authorization_flow", skip_serializing_if = "Option::is_none")] + pub authorization_flow: Option, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + #[serde( + rename = "settings", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub settings: Option>, + /// Determines how long a session lasts. Default of 0 means that the sessions lasts until the browser is closed. (Format: hours=-1;minutes=-2;seconds=-3) + #[serde(rename = "connection_expiry", skip_serializing_if = "Option::is_none")] + pub connection_expiry: Option, + /// When set to true, connection tokens will be deleted upon disconnect. + #[serde(rename = "delete_token_on_disconnect", skip_serializing_if = "Option::is_none")] + pub delete_token_on_disconnect: Option, +} + +impl PatchedRacProviderRequest { + /// RACProvider Serializer + pub fn new() -> PatchedRacProviderRequest { + PatchedRacProviderRequest { + name: None, + authentication_flow: None, + authorization_flow: None, + property_mappings: None, + settings: None, + connection_expiry: None, + delete_token_on_disconnect: None, + } + } +} diff --git a/src/models/patched_radius_provider_property_mapping_request.rs b/src/models/patched_radius_provider_property_mapping_request.rs new file mode 100644 index 0000000..92cdd81 --- /dev/null +++ b/src/models/patched_radius_provider_property_mapping_request.rs @@ -0,0 +1,40 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedRadiusProviderPropertyMappingRequest : RadiusProviderPropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedRadiusProviderPropertyMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "expression", skip_serializing_if = "Option::is_none")] + pub expression: Option, +} + +impl PatchedRadiusProviderPropertyMappingRequest { + /// RadiusProviderPropertyMapping Serializer + pub fn new() -> PatchedRadiusProviderPropertyMappingRequest { + PatchedRadiusProviderPropertyMappingRequest { + managed: None, + name: None, + expression: None, + } + } +} diff --git a/src/models/patched_radius_provider_request.rs b/src/models/patched_radius_provider_request.rs new file mode 100644 index 0000000..52a561b --- /dev/null +++ b/src/models/patched_radius_provider_request.rs @@ -0,0 +1,56 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedRadiusProviderRequest : RadiusProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedRadiusProviderRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Flow used for authentication when the associated application is accessed by an un-authenticated user. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow used when authorizing this provider. + #[serde(rename = "authorization_flow", skip_serializing_if = "Option::is_none")] + pub authorization_flow: Option, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + /// List of CIDRs (comma-separated) that clients can connect from. A more specific CIDR will match before a looser one. Clients connecting from a non-specified CIDR will be dropped. + #[serde(rename = "client_networks", skip_serializing_if = "Option::is_none")] + pub client_networks: Option, + /// Shared secret between clients and server to hash packets. + #[serde(rename = "shared_secret", skip_serializing_if = "Option::is_none")] + pub shared_secret: Option, + /// When enabled, code-based multi-factor authentication can be used by appending a semicolon and the TOTP code to the password. This should only be enabled if all users that will bind to this provider have a TOTP device configured, as otherwise a password may incorrectly be rejected if it contains a semicolon. + #[serde(rename = "mfa_support", skip_serializing_if = "Option::is_none")] + pub mfa_support: Option, +} + +impl PatchedRadiusProviderRequest { + /// RadiusProvider Serializer + pub fn new() -> PatchedRadiusProviderRequest { + PatchedRadiusProviderRequest { + name: None, + authentication_flow: None, + authorization_flow: None, + property_mappings: None, + client_networks: None, + shared_secret: None, + mfa_support: None, + } + } +} diff --git a/src/models/patched_reputation_policy_request.rs b/src/models/patched_reputation_policy_request.rs new file mode 100644 index 0000000..0555f01 --- /dev/null +++ b/src/models/patched_reputation_policy_request.rs @@ -0,0 +1,41 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedReputationPolicyRequest : Reputation Policy Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedReputationPolicyRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + #[serde(rename = "execution_logging", skip_serializing_if = "Option::is_none")] + pub execution_logging: Option, + #[serde(rename = "check_ip", skip_serializing_if = "Option::is_none")] + pub check_ip: Option, + #[serde(rename = "check_username", skip_serializing_if = "Option::is_none")] + pub check_username: Option, + #[serde(rename = "threshold", skip_serializing_if = "Option::is_none")] + pub threshold: Option, +} + +impl PatchedReputationPolicyRequest { + /// Reputation Policy Serializer + pub fn new() -> PatchedReputationPolicyRequest { + PatchedReputationPolicyRequest { + name: None, + execution_logging: None, + check_ip: None, + check_username: None, + threshold: None, + } + } +} diff --git a/src/models/patched_role_request.rs b/src/models/patched_role_request.rs new file mode 100644 index 0000000..cbbf728 --- /dev/null +++ b/src/models/patched_role_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedRoleRequest : Role serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedRoleRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, +} + +impl PatchedRoleRequest { + /// Role serializer + pub fn new() -> PatchedRoleRequest { + PatchedRoleRequest { name: None } + } +} diff --git a/src/models/patched_saml_property_mapping_request.rs b/src/models/patched_saml_property_mapping_request.rs new file mode 100644 index 0000000..d43833a --- /dev/null +++ b/src/models/patched_saml_property_mapping_request.rs @@ -0,0 +1,51 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedSamlPropertyMappingRequest : SAMLPropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedSamlPropertyMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "expression", skip_serializing_if = "Option::is_none")] + pub expression: Option, + #[serde(rename = "saml_name", skip_serializing_if = "Option::is_none")] + pub saml_name: Option, + #[serde( + rename = "friendly_name", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub friendly_name: Option>, +} + +impl PatchedSamlPropertyMappingRequest { + /// SAMLPropertyMapping Serializer + pub fn new() -> PatchedSamlPropertyMappingRequest { + PatchedSamlPropertyMappingRequest { + managed: None, + name: None, + expression: None, + saml_name: None, + friendly_name: None, + } + } +} diff --git a/src/models/patched_saml_provider_request.rs b/src/models/patched_saml_provider_request.rs new file mode 100644 index 0000000..797e0e2 --- /dev/null +++ b/src/models/patched_saml_provider_request.rs @@ -0,0 +1,123 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedSamlProviderRequest : SAMLProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedSamlProviderRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Flow used for authentication when the associated application is accessed by an un-authenticated user. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow used when authorizing this provider. + #[serde(rename = "authorization_flow", skip_serializing_if = "Option::is_none")] + pub authorization_flow: Option, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + #[serde(rename = "acs_url", skip_serializing_if = "Option::is_none")] + pub acs_url: Option, + /// Value of the audience restriction field of the assertion. When left empty, no audience restriction will be added. + #[serde(rename = "audience", skip_serializing_if = "Option::is_none")] + pub audience: Option, + /// Also known as EntityID + #[serde(rename = "issuer", skip_serializing_if = "Option::is_none")] + pub issuer: Option, + /// Assertion valid not before current time + this value (Format: hours=-1;minutes=-2;seconds=-3). + #[serde(rename = "assertion_valid_not_before", skip_serializing_if = "Option::is_none")] + pub assertion_valid_not_before: Option, + /// Assertion not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "assertion_valid_not_on_or_after", skip_serializing_if = "Option::is_none")] + pub assertion_valid_not_on_or_after: Option, + /// Session not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "session_valid_not_on_or_after", skip_serializing_if = "Option::is_none")] + pub session_valid_not_on_or_after: Option, + /// Configure how the NameID value will be created. When left empty, the NameIDPolicy of the incoming request will be considered + #[serde( + rename = "name_id_mapping", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub name_id_mapping: Option>, + #[serde(rename = "digest_algorithm", skip_serializing_if = "Option::is_none")] + pub digest_algorithm: Option, + #[serde(rename = "signature_algorithm", skip_serializing_if = "Option::is_none")] + pub signature_algorithm: Option, + /// Keypair used to sign outgoing Responses going to the Service Provider. + #[serde( + rename = "signing_kp", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub signing_kp: Option>, + /// When selected, incoming assertion's Signatures will be validated against this certificate. To allow unsigned Requests, leave on default. + #[serde( + rename = "verification_kp", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub verification_kp: Option>, + /// When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. + #[serde( + rename = "encryption_kp", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub encryption_kp: Option>, + #[serde(rename = "sign_assertion", skip_serializing_if = "Option::is_none")] + pub sign_assertion: Option, + #[serde(rename = "sign_response", skip_serializing_if = "Option::is_none")] + pub sign_response: Option, + /// This determines how authentik sends the response back to the Service Provider. + #[serde(rename = "sp_binding", skip_serializing_if = "Option::is_none")] + pub sp_binding: Option, + /// Default relay_state value for IDP-initiated logins + #[serde(rename = "default_relay_state", skip_serializing_if = "Option::is_none")] + pub default_relay_state: Option, +} + +impl PatchedSamlProviderRequest { + /// SAMLProvider Serializer + pub fn new() -> PatchedSamlProviderRequest { + PatchedSamlProviderRequest { + name: None, + authentication_flow: None, + authorization_flow: None, + property_mappings: None, + acs_url: None, + audience: None, + issuer: None, + assertion_valid_not_before: None, + assertion_valid_not_on_or_after: None, + session_valid_not_on_or_after: None, + name_id_mapping: None, + digest_algorithm: None, + signature_algorithm: None, + signing_kp: None, + verification_kp: None, + encryption_kp: None, + sign_assertion: None, + sign_response: None, + sp_binding: None, + default_relay_state: None, + } + } +} diff --git a/src/models/patched_saml_source_property_mapping_request.rs b/src/models/patched_saml_source_property_mapping_request.rs new file mode 100644 index 0000000..883a5f2 --- /dev/null +++ b/src/models/patched_saml_source_property_mapping_request.rs @@ -0,0 +1,40 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedSamlSourcePropertyMappingRequest : SAMLSourcePropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedSamlSourcePropertyMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "expression", skip_serializing_if = "Option::is_none")] + pub expression: Option, +} + +impl PatchedSamlSourcePropertyMappingRequest { + /// SAMLSourcePropertyMapping Serializer + pub fn new() -> PatchedSamlSourcePropertyMappingRequest { + PatchedSamlSourcePropertyMappingRequest { + managed: None, + name: None, + expression: None, + } + } +} diff --git a/src/models/patched_saml_source_request.rs b/src/models/patched_saml_source_request.rs new file mode 100644 index 0000000..d44d535 --- /dev/null +++ b/src/models/patched_saml_source_request.rs @@ -0,0 +1,143 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedSamlSourceRequest : SAMLSource Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedSamlSourceRequest { + /// Source's display Name. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Internal source name, used in URLs. + #[serde(rename = "slug", skip_serializing_if = "Option::is_none")] + pub slug: Option, + #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")] + pub enabled: Option, + /// Flow to use when authenticating existing users. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow to use when enrolling new users. + #[serde( + rename = "enrollment_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub enrollment_flow: Option>, + #[serde(rename = "user_property_mappings", skip_serializing_if = "Option::is_none")] + pub user_property_mappings: Option>, + #[serde(rename = "group_property_mappings", skip_serializing_if = "Option::is_none")] + pub group_property_mappings: Option>, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + /// How the source determines if an existing user should be authenticated or a new user enrolled. + #[serde(rename = "user_matching_mode", skip_serializing_if = "Option::is_none")] + pub user_matching_mode: Option, + #[serde(rename = "user_path_template", skip_serializing_if = "Option::is_none")] + pub user_path_template: Option, + /// How the source determines if an existing group should be used or a new group created. + #[serde(rename = "group_matching_mode", skip_serializing_if = "Option::is_none")] + pub group_matching_mode: Option, + /// Flow used before authentication. + #[serde(rename = "pre_authentication_flow", skip_serializing_if = "Option::is_none")] + pub pre_authentication_flow: Option, + /// Also known as Entity ID. Defaults the Metadata URL. + #[serde(rename = "issuer", skip_serializing_if = "Option::is_none")] + pub issuer: Option, + /// URL that the initial Login request is sent to. + #[serde(rename = "sso_url", skip_serializing_if = "Option::is_none")] + pub sso_url: Option, + /// Optional URL if your IDP supports Single-Logout. + #[serde( + rename = "slo_url", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub slo_url: Option>, + /// Allows authentication flows initiated by the IdP. This can be a security risk, as no validation of the request ID is done. + #[serde(rename = "allow_idp_initiated", skip_serializing_if = "Option::is_none")] + pub allow_idp_initiated: Option, + /// NameID Policy sent to the IdP. Can be unset, in which case no Policy is sent. + #[serde(rename = "name_id_policy", skip_serializing_if = "Option::is_none")] + pub name_id_policy: Option, + #[serde(rename = "binding_type", skip_serializing_if = "Option::is_none")] + pub binding_type: Option, + /// When selected, incoming assertion's Signatures will be validated against this certificate. To allow unsigned Requests, leave on default. + #[serde( + rename = "verification_kp", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub verification_kp: Option>, + /// Keypair used to sign outgoing Responses going to the Identity Provider. + #[serde( + rename = "signing_kp", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub signing_kp: Option>, + #[serde(rename = "digest_algorithm", skip_serializing_if = "Option::is_none")] + pub digest_algorithm: Option, + #[serde(rename = "signature_algorithm", skip_serializing_if = "Option::is_none")] + pub signature_algorithm: Option, + /// Time offset when temporary users should be deleted. This only applies if your IDP uses the NameID Format 'transient', and the user doesn't log out manually. (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "temporary_user_delete_after", skip_serializing_if = "Option::is_none")] + pub temporary_user_delete_after: Option, + /// When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. + #[serde( + rename = "encryption_kp", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub encryption_kp: Option>, +} + +impl PatchedSamlSourceRequest { + /// SAMLSource Serializer + pub fn new() -> PatchedSamlSourceRequest { + PatchedSamlSourceRequest { + name: None, + slug: None, + enabled: None, + authentication_flow: None, + enrollment_flow: None, + user_property_mappings: None, + group_property_mappings: None, + policy_engine_mode: None, + user_matching_mode: None, + user_path_template: None, + group_matching_mode: None, + pre_authentication_flow: None, + issuer: None, + sso_url: None, + slo_url: None, + allow_idp_initiated: None, + name_id_policy: None, + binding_type: None, + verification_kp: None, + signing_kp: None, + digest_algorithm: None, + signature_algorithm: None, + temporary_user_delete_after: None, + encryption_kp: None, + } + } +} diff --git a/src/models/patched_scim_mapping_request.rs b/src/models/patched_scim_mapping_request.rs new file mode 100644 index 0000000..8d9fe12 --- /dev/null +++ b/src/models/patched_scim_mapping_request.rs @@ -0,0 +1,40 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedScimMappingRequest : SCIMMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedScimMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "expression", skip_serializing_if = "Option::is_none")] + pub expression: Option, +} + +impl PatchedScimMappingRequest { + /// SCIMMapping Serializer + pub fn new() -> PatchedScimMappingRequest { + PatchedScimMappingRequest { + managed: None, + name: None, + expression: None, + } + } +} diff --git a/src/models/patched_scim_provider_request.rs b/src/models/patched_scim_provider_request.rs new file mode 100644 index 0000000..909e305 --- /dev/null +++ b/src/models/patched_scim_provider_request.rs @@ -0,0 +1,54 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedScimProviderRequest : SCIMProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedScimProviderRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + /// Property mappings used for group creation/updating. + #[serde(rename = "property_mappings_group", skip_serializing_if = "Option::is_none")] + pub property_mappings_group: Option>, + /// Base URL to SCIM requests, usually ends in /v2 + #[serde(rename = "url", skip_serializing_if = "Option::is_none")] + pub url: Option, + /// Authentication token + #[serde(rename = "token", skip_serializing_if = "Option::is_none")] + pub token: Option, + #[serde(rename = "exclude_users_service_account", skip_serializing_if = "Option::is_none")] + pub exclude_users_service_account: Option, + #[serde( + rename = "filter_group", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub filter_group: Option>, +} + +impl PatchedScimProviderRequest { + /// SCIMProvider Serializer + pub fn new() -> PatchedScimProviderRequest { + PatchedScimProviderRequest { + name: None, + property_mappings: None, + property_mappings_group: None, + url: None, + token: None, + exclude_users_service_account: None, + filter_group: None, + } + } +} diff --git a/src/models/patched_scim_source_group_request.rs b/src/models/patched_scim_source_group_request.rs new file mode 100644 index 0000000..1784cc5 --- /dev/null +++ b/src/models/patched_scim_source_group_request.rs @@ -0,0 +1,42 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedScimSourceGroupRequest : SCIMSourceGroup Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedScimSourceGroupRequest { + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "group", skip_serializing_if = "Option::is_none")] + pub group: Option, + #[serde(rename = "source", skip_serializing_if = "Option::is_none")] + pub source: Option, + #[serde( + rename = "attributes", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub attributes: Option>, +} + +impl PatchedScimSourceGroupRequest { + /// SCIMSourceGroup Serializer + pub fn new() -> PatchedScimSourceGroupRequest { + PatchedScimSourceGroupRequest { + id: None, + group: None, + source: None, + attributes: None, + } + } +} diff --git a/src/models/patched_scim_source_property_mapping_request.rs b/src/models/patched_scim_source_property_mapping_request.rs new file mode 100644 index 0000000..9f7c679 --- /dev/null +++ b/src/models/patched_scim_source_property_mapping_request.rs @@ -0,0 +1,40 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedScimSourcePropertyMappingRequest : SCIMSourcePropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedScimSourcePropertyMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "expression", skip_serializing_if = "Option::is_none")] + pub expression: Option, +} + +impl PatchedScimSourcePropertyMappingRequest { + /// SCIMSourcePropertyMapping Serializer + pub fn new() -> PatchedScimSourcePropertyMappingRequest { + PatchedScimSourcePropertyMappingRequest { + managed: None, + name: None, + expression: None, + } + } +} diff --git a/src/models/patched_scim_source_request.rs b/src/models/patched_scim_source_request.rs new file mode 100644 index 0000000..0117b53 --- /dev/null +++ b/src/models/patched_scim_source_request.rs @@ -0,0 +1,45 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedScimSourceRequest : SCIMSource Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedScimSourceRequest { + /// Source's display Name. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Internal source name, used in URLs. + #[serde(rename = "slug", skip_serializing_if = "Option::is_none")] + pub slug: Option, + #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")] + pub enabled: Option, + #[serde(rename = "user_property_mappings", skip_serializing_if = "Option::is_none")] + pub user_property_mappings: Option>, + #[serde(rename = "group_property_mappings", skip_serializing_if = "Option::is_none")] + pub group_property_mappings: Option>, + #[serde(rename = "user_path_template", skip_serializing_if = "Option::is_none")] + pub user_path_template: Option, +} + +impl PatchedScimSourceRequest { + /// SCIMSource Serializer + pub fn new() -> PatchedScimSourceRequest { + PatchedScimSourceRequest { + name: None, + slug: None, + enabled: None, + user_property_mappings: None, + group_property_mappings: None, + user_path_template: None, + } + } +} diff --git a/src/models/patched_scim_source_user_request.rs b/src/models/patched_scim_source_user_request.rs new file mode 100644 index 0000000..6f669b4 --- /dev/null +++ b/src/models/patched_scim_source_user_request.rs @@ -0,0 +1,42 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedScimSourceUserRequest : SCIMSourceUser Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedScimSourceUserRequest { + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "user", skip_serializing_if = "Option::is_none")] + pub user: Option, + #[serde(rename = "source", skip_serializing_if = "Option::is_none")] + pub source: Option, + #[serde( + rename = "attributes", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub attributes: Option>, +} + +impl PatchedScimSourceUserRequest { + /// SCIMSourceUser Serializer + pub fn new() -> PatchedScimSourceUserRequest { + PatchedScimSourceUserRequest { + id: None, + user: None, + source: None, + attributes: None, + } + } +} diff --git a/src/models/patched_scope_mapping_request.rs b/src/models/patched_scope_mapping_request.rs new file mode 100644 index 0000000..57e7888 --- /dev/null +++ b/src/models/patched_scope_mapping_request.rs @@ -0,0 +1,48 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedScopeMappingRequest : ScopeMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedScopeMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "expression", skip_serializing_if = "Option::is_none")] + pub expression: Option, + /// Scope name requested by the client + #[serde(rename = "scope_name", skip_serializing_if = "Option::is_none")] + pub scope_name: Option, + /// Description shown to the user when consenting. If left empty, the user won't be informed. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, +} + +impl PatchedScopeMappingRequest { + /// ScopeMapping Serializer + pub fn new() -> PatchedScopeMappingRequest { + PatchedScopeMappingRequest { + managed: None, + name: None, + expression: None, + scope_name: None, + description: None, + } + } +} diff --git a/src/models/patched_settings_request.rs b/src/models/patched_settings_request.rs new file mode 100644 index 0000000..715ff7d --- /dev/null +++ b/src/models/patched_settings_request.rs @@ -0,0 +1,70 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedSettingsRequest : Settings Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedSettingsRequest { + /// Configure how authentik should show avatars for users. + #[serde(rename = "avatars", skip_serializing_if = "Option::is_none")] + pub avatars: Option, + /// Enable the ability for users to change their name. + #[serde(rename = "default_user_change_name", skip_serializing_if = "Option::is_none")] + pub default_user_change_name: Option, + /// Enable the ability for users to change their email address. + #[serde(rename = "default_user_change_email", skip_serializing_if = "Option::is_none")] + pub default_user_change_email: Option, + /// Enable the ability for users to change their username. + #[serde(rename = "default_user_change_username", skip_serializing_if = "Option::is_none")] + pub default_user_change_username: Option, + /// Events will be deleted after this duration.(Format: weeks=3;days=2;hours=3,seconds=2). + #[serde(rename = "event_retention", skip_serializing_if = "Option::is_none")] + pub event_retention: Option, + /// The option configures the footer links on the flow executor pages. + #[serde( + rename = "footer_links", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub footer_links: Option>, + /// When enabled, all the events caused by a user will be deleted upon the user's deletion. + #[serde(rename = "gdpr_compliance", skip_serializing_if = "Option::is_none")] + pub gdpr_compliance: Option, + /// Globally enable/disable impersonation. + #[serde(rename = "impersonation", skip_serializing_if = "Option::is_none")] + pub impersonation: Option, + /// Default token duration + #[serde(rename = "default_token_duration", skip_serializing_if = "Option::is_none")] + pub default_token_duration: Option, + /// Default token length + #[serde(rename = "default_token_length", skip_serializing_if = "Option::is_none")] + pub default_token_length: Option, +} + +impl PatchedSettingsRequest { + /// Settings Serializer + pub fn new() -> PatchedSettingsRequest { + PatchedSettingsRequest { + avatars: None, + default_user_change_name: None, + default_user_change_email: None, + default_user_change_username: None, + event_retention: None, + footer_links: None, + gdpr_compliance: None, + impersonation: None, + default_token_duration: None, + default_token_length: None, + } + } +} diff --git a/src/models/patched_sms_device_request.rs b/src/models/patched_sms_device_request.rs new file mode 100644 index 0000000..f376f9c --- /dev/null +++ b/src/models/patched_sms_device_request.rs @@ -0,0 +1,27 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedSmsDeviceRequest : Serializer for sms authenticator devices +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedSmsDeviceRequest { + /// The human-readable name of this device. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, +} + +impl PatchedSmsDeviceRequest { + /// Serializer for sms authenticator devices + pub fn new() -> PatchedSmsDeviceRequest { + PatchedSmsDeviceRequest { name: None } + } +} diff --git a/src/models/patched_source_stage_request.rs b/src/models/patched_source_stage_request.rs new file mode 100644 index 0000000..26b5bfa --- /dev/null +++ b/src/models/patched_source_stage_request.rs @@ -0,0 +1,38 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedSourceStageRequest : SourceStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedSourceStageRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + #[serde(rename = "source", skip_serializing_if = "Option::is_none")] + pub source: Option, + /// Amount of time a user can take to return from the source to continue the flow (Format: hours=-1;minutes=-2;seconds=-3) + #[serde(rename = "resume_timeout", skip_serializing_if = "Option::is_none")] + pub resume_timeout: Option, +} + +impl PatchedSourceStageRequest { + /// SourceStage Serializer + pub fn new() -> PatchedSourceStageRequest { + PatchedSourceStageRequest { + name: None, + flow_set: None, + source: None, + resume_timeout: None, + } + } +} diff --git a/src/models/patched_static_device_request.rs b/src/models/patched_static_device_request.rs new file mode 100644 index 0000000..45c8102 --- /dev/null +++ b/src/models/patched_static_device_request.rs @@ -0,0 +1,27 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedStaticDeviceRequest : Serializer for static authenticator devices +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedStaticDeviceRequest { + /// The human-readable name of this device. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, +} + +impl PatchedStaticDeviceRequest { + /// Serializer for static authenticator devices + pub fn new() -> PatchedStaticDeviceRequest { + PatchedStaticDeviceRequest { name: None } + } +} diff --git a/src/models/patched_tenant_request.rs b/src/models/patched_tenant_request.rs new file mode 100644 index 0000000..549add3 --- /dev/null +++ b/src/models/patched_tenant_request.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedTenantRequest : Tenant Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedTenantRequest { + #[serde(rename = "schema_name", skip_serializing_if = "Option::is_none")] + pub schema_name: Option, + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "ready", skip_serializing_if = "Option::is_none")] + pub ready: Option, +} + +impl PatchedTenantRequest { + /// Tenant Serializer + pub fn new() -> PatchedTenantRequest { + PatchedTenantRequest { + schema_name: None, + name: None, + ready: None, + } + } +} diff --git a/src/models/patched_token_request.rs b/src/models/patched_token_request.rs new file mode 100644 index 0000000..40c7dee --- /dev/null +++ b/src/models/patched_token_request.rs @@ -0,0 +1,57 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedTokenRequest : Token Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedTokenRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "identifier", skip_serializing_if = "Option::is_none")] + pub identifier: Option, + #[serde(rename = "intent", skip_serializing_if = "Option::is_none")] + pub intent: Option, + #[serde(rename = "user", skip_serializing_if = "Option::is_none")] + pub user: Option, + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + #[serde( + rename = "expires", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub expires: Option>, + #[serde(rename = "expiring", skip_serializing_if = "Option::is_none")] + pub expiring: Option, +} + +impl PatchedTokenRequest { + /// Token Serializer + pub fn new() -> PatchedTokenRequest { + PatchedTokenRequest { + managed: None, + identifier: None, + intent: None, + user: None, + description: None, + expires: None, + expiring: None, + } + } +} diff --git a/src/models/patched_totp_device_request.rs b/src/models/patched_totp_device_request.rs new file mode 100644 index 0000000..933e43f --- /dev/null +++ b/src/models/patched_totp_device_request.rs @@ -0,0 +1,27 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedTotpDeviceRequest : Serializer for totp authenticator devices +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedTotpDeviceRequest { + /// The human-readable name of this device. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, +} + +impl PatchedTotpDeviceRequest { + /// Serializer for totp authenticator devices + pub fn new() -> PatchedTotpDeviceRequest { + PatchedTotpDeviceRequest { name: None } + } +} diff --git a/src/models/patched_user_delete_stage_request.rs b/src/models/patched_user_delete_stage_request.rs new file mode 100644 index 0000000..0a9263b --- /dev/null +++ b/src/models/patched_user_delete_stage_request.rs @@ -0,0 +1,31 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedUserDeleteStageRequest : UserDeleteStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedUserDeleteStageRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, +} + +impl PatchedUserDeleteStageRequest { + /// UserDeleteStage Serializer + pub fn new() -> PatchedUserDeleteStageRequest { + PatchedUserDeleteStageRequest { + name: None, + flow_set: None, + } + } +} diff --git a/src/models/patched_user_login_stage_request.rs b/src/models/patched_user_login_stage_request.rs new file mode 100644 index 0000000..bcdac2c --- /dev/null +++ b/src/models/patched_user_login_stage_request.rs @@ -0,0 +1,51 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedUserLoginStageRequest : UserLoginStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedUserLoginStageRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Determines how long a session lasts. Default of 0 means that the sessions lasts until the browser is closed. (Format: hours=-1;minutes=-2;seconds=-3) + #[serde(rename = "session_duration", skip_serializing_if = "Option::is_none")] + pub session_duration: Option, + /// Terminate all other sessions of the user logging in. + #[serde(rename = "terminate_other_sessions", skip_serializing_if = "Option::is_none")] + pub terminate_other_sessions: Option, + /// Offset the session will be extended by when the user picks the remember me option. Default of 0 means that the remember me option will not be shown. (Format: hours=-1;minutes=-2;seconds=-3) + #[serde(rename = "remember_me_offset", skip_serializing_if = "Option::is_none")] + pub remember_me_offset: Option, + /// Bind sessions created by this stage to the configured network + #[serde(rename = "network_binding", skip_serializing_if = "Option::is_none")] + pub network_binding: Option, + /// Bind sessions created by this stage to the configured GeoIP location + #[serde(rename = "geoip_binding", skip_serializing_if = "Option::is_none")] + pub geoip_binding: Option, +} + +impl PatchedUserLoginStageRequest { + /// UserLoginStage Serializer + pub fn new() -> PatchedUserLoginStageRequest { + PatchedUserLoginStageRequest { + name: None, + flow_set: None, + session_duration: None, + terminate_other_sessions: None, + remember_me_offset: None, + network_binding: None, + geoip_binding: None, + } + } +} diff --git a/src/models/patched_user_logout_stage_request.rs b/src/models/patched_user_logout_stage_request.rs new file mode 100644 index 0000000..86326a7 --- /dev/null +++ b/src/models/patched_user_logout_stage_request.rs @@ -0,0 +1,31 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedUserLogoutStageRequest : UserLogoutStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedUserLogoutStageRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, +} + +impl PatchedUserLogoutStageRequest { + /// UserLogoutStage Serializer + pub fn new() -> PatchedUserLogoutStageRequest { + PatchedUserLogoutStageRequest { + name: None, + flow_set: None, + } + } +} diff --git a/src/models/patched_user_o_auth_source_connection_request.rs b/src/models/patched_user_o_auth_source_connection_request.rs new file mode 100644 index 0000000..8a3e00c --- /dev/null +++ b/src/models/patched_user_o_auth_source_connection_request.rs @@ -0,0 +1,36 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedUserOAuthSourceConnectionRequest : OAuth Source Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedUserOAuthSourceConnectionRequest { + #[serde(rename = "identifier", skip_serializing_if = "Option::is_none")] + pub identifier: Option, + #[serde( + rename = "access_token", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub access_token: Option>, +} + +impl PatchedUserOAuthSourceConnectionRequest { + /// OAuth Source Serializer + pub fn new() -> PatchedUserOAuthSourceConnectionRequest { + PatchedUserOAuthSourceConnectionRequest { + identifier: None, + access_token: None, + } + } +} diff --git a/src/models/patched_user_plex_source_connection_request.rs b/src/models/patched_user_plex_source_connection_request.rs new file mode 100644 index 0000000..c255f51 --- /dev/null +++ b/src/models/patched_user_plex_source_connection_request.rs @@ -0,0 +1,31 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedUserPlexSourceConnectionRequest : Plex Source connection Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedUserPlexSourceConnectionRequest { + #[serde(rename = "identifier", skip_serializing_if = "Option::is_none")] + pub identifier: Option, + #[serde(rename = "plex_token", skip_serializing_if = "Option::is_none")] + pub plex_token: Option, +} + +impl PatchedUserPlexSourceConnectionRequest { + /// Plex Source connection Serializer + pub fn new() -> PatchedUserPlexSourceConnectionRequest { + PatchedUserPlexSourceConnectionRequest { + identifier: None, + plex_token: None, + } + } +} diff --git a/src/models/patched_user_request.rs b/src/models/patched_user_request.rs new file mode 100644 index 0000000..9662519 --- /dev/null +++ b/src/models/patched_user_request.rs @@ -0,0 +1,59 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedUserRequest : User Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedUserRequest { + #[serde(rename = "username", skip_serializing_if = "Option::is_none")] + pub username: Option, + /// User's display name. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Designates whether this user should be treated as active. Unselect this instead of deleting accounts. + #[serde(rename = "is_active", skip_serializing_if = "Option::is_none")] + pub is_active: Option, + #[serde( + rename = "last_login", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub last_login: Option>, + #[serde(rename = "groups", skip_serializing_if = "Option::is_none")] + pub groups: Option>, + #[serde(rename = "email", skip_serializing_if = "Option::is_none")] + pub email: Option, + #[serde(rename = "attributes", skip_serializing_if = "Option::is_none")] + pub attributes: Option>, + #[serde(rename = "path", skip_serializing_if = "Option::is_none")] + pub path: Option, + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] + pub r#type: Option, +} + +impl PatchedUserRequest { + /// User Serializer + pub fn new() -> PatchedUserRequest { + PatchedUserRequest { + username: None, + name: None, + is_active: None, + last_login: None, + groups: None, + email: None, + attributes: None, + path: None, + r#type: None, + } + } +} diff --git a/src/models/patched_user_saml_source_connection_request.rs b/src/models/patched_user_saml_source_connection_request.rs new file mode 100644 index 0000000..097b485 --- /dev/null +++ b/src/models/patched_user_saml_source_connection_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedUserSamlSourceConnectionRequest : SAML Source Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedUserSamlSourceConnectionRequest { + #[serde(rename = "identifier", skip_serializing_if = "Option::is_none")] + pub identifier: Option, +} + +impl PatchedUserSamlSourceConnectionRequest { + /// SAML Source Serializer + pub fn new() -> PatchedUserSamlSourceConnectionRequest { + PatchedUserSamlSourceConnectionRequest { identifier: None } + } +} diff --git a/src/models/patched_user_write_stage_request.rs b/src/models/patched_user_write_stage_request.rs new file mode 100644 index 0000000..74ba9a8 --- /dev/null +++ b/src/models/patched_user_write_stage_request.rs @@ -0,0 +1,53 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedUserWriteStageRequest : UserWriteStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedUserWriteStageRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + #[serde(rename = "user_creation_mode", skip_serializing_if = "Option::is_none")] + pub user_creation_mode: Option, + /// When set, newly created users are inactive and cannot login. + #[serde(rename = "create_users_as_inactive", skip_serializing_if = "Option::is_none")] + pub create_users_as_inactive: Option, + /// Optionally add newly created users to this group. + #[serde( + rename = "create_users_group", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub create_users_group: Option>, + #[serde(rename = "user_type", skip_serializing_if = "Option::is_none")] + pub user_type: Option, + #[serde(rename = "user_path_template", skip_serializing_if = "Option::is_none")] + pub user_path_template: Option, +} + +impl PatchedUserWriteStageRequest { + /// UserWriteStage Serializer + pub fn new() -> PatchedUserWriteStageRequest { + PatchedUserWriteStageRequest { + name: None, + flow_set: None, + user_creation_mode: None, + create_users_as_inactive: None, + create_users_group: None, + user_type: None, + user_path_template: None, + } + } +} diff --git a/src/models/patched_web_authn_device_request.rs b/src/models/patched_web_authn_device_request.rs new file mode 100644 index 0000000..fd3f9cd --- /dev/null +++ b/src/models/patched_web_authn_device_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PatchedWebAuthnDeviceRequest : Serializer for WebAuthn authenticator devices +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PatchedWebAuthnDeviceRequest { + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, +} + +impl PatchedWebAuthnDeviceRequest { + /// Serializer for WebAuthn authenticator devices + pub fn new() -> PatchedWebAuthnDeviceRequest { + PatchedWebAuthnDeviceRequest { name: None } + } +} diff --git a/src/models/permission.rs b/src/models/permission.rs new file mode 100644 index 0000000..46dee2f --- /dev/null +++ b/src/models/permission.rs @@ -0,0 +1,56 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Permission : Global permission +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Permission { + #[serde(rename = "id")] + pub id: i32, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "codename")] + pub codename: String, + #[serde(rename = "model")] + pub model: String, + #[serde(rename = "app_label")] + pub app_label: String, + /// Human-readable app label + #[serde(rename = "app_label_verbose")] + pub app_label_verbose: String, + /// Human-readable model name + #[serde(rename = "model_verbose")] + pub model_verbose: String, +} + +impl Permission { + /// Global permission + pub fn new( + id: i32, + name: String, + codename: String, + model: String, + app_label: String, + app_label_verbose: String, + model_verbose: String, + ) -> Permission { + Permission { + id, + name, + codename, + model, + app_label, + app_label_verbose, + model_verbose, + } + } +} diff --git a/src/models/permission_assign_request.rs b/src/models/permission_assign_request.rs new file mode 100644 index 0000000..8891103 --- /dev/null +++ b/src/models/permission_assign_request.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PermissionAssignRequest : Request to assign a new permission +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PermissionAssignRequest { + #[serde(rename = "permissions")] + pub permissions: Vec, + #[serde(rename = "model", skip_serializing_if = "Option::is_none")] + pub model: Option, + #[serde(rename = "object_pk", skip_serializing_if = "Option::is_none")] + pub object_pk: Option, +} + +impl PermissionAssignRequest { + /// Request to assign a new permission + pub fn new(permissions: Vec) -> PermissionAssignRequest { + PermissionAssignRequest { + permissions, + model: None, + object_pk: None, + } + } +} diff --git a/src/models/permission_assign_result.rs b/src/models/permission_assign_result.rs new file mode 100644 index 0000000..f1665f0 --- /dev/null +++ b/src/models/permission_assign_result.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PermissionAssignResult : Result from assigning permissions to a user/role +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PermissionAssignResult { + #[serde(rename = "id")] + pub id: String, +} + +impl PermissionAssignResult { + /// Result from assigning permissions to a user/role + pub fn new(id: String) -> PermissionAssignResult { + PermissionAssignResult { id } + } +} diff --git a/src/models/plex_authentication_challenge.rs b/src/models/plex_authentication_challenge.rs new file mode 100644 index 0000000..4fecb71 --- /dev/null +++ b/src/models/plex_authentication_challenge.rs @@ -0,0 +1,40 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PlexAuthenticationChallenge : Challenge shown to the user in identification stage +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PlexAuthenticationChallenge { + #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")] + pub flow_info: Option, + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")] + pub response_errors: Option>>, + #[serde(rename = "client_id")] + pub client_id: String, + #[serde(rename = "slug")] + pub slug: String, +} + +impl PlexAuthenticationChallenge { + /// Challenge shown to the user in identification stage + pub fn new(client_id: String, slug: String) -> PlexAuthenticationChallenge { + PlexAuthenticationChallenge { + flow_info: None, + component: None, + response_errors: None, + client_id, + slug, + } + } +} diff --git a/src/models/plex_authentication_challenge_response_request.rs b/src/models/plex_authentication_challenge_response_request.rs new file mode 100644 index 0000000..7f7ea70 --- /dev/null +++ b/src/models/plex_authentication_challenge_response_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PlexAuthenticationChallengeResponseRequest : Pseudo class for plex response +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PlexAuthenticationChallengeResponseRequest { + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, +} + +impl PlexAuthenticationChallengeResponseRequest { + /// Pseudo class for plex response + pub fn new() -> PlexAuthenticationChallengeResponseRequest { + PlexAuthenticationChallengeResponseRequest { component: None } + } +} diff --git a/src/models/plex_source.rs b/src/models/plex_source.rs new file mode 100644 index 0000000..78d3945 --- /dev/null +++ b/src/models/plex_source.rs @@ -0,0 +1,127 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PlexSource : Plex Source Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PlexSource { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + /// Source's display Name. + #[serde(rename = "name")] + pub name: String, + /// Internal source name, used in URLs. + #[serde(rename = "slug")] + pub slug: String, + #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")] + pub enabled: Option, + /// Flow to use when authenticating existing users. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow to use when enrolling new users. + #[serde( + rename = "enrollment_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub enrollment_flow: Option>, + #[serde(rename = "user_property_mappings", skip_serializing_if = "Option::is_none")] + pub user_property_mappings: Option>, + #[serde(rename = "group_property_mappings", skip_serializing_if = "Option::is_none")] + pub group_property_mappings: Option>, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + /// How the source determines if an existing user should be authenticated or a new user enrolled. + #[serde(rename = "user_matching_mode", skip_serializing_if = "Option::is_none")] + pub user_matching_mode: Option, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde(rename = "managed", deserialize_with = "Option::deserialize")] + pub managed: Option, + #[serde(rename = "user_path_template", skip_serializing_if = "Option::is_none")] + pub user_path_template: Option, + #[serde(rename = "icon")] + pub icon: String, + /// How the source determines if an existing group should be used or a new group created. + #[serde(rename = "group_matching_mode", skip_serializing_if = "Option::is_none")] + pub group_matching_mode: Option, + /// Client identifier used to talk to Plex. + #[serde(rename = "client_id", skip_serializing_if = "Option::is_none")] + pub client_id: Option, + /// Which servers a user has to be a member of to be granted access. Empty list allows every server. + #[serde(rename = "allowed_servers", skip_serializing_if = "Option::is_none")] + pub allowed_servers: Option>, + /// Allow friends to authenticate, even if you don't share a server. + #[serde(rename = "allow_friends", skip_serializing_if = "Option::is_none")] + pub allow_friends: Option, + /// Plex token used to check friends + #[serde(rename = "plex_token")] + pub plex_token: String, +} + +impl PlexSource { + /// Plex Source Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + slug: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + managed: Option, + icon: String, + plex_token: String, + ) -> PlexSource { + PlexSource { + pk, + name, + slug, + enabled: None, + authentication_flow: None, + enrollment_flow: None, + user_property_mappings: None, + group_property_mappings: None, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + policy_engine_mode: None, + user_matching_mode: None, + managed, + user_path_template: None, + icon, + group_matching_mode: None, + client_id: None, + allowed_servers: None, + allow_friends: None, + plex_token, + } + } +} diff --git a/src/models/plex_source_property_mapping.rs b/src/models/plex_source_property_mapping.rs new file mode 100644 index 0000000..89b5c63 --- /dev/null +++ b/src/models/plex_source_property_mapping.rs @@ -0,0 +1,67 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PlexSourcePropertyMapping : PlexSourcePropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PlexSourcePropertyMapping { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, + /// Get object's component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, +} + +impl PlexSourcePropertyMapping { + /// PlexSourcePropertyMapping Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + expression: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> PlexSourcePropertyMapping { + PlexSourcePropertyMapping { + pk, + managed: None, + name, + expression, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + } + } +} diff --git a/src/models/plex_source_property_mapping_request.rs b/src/models/plex_source_property_mapping_request.rs new file mode 100644 index 0000000..b398581 --- /dev/null +++ b/src/models/plex_source_property_mapping_request.rs @@ -0,0 +1,40 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PlexSourcePropertyMappingRequest : PlexSourcePropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PlexSourcePropertyMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, +} + +impl PlexSourcePropertyMappingRequest { + /// PlexSourcePropertyMapping Serializer + pub fn new(name: String, expression: String) -> PlexSourcePropertyMappingRequest { + PlexSourcePropertyMappingRequest { + managed: None, + name, + expression, + } + } +} diff --git a/src/models/plex_source_request.rs b/src/models/plex_source_request.rs new file mode 100644 index 0000000..62864e8 --- /dev/null +++ b/src/models/plex_source_request.rs @@ -0,0 +1,90 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PlexSourceRequest : Plex Source Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PlexSourceRequest { + /// Source's display Name. + #[serde(rename = "name")] + pub name: String, + /// Internal source name, used in URLs. + #[serde(rename = "slug")] + pub slug: String, + #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")] + pub enabled: Option, + /// Flow to use when authenticating existing users. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow to use when enrolling new users. + #[serde( + rename = "enrollment_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub enrollment_flow: Option>, + #[serde(rename = "user_property_mappings", skip_serializing_if = "Option::is_none")] + pub user_property_mappings: Option>, + #[serde(rename = "group_property_mappings", skip_serializing_if = "Option::is_none")] + pub group_property_mappings: Option>, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + /// How the source determines if an existing user should be authenticated or a new user enrolled. + #[serde(rename = "user_matching_mode", skip_serializing_if = "Option::is_none")] + pub user_matching_mode: Option, + #[serde(rename = "user_path_template", skip_serializing_if = "Option::is_none")] + pub user_path_template: Option, + /// How the source determines if an existing group should be used or a new group created. + #[serde(rename = "group_matching_mode", skip_serializing_if = "Option::is_none")] + pub group_matching_mode: Option, + /// Client identifier used to talk to Plex. + #[serde(rename = "client_id", skip_serializing_if = "Option::is_none")] + pub client_id: Option, + /// Which servers a user has to be a member of to be granted access. Empty list allows every server. + #[serde(rename = "allowed_servers", skip_serializing_if = "Option::is_none")] + pub allowed_servers: Option>, + /// Allow friends to authenticate, even if you don't share a server. + #[serde(rename = "allow_friends", skip_serializing_if = "Option::is_none")] + pub allow_friends: Option, + /// Plex token used to check friends + #[serde(rename = "plex_token")] + pub plex_token: String, +} + +impl PlexSourceRequest { + /// Plex Source Serializer + pub fn new(name: String, slug: String, plex_token: String) -> PlexSourceRequest { + PlexSourceRequest { + name, + slug, + enabled: None, + authentication_flow: None, + enrollment_flow: None, + user_property_mappings: None, + group_property_mappings: None, + policy_engine_mode: None, + user_matching_mode: None, + user_path_template: None, + group_matching_mode: None, + client_id: None, + allowed_servers: None, + allow_friends: None, + plex_token, + } + } +} diff --git a/src/models/plex_token_redeem_request.rs b/src/models/plex_token_redeem_request.rs new file mode 100644 index 0000000..d94a6e8 --- /dev/null +++ b/src/models/plex_token_redeem_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PlexTokenRedeemRequest : Serializer to redeem a plex token +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PlexTokenRedeemRequest { + #[serde(rename = "plex_token")] + pub plex_token: String, +} + +impl PlexTokenRedeemRequest { + /// Serializer to redeem a plex token + pub fn new(plex_token: String) -> PlexTokenRedeemRequest { + PlexTokenRedeemRequest { plex_token } + } +} diff --git a/src/models/policy.rs b/src/models/policy.rs new file mode 100644 index 0000000..4206dad --- /dev/null +++ b/src/models/policy.rs @@ -0,0 +1,63 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Policy : Policy Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Policy { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + #[serde(rename = "execution_logging", skip_serializing_if = "Option::is_none")] + pub execution_logging: Option, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + /// Return objects policy is bound to + #[serde(rename = "bound_to")] + pub bound_to: i32, +} + +impl Policy { + /// Policy Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + bound_to: i32, + ) -> Policy { + Policy { + pk, + name, + execution_logging: None, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + bound_to, + } + } +} diff --git a/src/models/policy_binding.rs b/src/models/policy_binding.rs new file mode 100644 index 0000000..9e9681f --- /dev/null +++ b/src/models/policy_binding.rs @@ -0,0 +1,89 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PolicyBinding : PolicyBinding Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PolicyBinding { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde( + rename = "policy", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub policy: Option>, + #[serde( + rename = "group", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub group: Option>, + #[serde( + rename = "user", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub user: Option>, + #[serde(rename = "policy_obj")] + pub policy_obj: models::Policy, + #[serde(rename = "group_obj")] + pub group_obj: models::Group, + #[serde(rename = "user_obj")] + pub user_obj: models::User, + #[serde(rename = "target")] + pub target: uuid::Uuid, + /// Negates the outcome of the policy. Messages are unaffected. + #[serde(rename = "negate", skip_serializing_if = "Option::is_none")] + pub negate: Option, + #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")] + pub enabled: Option, + #[serde(rename = "order")] + pub order: i32, + /// Timeout after which Policy execution is terminated. + #[serde(rename = "timeout", skip_serializing_if = "Option::is_none")] + pub timeout: Option, + /// Result if the Policy execution fails. + #[serde(rename = "failure_result", skip_serializing_if = "Option::is_none")] + pub failure_result: Option, +} + +impl PolicyBinding { + /// PolicyBinding Serializer + pub fn new( + pk: uuid::Uuid, + policy_obj: models::Policy, + group_obj: models::Group, + user_obj: models::User, + target: uuid::Uuid, + order: i32, + ) -> PolicyBinding { + PolicyBinding { + pk, + policy: None, + group: None, + user: None, + policy_obj, + group_obj, + user_obj, + target, + negate: None, + enabled: None, + order, + timeout: None, + failure_result: None, + } + } +} diff --git a/src/models/policy_binding_request.rs b/src/models/policy_binding_request.rs new file mode 100644 index 0000000..beb3096 --- /dev/null +++ b/src/models/policy_binding_request.rs @@ -0,0 +1,70 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PolicyBindingRequest : PolicyBinding Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PolicyBindingRequest { + #[serde( + rename = "policy", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub policy: Option>, + #[serde( + rename = "group", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub group: Option>, + #[serde( + rename = "user", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub user: Option>, + #[serde(rename = "target")] + pub target: uuid::Uuid, + /// Negates the outcome of the policy. Messages are unaffected. + #[serde(rename = "negate", skip_serializing_if = "Option::is_none")] + pub negate: Option, + #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")] + pub enabled: Option, + #[serde(rename = "order")] + pub order: i32, + /// Timeout after which Policy execution is terminated. + #[serde(rename = "timeout", skip_serializing_if = "Option::is_none")] + pub timeout: Option, + /// Result if the Policy execution fails. + #[serde(rename = "failure_result", skip_serializing_if = "Option::is_none")] + pub failure_result: Option, +} + +impl PolicyBindingRequest { + /// PolicyBinding Serializer + pub fn new(target: uuid::Uuid, order: i32) -> PolicyBindingRequest { + PolicyBindingRequest { + policy: None, + group: None, + user: None, + target, + negate: None, + enabled: None, + order, + timeout: None, + failure_result: None, + } + } +} diff --git a/src/models/policy_engine_mode.rs b/src/models/policy_engine_mode.rs new file mode 100644 index 0000000..d4005df --- /dev/null +++ b/src/models/policy_engine_mode.rs @@ -0,0 +1,36 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PolicyEngineMode { + #[serde(rename = "all")] + All, + #[serde(rename = "any")] + Any, +} + +impl std::fmt::Display for PolicyEngineMode { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::All => write!(f, "all"), + Self::Any => write!(f, "any"), + } + } +} + +impl Default for PolicyEngineMode { + fn default() -> PolicyEngineMode { + Self::All + } +} diff --git a/src/models/policy_request.rs b/src/models/policy_request.rs new file mode 100644 index 0000000..07df466 --- /dev/null +++ b/src/models/policy_request.rs @@ -0,0 +1,32 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PolicyRequest : Policy Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PolicyRequest { + #[serde(rename = "name")] + pub name: String, + /// When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + #[serde(rename = "execution_logging", skip_serializing_if = "Option::is_none")] + pub execution_logging: Option, +} + +impl PolicyRequest { + /// Policy Serializer + pub fn new(name: String) -> PolicyRequest { + PolicyRequest { + name, + execution_logging: None, + } + } +} diff --git a/src/models/policy_test_request.rs b/src/models/policy_test_request.rs new file mode 100644 index 0000000..9c15e25 --- /dev/null +++ b/src/models/policy_test_request.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PolicyTestRequest : Test policy execution for a user with context +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PolicyTestRequest { + #[serde(rename = "user")] + pub user: i32, + #[serde(rename = "context", skip_serializing_if = "Option::is_none")] + pub context: Option>, +} + +impl PolicyTestRequest { + /// Test policy execution for a user with context + pub fn new(user: i32) -> PolicyTestRequest { + PolicyTestRequest { user, context: None } + } +} diff --git a/src/models/policy_test_result.rs b/src/models/policy_test_result.rs new file mode 100644 index 0000000..c125cc5 --- /dev/null +++ b/src/models/policy_test_result.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PolicyTestResult : result of a policy test +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PolicyTestResult { + #[serde(rename = "passing")] + pub passing: bool, + #[serde(rename = "messages")] + pub messages: Vec, + #[serde(rename = "log_messages")] + pub log_messages: Vec, +} + +impl PolicyTestResult { + /// result of a policy test + pub fn new(passing: bool, messages: Vec, log_messages: Vec) -> PolicyTestResult { + PolicyTestResult { + passing, + messages, + log_messages, + } + } +} diff --git a/src/models/prompt.rs b/src/models/prompt.rs new file mode 100644 index 0000000..556e4bd --- /dev/null +++ b/src/models/prompt.rs @@ -0,0 +1,73 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Prompt : Prompt Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Prompt { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Name of the form field, also used to store the value + #[serde(rename = "field_key")] + pub field_key: String, + #[serde(rename = "label")] + pub label: String, + #[serde(rename = "type")] + pub r#type: models::PromptTypeEnum, + #[serde(rename = "required", skip_serializing_if = "Option::is_none")] + pub required: Option, + /// Optionally provide a short hint that describes the expected input value. When creating a fixed choice field, enable interpreting as expression and return a list to return multiple choices. + #[serde(rename = "placeholder", skip_serializing_if = "Option::is_none")] + pub placeholder: Option, + /// Optionally pre-fill the input with an initial value. When creating a fixed choice field, enable interpreting as expression and return a list to return multiple default choices. + #[serde(rename = "initial_value", skip_serializing_if = "Option::is_none")] + pub initial_value: Option, + #[serde(rename = "order", skip_serializing_if = "Option::is_none")] + pub order: Option, + #[serde(rename = "promptstage_set", skip_serializing_if = "Option::is_none")] + pub promptstage_set: Option>, + #[serde(rename = "sub_text", skip_serializing_if = "Option::is_none")] + pub sub_text: Option, + #[serde(rename = "placeholder_expression", skip_serializing_if = "Option::is_none")] + pub placeholder_expression: Option, + #[serde(rename = "initial_value_expression", skip_serializing_if = "Option::is_none")] + pub initial_value_expression: Option, +} + +impl Prompt { + /// Prompt Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + field_key: String, + label: String, + r#type: models::PromptTypeEnum, + ) -> Prompt { + Prompt { + pk, + name, + field_key, + label, + r#type, + required: None, + placeholder: None, + initial_value: None, + order: None, + promptstage_set: None, + sub_text: None, + placeholder_expression: None, + initial_value_expression: None, + } + } +} diff --git a/src/models/prompt_challenge.rs b/src/models/prompt_challenge.rs new file mode 100644 index 0000000..0dc1259 --- /dev/null +++ b/src/models/prompt_challenge.rs @@ -0,0 +1,37 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PromptChallenge : Initial challenge being sent, define fields +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PromptChallenge { + #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")] + pub flow_info: Option, + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")] + pub response_errors: Option>>, + #[serde(rename = "fields")] + pub fields: Vec, +} + +impl PromptChallenge { + /// Initial challenge being sent, define fields + pub fn new(fields: Vec) -> PromptChallenge { + PromptChallenge { + flow_info: None, + component: None, + response_errors: None, + fields, + } + } +} diff --git a/src/models/prompt_challenge_response_request.rs b/src/models/prompt_challenge_response_request.rs new file mode 100644 index 0000000..cc9b144 --- /dev/null +++ b/src/models/prompt_challenge_response_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PromptChallengeResponseRequest : Validate response, fields are dynamically created based on the stage +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PromptChallengeResponseRequest { + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, +} + +impl PromptChallengeResponseRequest { + /// Validate response, fields are dynamically created based on the stage + pub fn new() -> PromptChallengeResponseRequest { + PromptChallengeResponseRequest { component: None } + } +} diff --git a/src/models/prompt_request.rs b/src/models/prompt_request.rs new file mode 100644 index 0000000..25fef27 --- /dev/null +++ b/src/models/prompt_request.rs @@ -0,0 +1,64 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PromptRequest : Prompt Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PromptRequest { + #[serde(rename = "name")] + pub name: String, + /// Name of the form field, also used to store the value + #[serde(rename = "field_key")] + pub field_key: String, + #[serde(rename = "label")] + pub label: String, + #[serde(rename = "type")] + pub r#type: models::PromptTypeEnum, + #[serde(rename = "required", skip_serializing_if = "Option::is_none")] + pub required: Option, + /// Optionally provide a short hint that describes the expected input value. When creating a fixed choice field, enable interpreting as expression and return a list to return multiple choices. + #[serde(rename = "placeholder", skip_serializing_if = "Option::is_none")] + pub placeholder: Option, + /// Optionally pre-fill the input with an initial value. When creating a fixed choice field, enable interpreting as expression and return a list to return multiple default choices. + #[serde(rename = "initial_value", skip_serializing_if = "Option::is_none")] + pub initial_value: Option, + #[serde(rename = "order", skip_serializing_if = "Option::is_none")] + pub order: Option, + #[serde(rename = "promptstage_set", skip_serializing_if = "Option::is_none")] + pub promptstage_set: Option>, + #[serde(rename = "sub_text", skip_serializing_if = "Option::is_none")] + pub sub_text: Option, + #[serde(rename = "placeholder_expression", skip_serializing_if = "Option::is_none")] + pub placeholder_expression: Option, + #[serde(rename = "initial_value_expression", skip_serializing_if = "Option::is_none")] + pub initial_value_expression: Option, +} + +impl PromptRequest { + /// Prompt Serializer + pub fn new(name: String, field_key: String, label: String, r#type: models::PromptTypeEnum) -> PromptRequest { + PromptRequest { + name, + field_key, + label, + r#type, + required: None, + placeholder: None, + initial_value: None, + order: None, + promptstage_set: None, + sub_text: None, + placeholder_expression: None, + initial_value_expression: None, + } + } +} diff --git a/src/models/prompt_stage.rs b/src/models/prompt_stage.rs new file mode 100644 index 0000000..7a2027a --- /dev/null +++ b/src/models/prompt_stage.rs @@ -0,0 +1,64 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PromptStage : PromptStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PromptStage { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Get object type so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + #[serde(rename = "fields")] + pub fields: Vec, + #[serde(rename = "validation_policies", skip_serializing_if = "Option::is_none")] + pub validation_policies: Option>, +} + +impl PromptStage { + /// PromptStage Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + fields: Vec, + ) -> PromptStage { + PromptStage { + pk, + name, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + flow_set: None, + fields, + validation_policies: None, + } + } +} diff --git a/src/models/prompt_stage_request.rs b/src/models/prompt_stage_request.rs new file mode 100644 index 0000000..a74cc1d --- /dev/null +++ b/src/models/prompt_stage_request.rs @@ -0,0 +1,37 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PromptStageRequest : PromptStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PromptStageRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + #[serde(rename = "fields")] + pub fields: Vec, + #[serde(rename = "validation_policies", skip_serializing_if = "Option::is_none")] + pub validation_policies: Option>, +} + +impl PromptStageRequest { + /// PromptStage Serializer + pub fn new(name: String, fields: Vec) -> PromptStageRequest { + PromptStageRequest { + name, + flow_set: None, + fields, + validation_policies: None, + } + } +} diff --git a/src/models/prompt_type_enum.rs b/src/models/prompt_type_enum.rs new file mode 100644 index 0000000..be6ec0e --- /dev/null +++ b/src/models/prompt_type_enum.rs @@ -0,0 +1,84 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PromptTypeEnum { + #[serde(rename = "text")] + Text, + #[serde(rename = "text_area")] + TextArea, + #[serde(rename = "text_read_only")] + TextReadOnly, + #[serde(rename = "text_area_read_only")] + TextAreaReadOnly, + #[serde(rename = "username")] + Username, + #[serde(rename = "email")] + Email, + #[serde(rename = "password")] + Password, + #[serde(rename = "number")] + Number, + #[serde(rename = "checkbox")] + Checkbox, + #[serde(rename = "radio-button-group")] + RadioButtonGroup, + #[serde(rename = "dropdown")] + Dropdown, + #[serde(rename = "date")] + Date, + #[serde(rename = "date-time")] + DateTime, + #[serde(rename = "file")] + File, + #[serde(rename = "separator")] + Separator, + #[serde(rename = "hidden")] + Hidden, + #[serde(rename = "static")] + Static, + #[serde(rename = "ak-locale")] + AkLocale, +} + +impl std::fmt::Display for PromptTypeEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Text => write!(f, "text"), + Self::TextArea => write!(f, "text_area"), + Self::TextReadOnly => write!(f, "text_read_only"), + Self::TextAreaReadOnly => write!(f, "text_area_read_only"), + Self::Username => write!(f, "username"), + Self::Email => write!(f, "email"), + Self::Password => write!(f, "password"), + Self::Number => write!(f, "number"), + Self::Checkbox => write!(f, "checkbox"), + Self::RadioButtonGroup => write!(f, "radio-button-group"), + Self::Dropdown => write!(f, "dropdown"), + Self::Date => write!(f, "date"), + Self::DateTime => write!(f, "date-time"), + Self::File => write!(f, "file"), + Self::Separator => write!(f, "separator"), + Self::Hidden => write!(f, "hidden"), + Self::Static => write!(f, "static"), + Self::AkLocale => write!(f, "ak-locale"), + } + } +} + +impl Default for PromptTypeEnum { + fn default() -> PromptTypeEnum { + Self::Text + } +} diff --git a/src/models/property_mapping.rs b/src/models/property_mapping.rs new file mode 100644 index 0000000..80cee39 --- /dev/null +++ b/src/models/property_mapping.rs @@ -0,0 +1,67 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PropertyMapping : PropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PropertyMapping { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, + /// Get object's component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, +} + +impl PropertyMapping { + /// PropertyMapping Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + expression: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> PropertyMapping { + PropertyMapping { + pk, + managed: None, + name, + expression, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + } + } +} diff --git a/src/models/property_mapping_preview.rs b/src/models/property_mapping_preview.rs new file mode 100644 index 0000000..20f28a4 --- /dev/null +++ b/src/models/property_mapping_preview.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PropertyMappingPreview : Preview how the current user is mapped via the property mappings selected in a provider +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PropertyMappingPreview { + #[serde(rename = "preview")] + pub preview: std::collections::HashMap, +} + +impl PropertyMappingPreview { + /// Preview how the current user is mapped via the property mappings selected in a provider + pub fn new(preview: std::collections::HashMap) -> PropertyMappingPreview { + PropertyMappingPreview { preview } + } +} diff --git a/src/models/property_mapping_test_request.rs b/src/models/property_mapping_test_request.rs new file mode 100644 index 0000000..7fa6525 --- /dev/null +++ b/src/models/property_mapping_test_request.rs @@ -0,0 +1,44 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PropertyMappingTestRequest : Test property mapping execution for a user/group with context +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PropertyMappingTestRequest { + #[serde( + rename = "user", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub user: Option>, + #[serde(rename = "context", skip_serializing_if = "Option::is_none")] + pub context: Option>, + #[serde( + rename = "group", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub group: Option>, +} + +impl PropertyMappingTestRequest { + /// Test property mapping execution for a user/group with context + pub fn new() -> PropertyMappingTestRequest { + PropertyMappingTestRequest { + user: None, + context: None, + group: None, + } + } +} diff --git a/src/models/property_mapping_test_result.rs b/src/models/property_mapping_test_result.rs new file mode 100644 index 0000000..c50171e --- /dev/null +++ b/src/models/property_mapping_test_result.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PropertyMappingTestResult : Result of a Property-mapping test +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PropertyMappingTestResult { + #[serde(rename = "result")] + pub result: String, + #[serde(rename = "successful")] + pub successful: bool, +} + +impl PropertyMappingTestResult { + /// Result of a Property-mapping test + pub fn new(result: String, successful: bool) -> PropertyMappingTestResult { + PropertyMappingTestResult { result, successful } + } +} diff --git a/src/models/protocol_enum.rs b/src/models/protocol_enum.rs new file mode 100644 index 0000000..abd298e --- /dev/null +++ b/src/models/protocol_enum.rs @@ -0,0 +1,39 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum ProtocolEnum { + #[serde(rename = "rdp")] + Rdp, + #[serde(rename = "vnc")] + Vnc, + #[serde(rename = "ssh")] + Ssh, +} + +impl std::fmt::Display for ProtocolEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Rdp => write!(f, "rdp"), + Self::Vnc => write!(f, "vnc"), + Self::Ssh => write!(f, "ssh"), + } + } +} + +impl Default for ProtocolEnum { + fn default() -> ProtocolEnum { + Self::Rdp + } +} diff --git a/src/models/provider.rs b/src/models/provider.rs new file mode 100644 index 0000000..718fd13 --- /dev/null +++ b/src/models/provider.rs @@ -0,0 +1,91 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Provider : Provider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Provider { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "name")] + pub name: String, + /// Flow used for authentication when the associated application is accessed by an un-authenticated user. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow used when authorizing this provider. + #[serde(rename = "authorization_flow")] + pub authorization_flow: uuid::Uuid, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Internal application name, used in URLs. + #[serde(rename = "assigned_application_slug")] + pub assigned_application_slug: String, + /// Application's display Name. + #[serde(rename = "assigned_application_name")] + pub assigned_application_name: String, + /// Internal application name, used in URLs. + #[serde(rename = "assigned_backchannel_application_slug")] + pub assigned_backchannel_application_slug: String, + /// Application's display Name. + #[serde(rename = "assigned_backchannel_application_name")] + pub assigned_backchannel_application_name: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, +} + +impl Provider { + /// Provider Serializer + pub fn new( + pk: i32, + name: String, + authorization_flow: uuid::Uuid, + component: String, + assigned_application_slug: String, + assigned_application_name: String, + assigned_backchannel_application_slug: String, + assigned_backchannel_application_name: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> Provider { + Provider { + pk, + name, + authentication_flow: None, + authorization_flow, + property_mappings: None, + component, + assigned_application_slug, + assigned_application_name, + assigned_backchannel_application_slug, + assigned_backchannel_application_name, + verbose_name, + verbose_name_plural, + meta_model_name, + } + } +} diff --git a/src/models/provider_enum.rs b/src/models/provider_enum.rs new file mode 100644 index 0000000..be03eff --- /dev/null +++ b/src/models/provider_enum.rs @@ -0,0 +1,36 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum ProviderEnum { + #[serde(rename = "twilio")] + Twilio, + #[serde(rename = "generic")] + Generic, +} + +impl std::fmt::Display for ProviderEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Twilio => write!(f, "twilio"), + Self::Generic => write!(f, "generic"), + } + } +} + +impl Default for ProviderEnum { + fn default() -> ProviderEnum { + Self::Twilio + } +} diff --git a/src/models/provider_model_enum.rs b/src/models/provider_model_enum.rs new file mode 100644 index 0000000..66b8f1c --- /dev/null +++ b/src/models/provider_model_enum.rs @@ -0,0 +1,61 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum ProviderModelEnum { + #[serde(rename = "authentik_providers_google_workspace.googleworkspaceprovider")] + GoogleWorkspacePeriodGoogleworkspaceprovider, + #[serde(rename = "authentik_providers_ldap.ldapprovider")] + LdapPeriodLdapprovider, + #[serde(rename = "authentik_providers_microsoft_entra.microsoftentraprovider")] + MicrosoftEntraPeriodMicrosoftentraprovider, + #[serde(rename = "authentik_providers_oauth2.oauth2provider")] + Oauth2PeriodOauth2provider, + #[serde(rename = "authentik_providers_proxy.proxyprovider")] + ProxyPeriodProxyprovider, + #[serde(rename = "authentik_providers_rac.racprovider")] + RacPeriodRacprovider, + #[serde(rename = "authentik_providers_radius.radiusprovider")] + RadiusPeriodRadiusprovider, + #[serde(rename = "authentik_providers_saml.samlprovider")] + SamlPeriodSamlprovider, + #[serde(rename = "authentik_providers_scim.scimprovider")] + ScimPeriodScimprovider, +} + +impl std::fmt::Display for ProviderModelEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::GoogleWorkspacePeriodGoogleworkspaceprovider => { + write!(f, "authentik_providers_google_workspace.googleworkspaceprovider") + } + Self::LdapPeriodLdapprovider => write!(f, "authentik_providers_ldap.ldapprovider"), + Self::MicrosoftEntraPeriodMicrosoftentraprovider => { + write!(f, "authentik_providers_microsoft_entra.microsoftentraprovider") + } + Self::Oauth2PeriodOauth2provider => write!(f, "authentik_providers_oauth2.oauth2provider"), + Self::ProxyPeriodProxyprovider => write!(f, "authentik_providers_proxy.proxyprovider"), + Self::RacPeriodRacprovider => write!(f, "authentik_providers_rac.racprovider"), + Self::RadiusPeriodRadiusprovider => write!(f, "authentik_providers_radius.radiusprovider"), + Self::SamlPeriodSamlprovider => write!(f, "authentik_providers_saml.samlprovider"), + Self::ScimPeriodScimprovider => write!(f, "authentik_providers_scim.scimprovider"), + } + } +} + +impl Default for ProviderModelEnum { + fn default() -> ProviderModelEnum { + Self::GoogleWorkspacePeriodGoogleworkspaceprovider + } +} diff --git a/src/models/provider_request.rs b/src/models/provider_request.rs new file mode 100644 index 0000000..bb3738c --- /dev/null +++ b/src/models/provider_request.rs @@ -0,0 +1,44 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ProviderRequest : Provider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ProviderRequest { + #[serde(rename = "name")] + pub name: String, + /// Flow used for authentication when the associated application is accessed by an un-authenticated user. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow used when authorizing this provider. + #[serde(rename = "authorization_flow")] + pub authorization_flow: uuid::Uuid, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, +} + +impl ProviderRequest { + /// Provider Serializer + pub fn new(name: String, authorization_flow: uuid::Uuid) -> ProviderRequest { + ProviderRequest { + name, + authentication_flow: None, + authorization_flow, + property_mappings: None, + } + } +} diff --git a/src/models/provider_type_enum.rs b/src/models/provider_type_enum.rs new file mode 100644 index 0000000..aed5b2f --- /dev/null +++ b/src/models/provider_type_enum.rs @@ -0,0 +1,72 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum ProviderTypeEnum { + #[serde(rename = "apple")] + Apple, + #[serde(rename = "openidconnect")] + Openidconnect, + #[serde(rename = "azuread")] + Azuread, + #[serde(rename = "discord")] + Discord, + #[serde(rename = "facebook")] + Facebook, + #[serde(rename = "github")] + Github, + #[serde(rename = "gitlab")] + Gitlab, + #[serde(rename = "google")] + Google, + #[serde(rename = "mailcow")] + Mailcow, + #[serde(rename = "okta")] + Okta, + #[serde(rename = "patreon")] + Patreon, + #[serde(rename = "reddit")] + Reddit, + #[serde(rename = "twitch")] + Twitch, + #[serde(rename = "twitter")] + Twitter, +} + +impl std::fmt::Display for ProviderTypeEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Apple => write!(f, "apple"), + Self::Openidconnect => write!(f, "openidconnect"), + Self::Azuread => write!(f, "azuread"), + Self::Discord => write!(f, "discord"), + Self::Facebook => write!(f, "facebook"), + Self::Github => write!(f, "github"), + Self::Gitlab => write!(f, "gitlab"), + Self::Google => write!(f, "google"), + Self::Mailcow => write!(f, "mailcow"), + Self::Okta => write!(f, "okta"), + Self::Patreon => write!(f, "patreon"), + Self::Reddit => write!(f, "reddit"), + Self::Twitch => write!(f, "twitch"), + Self::Twitter => write!(f, "twitter"), + } + } +} + +impl Default for ProviderTypeEnum { + fn default() -> ProviderTypeEnum { + Self::Apple + } +} diff --git a/src/models/proxy_mode.rs b/src/models/proxy_mode.rs new file mode 100644 index 0000000..6c9f6aa --- /dev/null +++ b/src/models/proxy_mode.rs @@ -0,0 +1,39 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum ProxyMode { + #[serde(rename = "proxy")] + Proxy, + #[serde(rename = "forward_single")] + ForwardSingle, + #[serde(rename = "forward_domain")] + ForwardDomain, +} + +impl std::fmt::Display for ProxyMode { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Proxy => write!(f, "proxy"), + Self::ForwardSingle => write!(f, "forward_single"), + Self::ForwardDomain => write!(f, "forward_domain"), + } + } +} + +impl Default for ProxyMode { + fn default() -> ProxyMode { + Self::Proxy + } +} diff --git a/src/models/proxy_outpost_config.rs b/src/models/proxy_outpost_config.rs new file mode 100644 index 0000000..f36de85 --- /dev/null +++ b/src/models/proxy_outpost_config.rs @@ -0,0 +1,113 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ProxyOutpostConfig : Proxy provider serializer for outposts +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ProxyOutpostConfig { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "internal_host", skip_serializing_if = "Option::is_none")] + pub internal_host: Option, + #[serde(rename = "external_host")] + pub external_host: String, + /// Validate SSL Certificates of upstream servers + #[serde(rename = "internal_host_ssl_validation", skip_serializing_if = "Option::is_none")] + pub internal_host_ssl_validation: Option, + #[serde(rename = "client_id", skip_serializing_if = "Option::is_none")] + pub client_id: Option, + #[serde(rename = "client_secret", skip_serializing_if = "Option::is_none")] + pub client_secret: Option, + #[serde(rename = "oidc_configuration")] + pub oidc_configuration: models::OpenIdConnectConfiguration, + #[serde(rename = "cookie_secret", skip_serializing_if = "Option::is_none")] + pub cookie_secret: Option, + #[serde( + rename = "certificate", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub certificate: Option>, + /// Regular expressions for which authentication is not required. Each new line is interpreted as a new Regular Expression. + #[serde(rename = "skip_path_regex", skip_serializing_if = "Option::is_none")] + pub skip_path_regex: Option, + /// Set a custom HTTP-Basic Authentication header based on values from authentik. + #[serde(rename = "basic_auth_enabled", skip_serializing_if = "Option::is_none")] + pub basic_auth_enabled: Option, + /// User/Group Attribute used for the password part of the HTTP-Basic Header. + #[serde(rename = "basic_auth_password_attribute", skip_serializing_if = "Option::is_none")] + pub basic_auth_password_attribute: Option, + /// User/Group Attribute used for the user part of the HTTP-Basic Header. If not set, the user's Email address is used. + #[serde(rename = "basic_auth_user_attribute", skip_serializing_if = "Option::is_none")] + pub basic_auth_user_attribute: Option, + /// Enable support for forwardAuth in traefik and nginx auth_request. Exclusive with internal_host. + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + #[serde(rename = "cookie_domain", skip_serializing_if = "Option::is_none")] + pub cookie_domain: Option, + /// Get token validity as second count + #[serde(rename = "access_token_validity", deserialize_with = "Option::deserialize")] + pub access_token_validity: Option, + /// When enabled, this provider will intercept the authorization header and authenticate requests based on its value. + #[serde(rename = "intercept_header_auth", skip_serializing_if = "Option::is_none")] + pub intercept_header_auth: Option, + /// Get all the scope names the outpost should request, including custom-defined ones + #[serde(rename = "scopes_to_request")] + pub scopes_to_request: Vec, + /// Internal application name, used in URLs. + #[serde(rename = "assigned_application_slug")] + pub assigned_application_slug: String, + /// Application's display Name. + #[serde(rename = "assigned_application_name")] + pub assigned_application_name: String, +} + +impl ProxyOutpostConfig { + /// Proxy provider serializer for outposts + pub fn new( + pk: i32, + name: String, + external_host: String, + oidc_configuration: models::OpenIdConnectConfiguration, + access_token_validity: Option, + scopes_to_request: Vec, + assigned_application_slug: String, + assigned_application_name: String, + ) -> ProxyOutpostConfig { + ProxyOutpostConfig { + pk, + name, + internal_host: None, + external_host, + internal_host_ssl_validation: None, + client_id: None, + client_secret: None, + oidc_configuration, + cookie_secret: None, + certificate: None, + skip_path_regex: None, + basic_auth_enabled: None, + basic_auth_password_attribute: None, + basic_auth_user_attribute: None, + mode: None, + cookie_domain: None, + access_token_validity, + intercept_header_auth: None, + scopes_to_request, + assigned_application_slug, + assigned_application_name, + } + } +} diff --git a/src/models/proxy_provider.rs b/src/models/proxy_provider.rs new file mode 100644 index 0000000..b0c4f9f --- /dev/null +++ b/src/models/proxy_provider.rs @@ -0,0 +1,160 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ProxyProvider : ProxyProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ProxyProvider { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "name")] + pub name: String, + /// Flow used for authentication when the associated application is accessed by an un-authenticated user. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow used when authorizing this provider. + #[serde(rename = "authorization_flow")] + pub authorization_flow: uuid::Uuid, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Internal application name, used in URLs. + #[serde(rename = "assigned_application_slug")] + pub assigned_application_slug: String, + /// Application's display Name. + #[serde(rename = "assigned_application_name")] + pub assigned_application_name: String, + /// Internal application name, used in URLs. + #[serde(rename = "assigned_backchannel_application_slug")] + pub assigned_backchannel_application_slug: String, + /// Application's display Name. + #[serde(rename = "assigned_backchannel_application_name")] + pub assigned_backchannel_application_name: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "client_id")] + pub client_id: String, + #[serde(rename = "internal_host", skip_serializing_if = "Option::is_none")] + pub internal_host: Option, + #[serde(rename = "external_host")] + pub external_host: String, + /// Validate SSL Certificates of upstream servers + #[serde(rename = "internal_host_ssl_validation", skip_serializing_if = "Option::is_none")] + pub internal_host_ssl_validation: Option, + #[serde( + rename = "certificate", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub certificate: Option>, + /// Regular expressions for which authentication is not required. Each new line is interpreted as a new Regular Expression. + #[serde(rename = "skip_path_regex", skip_serializing_if = "Option::is_none")] + pub skip_path_regex: Option, + /// Set a custom HTTP-Basic Authentication header based on values from authentik. + #[serde(rename = "basic_auth_enabled", skip_serializing_if = "Option::is_none")] + pub basic_auth_enabled: Option, + /// User/Group Attribute used for the password part of the HTTP-Basic Header. + #[serde(rename = "basic_auth_password_attribute", skip_serializing_if = "Option::is_none")] + pub basic_auth_password_attribute: Option, + /// User/Group Attribute used for the user part of the HTTP-Basic Header. If not set, the user's Email address is used. + #[serde(rename = "basic_auth_user_attribute", skip_serializing_if = "Option::is_none")] + pub basic_auth_user_attribute: Option, + /// Enable support for forwardAuth in traefik and nginx auth_request. Exclusive with internal_host. + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// When enabled, this provider will intercept the authorization header and authenticate requests based on its value. + #[serde(rename = "intercept_header_auth", skip_serializing_if = "Option::is_none")] + pub intercept_header_auth: Option, + #[serde(rename = "redirect_uris")] + pub redirect_uris: String, + #[serde(rename = "cookie_domain", skip_serializing_if = "Option::is_none")] + pub cookie_domain: Option, + #[serde(rename = "jwks_sources", skip_serializing_if = "Option::is_none")] + pub jwks_sources: Option>, + /// Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "access_token_validity", skip_serializing_if = "Option::is_none")] + pub access_token_validity: Option, + /// Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "refresh_token_validity", skip_serializing_if = "Option::is_none")] + pub refresh_token_validity: Option, + #[serde(rename = "outpost_set")] + pub outpost_set: Vec, +} + +impl ProxyProvider { + /// ProxyProvider Serializer + pub fn new( + pk: i32, + name: String, + authorization_flow: uuid::Uuid, + component: String, + assigned_application_slug: String, + assigned_application_name: String, + assigned_backchannel_application_slug: String, + assigned_backchannel_application_name: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + client_id: String, + external_host: String, + redirect_uris: String, + outpost_set: Vec, + ) -> ProxyProvider { + ProxyProvider { + pk, + name, + authentication_flow: None, + authorization_flow, + property_mappings: None, + component, + assigned_application_slug, + assigned_application_name, + assigned_backchannel_application_slug, + assigned_backchannel_application_name, + verbose_name, + verbose_name_plural, + meta_model_name, + client_id, + internal_host: None, + external_host, + internal_host_ssl_validation: None, + certificate: None, + skip_path_regex: None, + basic_auth_enabled: None, + basic_auth_password_attribute: None, + basic_auth_user_attribute: None, + mode: None, + intercept_header_auth: None, + redirect_uris, + cookie_domain: None, + jwks_sources: None, + access_token_validity: None, + refresh_token_validity: None, + outpost_set, + } + } +} diff --git a/src/models/proxy_provider_request.rs b/src/models/proxy_provider_request.rs new file mode 100644 index 0000000..2f37ca8 --- /dev/null +++ b/src/models/proxy_provider_request.rs @@ -0,0 +1,100 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ProxyProviderRequest : ProxyProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ProxyProviderRequest { + #[serde(rename = "name")] + pub name: String, + /// Flow used for authentication when the associated application is accessed by an un-authenticated user. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow used when authorizing this provider. + #[serde(rename = "authorization_flow")] + pub authorization_flow: uuid::Uuid, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + #[serde(rename = "internal_host", skip_serializing_if = "Option::is_none")] + pub internal_host: Option, + #[serde(rename = "external_host")] + pub external_host: String, + /// Validate SSL Certificates of upstream servers + #[serde(rename = "internal_host_ssl_validation", skip_serializing_if = "Option::is_none")] + pub internal_host_ssl_validation: Option, + #[serde( + rename = "certificate", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub certificate: Option>, + /// Regular expressions for which authentication is not required. Each new line is interpreted as a new Regular Expression. + #[serde(rename = "skip_path_regex", skip_serializing_if = "Option::is_none")] + pub skip_path_regex: Option, + /// Set a custom HTTP-Basic Authentication header based on values from authentik. + #[serde(rename = "basic_auth_enabled", skip_serializing_if = "Option::is_none")] + pub basic_auth_enabled: Option, + /// User/Group Attribute used for the password part of the HTTP-Basic Header. + #[serde(rename = "basic_auth_password_attribute", skip_serializing_if = "Option::is_none")] + pub basic_auth_password_attribute: Option, + /// User/Group Attribute used for the user part of the HTTP-Basic Header. If not set, the user's Email address is used. + #[serde(rename = "basic_auth_user_attribute", skip_serializing_if = "Option::is_none")] + pub basic_auth_user_attribute: Option, + /// Enable support for forwardAuth in traefik and nginx auth_request. Exclusive with internal_host. + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// When enabled, this provider will intercept the authorization header and authenticate requests based on its value. + #[serde(rename = "intercept_header_auth", skip_serializing_if = "Option::is_none")] + pub intercept_header_auth: Option, + #[serde(rename = "cookie_domain", skip_serializing_if = "Option::is_none")] + pub cookie_domain: Option, + #[serde(rename = "jwks_sources", skip_serializing_if = "Option::is_none")] + pub jwks_sources: Option>, + /// Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "access_token_validity", skip_serializing_if = "Option::is_none")] + pub access_token_validity: Option, + /// Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "refresh_token_validity", skip_serializing_if = "Option::is_none")] + pub refresh_token_validity: Option, +} + +impl ProxyProviderRequest { + /// ProxyProvider Serializer + pub fn new(name: String, authorization_flow: uuid::Uuid, external_host: String) -> ProxyProviderRequest { + ProxyProviderRequest { + name, + authentication_flow: None, + authorization_flow, + property_mappings: None, + internal_host: None, + external_host, + internal_host_ssl_validation: None, + certificate: None, + skip_path_regex: None, + basic_auth_enabled: None, + basic_auth_password_attribute: None, + basic_auth_user_attribute: None, + mode: None, + intercept_header_auth: None, + cookie_domain: None, + jwks_sources: None, + access_token_validity: None, + refresh_token_validity: None, + } + } +} diff --git a/src/models/rac_property_mapping.rs b/src/models/rac_property_mapping.rs new file mode 100644 index 0000000..4830f99 --- /dev/null +++ b/src/models/rac_property_mapping.rs @@ -0,0 +1,70 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RacPropertyMapping : RACPropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RacPropertyMapping { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression", skip_serializing_if = "Option::is_none")] + pub expression: Option, + /// Get object's component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "static_settings")] + pub static_settings: std::collections::HashMap, +} + +impl RacPropertyMapping { + /// RACPropertyMapping Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + static_settings: std::collections::HashMap, + ) -> RacPropertyMapping { + RacPropertyMapping { + pk, + managed: None, + name, + expression: None, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + static_settings, + } + } +} diff --git a/src/models/rac_property_mapping_request.rs b/src/models/rac_property_mapping_request.rs new file mode 100644 index 0000000..a8e71fe --- /dev/null +++ b/src/models/rac_property_mapping_request.rs @@ -0,0 +1,46 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RacPropertyMappingRequest : RACPropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RacPropertyMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression", skip_serializing_if = "Option::is_none")] + pub expression: Option, + #[serde(rename = "static_settings")] + pub static_settings: std::collections::HashMap, +} + +impl RacPropertyMappingRequest { + /// RACPropertyMapping Serializer + pub fn new( + name: String, + static_settings: std::collections::HashMap, + ) -> RacPropertyMappingRequest { + RacPropertyMappingRequest { + managed: None, + name, + expression: None, + static_settings, + } + } +} diff --git a/src/models/rac_provider.rs b/src/models/rac_provider.rs new file mode 100644 index 0000000..e5d714a --- /dev/null +++ b/src/models/rac_provider.rs @@ -0,0 +1,111 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RacProvider : RACProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RacProvider { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "name")] + pub name: String, + /// Flow used for authentication when the associated application is accessed by an un-authenticated user. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow used when authorizing this provider. + #[serde(rename = "authorization_flow")] + pub authorization_flow: uuid::Uuid, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Internal application name, used in URLs. + #[serde(rename = "assigned_application_slug")] + pub assigned_application_slug: String, + /// Application's display Name. + #[serde(rename = "assigned_application_name")] + pub assigned_application_name: String, + /// Internal application name, used in URLs. + #[serde(rename = "assigned_backchannel_application_slug")] + pub assigned_backchannel_application_slug: String, + /// Application's display Name. + #[serde(rename = "assigned_backchannel_application_name")] + pub assigned_backchannel_application_name: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde( + rename = "settings", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub settings: Option>, + #[serde(rename = "outpost_set")] + pub outpost_set: Vec, + /// Determines how long a session lasts. Default of 0 means that the sessions lasts until the browser is closed. (Format: hours=-1;minutes=-2;seconds=-3) + #[serde(rename = "connection_expiry", skip_serializing_if = "Option::is_none")] + pub connection_expiry: Option, + /// When set to true, connection tokens will be deleted upon disconnect. + #[serde(rename = "delete_token_on_disconnect", skip_serializing_if = "Option::is_none")] + pub delete_token_on_disconnect: Option, +} + +impl RacProvider { + /// RACProvider Serializer + pub fn new( + pk: i32, + name: String, + authorization_flow: uuid::Uuid, + component: String, + assigned_application_slug: String, + assigned_application_name: String, + assigned_backchannel_application_slug: String, + assigned_backchannel_application_name: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + outpost_set: Vec, + ) -> RacProvider { + RacProvider { + pk, + name, + authentication_flow: None, + authorization_flow, + property_mappings: None, + component, + assigned_application_slug, + assigned_application_name, + assigned_backchannel_application_slug, + assigned_backchannel_application_name, + verbose_name, + verbose_name_plural, + meta_model_name, + settings: None, + outpost_set, + connection_expiry: None, + delete_token_on_disconnect: None, + } + } +} diff --git a/src/models/rac_provider_request.rs b/src/models/rac_provider_request.rs new file mode 100644 index 0000000..92ad574 --- /dev/null +++ b/src/models/rac_provider_request.rs @@ -0,0 +1,60 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RacProviderRequest : RACProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RacProviderRequest { + #[serde(rename = "name")] + pub name: String, + /// Flow used for authentication when the associated application is accessed by an un-authenticated user. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow used when authorizing this provider. + #[serde(rename = "authorization_flow")] + pub authorization_flow: uuid::Uuid, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + #[serde( + rename = "settings", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub settings: Option>, + /// Determines how long a session lasts. Default of 0 means that the sessions lasts until the browser is closed. (Format: hours=-1;minutes=-2;seconds=-3) + #[serde(rename = "connection_expiry", skip_serializing_if = "Option::is_none")] + pub connection_expiry: Option, + /// When set to true, connection tokens will be deleted upon disconnect. + #[serde(rename = "delete_token_on_disconnect", skip_serializing_if = "Option::is_none")] + pub delete_token_on_disconnect: Option, +} + +impl RacProviderRequest { + /// RACProvider Serializer + pub fn new(name: String, authorization_flow: uuid::Uuid) -> RacProviderRequest { + RacProviderRequest { + name, + authentication_flow: None, + authorization_flow, + property_mappings: None, + settings: None, + connection_expiry: None, + delete_token_on_disconnect: None, + } + } +} diff --git a/src/models/radius_check_access.rs b/src/models/radius_check_access.rs new file mode 100644 index 0000000..9137e27 --- /dev/null +++ b/src/models/radius_check_access.rs @@ -0,0 +1,31 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RadiusCheckAccess : Base serializer class which doesn't implement create/update methods +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RadiusCheckAccess { + #[serde(rename = "attributes", skip_serializing_if = "Option::is_none")] + pub attributes: Option, + #[serde(rename = "access")] + pub access: models::PolicyTestResult, +} + +impl RadiusCheckAccess { + /// Base serializer class which doesn't implement create/update methods + pub fn new(access: models::PolicyTestResult) -> RadiusCheckAccess { + RadiusCheckAccess { + attributes: None, + access, + } + } +} diff --git a/src/models/radius_outpost_config.rs b/src/models/radius_outpost_config.rs new file mode 100644 index 0000000..1a492d7 --- /dev/null +++ b/src/models/radius_outpost_config.rs @@ -0,0 +1,49 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RadiusOutpostConfig : RadiusProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RadiusOutpostConfig { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "application_slug")] + pub application_slug: String, + #[serde(rename = "auth_flow_slug")] + pub auth_flow_slug: String, + /// List of CIDRs (comma-separated) that clients can connect from. A more specific CIDR will match before a looser one. Clients connecting from a non-specified CIDR will be dropped. + #[serde(rename = "client_networks", skip_serializing_if = "Option::is_none")] + pub client_networks: Option, + /// Shared secret between clients and server to hash packets. + #[serde(rename = "shared_secret", skip_serializing_if = "Option::is_none")] + pub shared_secret: Option, + /// When enabled, code-based multi-factor authentication can be used by appending a semicolon and the TOTP code to the password. This should only be enabled if all users that will bind to this provider have a TOTP device configured, as otherwise a password may incorrectly be rejected if it contains a semicolon. + #[serde(rename = "mfa_support", skip_serializing_if = "Option::is_none")] + pub mfa_support: Option, +} + +impl RadiusOutpostConfig { + /// RadiusProvider Serializer + pub fn new(pk: i32, name: String, application_slug: String, auth_flow_slug: String) -> RadiusOutpostConfig { + RadiusOutpostConfig { + pk, + name, + application_slug, + auth_flow_slug, + client_networks: None, + shared_secret: None, + mfa_support: None, + } + } +} diff --git a/src/models/radius_provider.rs b/src/models/radius_provider.rs new file mode 100644 index 0000000..5a7b14d --- /dev/null +++ b/src/models/radius_provider.rs @@ -0,0 +1,107 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RadiusProvider : RadiusProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RadiusProvider { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "name")] + pub name: String, + /// Flow used for authentication when the associated application is accessed by an un-authenticated user. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow used when authorizing this provider. + #[serde(rename = "authorization_flow")] + pub authorization_flow: uuid::Uuid, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Internal application name, used in URLs. + #[serde(rename = "assigned_application_slug")] + pub assigned_application_slug: String, + /// Application's display Name. + #[serde(rename = "assigned_application_name")] + pub assigned_application_name: String, + /// Internal application name, used in URLs. + #[serde(rename = "assigned_backchannel_application_slug")] + pub assigned_backchannel_application_slug: String, + /// Application's display Name. + #[serde(rename = "assigned_backchannel_application_name")] + pub assigned_backchannel_application_name: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + /// List of CIDRs (comma-separated) that clients can connect from. A more specific CIDR will match before a looser one. Clients connecting from a non-specified CIDR will be dropped. + #[serde(rename = "client_networks", skip_serializing_if = "Option::is_none")] + pub client_networks: Option, + /// Shared secret between clients and server to hash packets. + #[serde(rename = "shared_secret", skip_serializing_if = "Option::is_none")] + pub shared_secret: Option, + #[serde(rename = "outpost_set")] + pub outpost_set: Vec, + /// When enabled, code-based multi-factor authentication can be used by appending a semicolon and the TOTP code to the password. This should only be enabled if all users that will bind to this provider have a TOTP device configured, as otherwise a password may incorrectly be rejected if it contains a semicolon. + #[serde(rename = "mfa_support", skip_serializing_if = "Option::is_none")] + pub mfa_support: Option, +} + +impl RadiusProvider { + /// RadiusProvider Serializer + pub fn new( + pk: i32, + name: String, + authorization_flow: uuid::Uuid, + component: String, + assigned_application_slug: String, + assigned_application_name: String, + assigned_backchannel_application_slug: String, + assigned_backchannel_application_name: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + outpost_set: Vec, + ) -> RadiusProvider { + RadiusProvider { + pk, + name, + authentication_flow: None, + authorization_flow, + property_mappings: None, + component, + assigned_application_slug, + assigned_application_name, + assigned_backchannel_application_slug, + assigned_backchannel_application_name, + verbose_name, + verbose_name_plural, + meta_model_name, + client_networks: None, + shared_secret: None, + outpost_set, + mfa_support: None, + } + } +} diff --git a/src/models/radius_provider_property_mapping.rs b/src/models/radius_provider_property_mapping.rs new file mode 100644 index 0000000..aa2bde8 --- /dev/null +++ b/src/models/radius_provider_property_mapping.rs @@ -0,0 +1,67 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RadiusProviderPropertyMapping : RadiusProviderPropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RadiusProviderPropertyMapping { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, + /// Get object's component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, +} + +impl RadiusProviderPropertyMapping { + /// RadiusProviderPropertyMapping Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + expression: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> RadiusProviderPropertyMapping { + RadiusProviderPropertyMapping { + pk, + managed: None, + name, + expression, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + } + } +} diff --git a/src/models/radius_provider_property_mapping_request.rs b/src/models/radius_provider_property_mapping_request.rs new file mode 100644 index 0000000..7b252ed --- /dev/null +++ b/src/models/radius_provider_property_mapping_request.rs @@ -0,0 +1,40 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RadiusProviderPropertyMappingRequest : RadiusProviderPropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RadiusProviderPropertyMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, +} + +impl RadiusProviderPropertyMappingRequest { + /// RadiusProviderPropertyMapping Serializer + pub fn new(name: String, expression: String) -> RadiusProviderPropertyMappingRequest { + RadiusProviderPropertyMappingRequest { + managed: None, + name, + expression, + } + } +} diff --git a/src/models/radius_provider_request.rs b/src/models/radius_provider_request.rs new file mode 100644 index 0000000..d830520 --- /dev/null +++ b/src/models/radius_provider_request.rs @@ -0,0 +1,56 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RadiusProviderRequest : RadiusProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RadiusProviderRequest { + #[serde(rename = "name")] + pub name: String, + /// Flow used for authentication when the associated application is accessed by an un-authenticated user. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow used when authorizing this provider. + #[serde(rename = "authorization_flow")] + pub authorization_flow: uuid::Uuid, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + /// List of CIDRs (comma-separated) that clients can connect from. A more specific CIDR will match before a looser one. Clients connecting from a non-specified CIDR will be dropped. + #[serde(rename = "client_networks", skip_serializing_if = "Option::is_none")] + pub client_networks: Option, + /// Shared secret between clients and server to hash packets. + #[serde(rename = "shared_secret", skip_serializing_if = "Option::is_none")] + pub shared_secret: Option, + /// When enabled, code-based multi-factor authentication can be used by appending a semicolon and the TOTP code to the password. This should only be enabled if all users that will bind to this provider have a TOTP device configured, as otherwise a password may incorrectly be rejected if it contains a semicolon. + #[serde(rename = "mfa_support", skip_serializing_if = "Option::is_none")] + pub mfa_support: Option, +} + +impl RadiusProviderRequest { + /// RadiusProvider Serializer + pub fn new(name: String, authorization_flow: uuid::Uuid) -> RadiusProviderRequest { + RadiusProviderRequest { + name, + authentication_flow: None, + authorization_flow, + property_mappings: None, + client_networks: None, + shared_secret: None, + mfa_support: None, + } + } +} diff --git a/src/models/redirect_challenge.rs b/src/models/redirect_challenge.rs new file mode 100644 index 0000000..b7d6a73 --- /dev/null +++ b/src/models/redirect_challenge.rs @@ -0,0 +1,37 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RedirectChallenge : Challenge type to redirect the client +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RedirectChallenge { + #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")] + pub flow_info: Option, + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")] + pub response_errors: Option>>, + #[serde(rename = "to")] + pub to: String, +} + +impl RedirectChallenge { + /// Challenge type to redirect the client + pub fn new(to: String) -> RedirectChallenge { + RedirectChallenge { + flow_info: None, + component: None, + response_errors: None, + to, + } + } +} diff --git a/src/models/reputation.rs b/src/models/reputation.rs new file mode 100644 index 0000000..27eada1 --- /dev/null +++ b/src/models/reputation.rs @@ -0,0 +1,56 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Reputation : Reputation Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Reputation { + #[serde(rename = "pk", skip_serializing_if = "Option::is_none")] + pub pk: Option, + #[serde(rename = "identifier")] + pub identifier: String, + #[serde(rename = "ip")] + pub ip: String, + #[serde( + rename = "ip_geo_data", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub ip_geo_data: Option>, + #[serde( + rename = "ip_asn_data", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub ip_asn_data: Option>, + #[serde(rename = "score", skip_serializing_if = "Option::is_none")] + pub score: Option, + #[serde(rename = "updated")] + pub updated: String, +} + +impl Reputation { + /// Reputation Serializer + pub fn new(identifier: String, ip: String, updated: String) -> Reputation { + Reputation { + pk: None, + identifier, + ip, + ip_geo_data: None, + ip_asn_data: None, + score: None, + updated, + } + } +} diff --git a/src/models/reputation_policy.rs b/src/models/reputation_policy.rs new file mode 100644 index 0000000..9365a9b --- /dev/null +++ b/src/models/reputation_policy.rs @@ -0,0 +1,72 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ReputationPolicy : Reputation Policy Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ReputationPolicy { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + #[serde(rename = "execution_logging", skip_serializing_if = "Option::is_none")] + pub execution_logging: Option, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + /// Return objects policy is bound to + #[serde(rename = "bound_to")] + pub bound_to: i32, + #[serde(rename = "check_ip", skip_serializing_if = "Option::is_none")] + pub check_ip: Option, + #[serde(rename = "check_username", skip_serializing_if = "Option::is_none")] + pub check_username: Option, + #[serde(rename = "threshold", skip_serializing_if = "Option::is_none")] + pub threshold: Option, +} + +impl ReputationPolicy { + /// Reputation Policy Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + bound_to: i32, + ) -> ReputationPolicy { + ReputationPolicy { + pk, + name, + execution_logging: None, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + bound_to, + check_ip: None, + check_username: None, + threshold: None, + } + } +} diff --git a/src/models/reputation_policy_request.rs b/src/models/reputation_policy_request.rs new file mode 100644 index 0000000..47299ee --- /dev/null +++ b/src/models/reputation_policy_request.rs @@ -0,0 +1,41 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ReputationPolicyRequest : Reputation Policy Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ReputationPolicyRequest { + #[serde(rename = "name")] + pub name: String, + /// When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + #[serde(rename = "execution_logging", skip_serializing_if = "Option::is_none")] + pub execution_logging: Option, + #[serde(rename = "check_ip", skip_serializing_if = "Option::is_none")] + pub check_ip: Option, + #[serde(rename = "check_username", skip_serializing_if = "Option::is_none")] + pub check_username: Option, + #[serde(rename = "threshold", skip_serializing_if = "Option::is_none")] + pub threshold: Option, +} + +impl ReputationPolicyRequest { + /// Reputation Policy Serializer + pub fn new(name: String) -> ReputationPolicyRequest { + ReputationPolicyRequest { + name, + execution_logging: None, + check_ip: None, + check_username: None, + threshold: None, + } + } +} diff --git a/src/models/resident_key_requirement_enum.rs b/src/models/resident_key_requirement_enum.rs new file mode 100644 index 0000000..6c3b7ad --- /dev/null +++ b/src/models/resident_key_requirement_enum.rs @@ -0,0 +1,39 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum ResidentKeyRequirementEnum { + #[serde(rename = "discouraged")] + Discouraged, + #[serde(rename = "preferred")] + Preferred, + #[serde(rename = "required")] + Required, +} + +impl std::fmt::Display for ResidentKeyRequirementEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Discouraged => write!(f, "discouraged"), + Self::Preferred => write!(f, "preferred"), + Self::Required => write!(f, "required"), + } + } +} + +impl Default for ResidentKeyRequirementEnum { + fn default() -> ResidentKeyRequirementEnum { + Self::Discouraged + } +} diff --git a/src/models/role.rs b/src/models/role.rs new file mode 100644 index 0000000..f9e4253 --- /dev/null +++ b/src/models/role.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Role : Role serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Role { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, +} + +impl Role { + /// Role serializer + pub fn new(pk: uuid::Uuid, name: String) -> Role { + Role { pk, name } + } +} diff --git a/src/models/role_assigned_object_permission.rs b/src/models/role_assigned_object_permission.rs new file mode 100644 index 0000000..60d2713 --- /dev/null +++ b/src/models/role_assigned_object_permission.rs @@ -0,0 +1,38 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RoleAssignedObjectPermission : Roles assigned object permission serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RoleAssignedObjectPermission { + #[serde(rename = "role_pk")] + pub role_pk: String, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "permissions")] + pub permissions: Vec, +} + +impl RoleAssignedObjectPermission { + /// Roles assigned object permission serializer + pub fn new( + role_pk: String, + name: String, + permissions: Vec, + ) -> RoleAssignedObjectPermission { + RoleAssignedObjectPermission { + role_pk, + name, + permissions, + } + } +} diff --git a/src/models/role_object_permission.rs b/src/models/role_object_permission.rs new file mode 100644 index 0000000..f70374b --- /dev/null +++ b/src/models/role_object_permission.rs @@ -0,0 +1,50 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RoleObjectPermission : Role-bound object level permission +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RoleObjectPermission { + #[serde(rename = "id")] + pub id: i32, + #[serde(rename = "codename")] + pub codename: String, + #[serde(rename = "model")] + pub model: String, + #[serde(rename = "app_label")] + pub app_label: String, + #[serde(rename = "object_pk")] + pub object_pk: String, + #[serde(rename = "name")] + pub name: String, +} + +impl RoleObjectPermission { + /// Role-bound object level permission + pub fn new( + id: i32, + codename: String, + model: String, + app_label: String, + object_pk: String, + name: String, + ) -> RoleObjectPermission { + RoleObjectPermission { + id, + codename, + model, + app_label, + object_pk, + name, + } + } +} diff --git a/src/models/role_request.rs b/src/models/role_request.rs new file mode 100644 index 0000000..5018485 --- /dev/null +++ b/src/models/role_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RoleRequest : Role serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RoleRequest { + #[serde(rename = "name")] + pub name: String, +} + +impl RoleRequest { + /// Role serializer + pub fn new(name: String) -> RoleRequest { + RoleRequest { name } + } +} diff --git a/src/models/saml_metadata.rs b/src/models/saml_metadata.rs new file mode 100644 index 0000000..ff0ddb9 --- /dev/null +++ b/src/models/saml_metadata.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SamlMetadata : SAML Provider Metadata serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SamlMetadata { + #[serde(rename = "metadata")] + pub metadata: String, + #[serde(rename = "download_url")] + pub download_url: String, +} + +impl SamlMetadata { + /// SAML Provider Metadata serializer + pub fn new(metadata: String, download_url: String) -> SamlMetadata { + SamlMetadata { metadata, download_url } + } +} diff --git a/src/models/saml_property_mapping.rs b/src/models/saml_property_mapping.rs new file mode 100644 index 0000000..ca5222c --- /dev/null +++ b/src/models/saml_property_mapping.rs @@ -0,0 +1,79 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SamlPropertyMapping : SAMLPropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SamlPropertyMapping { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, + /// Get object's component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "saml_name")] + pub saml_name: String, + #[serde( + rename = "friendly_name", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub friendly_name: Option>, +} + +impl SamlPropertyMapping { + /// SAMLPropertyMapping Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + expression: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + saml_name: String, + ) -> SamlPropertyMapping { + SamlPropertyMapping { + pk, + managed: None, + name, + expression, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + saml_name, + friendly_name: None, + } + } +} diff --git a/src/models/saml_property_mapping_request.rs b/src/models/saml_property_mapping_request.rs new file mode 100644 index 0000000..e44e533 --- /dev/null +++ b/src/models/saml_property_mapping_request.rs @@ -0,0 +1,51 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SamlPropertyMappingRequest : SAMLPropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SamlPropertyMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, + #[serde(rename = "saml_name")] + pub saml_name: String, + #[serde( + rename = "friendly_name", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub friendly_name: Option>, +} + +impl SamlPropertyMappingRequest { + /// SAMLPropertyMapping Serializer + pub fn new(name: String, expression: String, saml_name: String) -> SamlPropertyMappingRequest { + SamlPropertyMappingRequest { + managed: None, + name, + expression, + saml_name, + friendly_name: None, + } + } +} diff --git a/src/models/saml_provider.rs b/src/models/saml_provider.rs new file mode 100644 index 0000000..37d2c74 --- /dev/null +++ b/src/models/saml_provider.rs @@ -0,0 +1,201 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SamlProvider : SAMLProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SamlProvider { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "name")] + pub name: String, + /// Flow used for authentication when the associated application is accessed by an un-authenticated user. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow used when authorizing this provider. + #[serde(rename = "authorization_flow")] + pub authorization_flow: uuid::Uuid, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Internal application name, used in URLs. + #[serde(rename = "assigned_application_slug")] + pub assigned_application_slug: String, + /// Application's display Name. + #[serde(rename = "assigned_application_name")] + pub assigned_application_name: String, + /// Internal application name, used in URLs. + #[serde(rename = "assigned_backchannel_application_slug")] + pub assigned_backchannel_application_slug: String, + /// Application's display Name. + #[serde(rename = "assigned_backchannel_application_name")] + pub assigned_backchannel_application_name: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "acs_url")] + pub acs_url: String, + /// Value of the audience restriction field of the assertion. When left empty, no audience restriction will be added. + #[serde(rename = "audience", skip_serializing_if = "Option::is_none")] + pub audience: Option, + /// Also known as EntityID + #[serde(rename = "issuer", skip_serializing_if = "Option::is_none")] + pub issuer: Option, + /// Assertion valid not before current time + this value (Format: hours=-1;minutes=-2;seconds=-3). + #[serde(rename = "assertion_valid_not_before", skip_serializing_if = "Option::is_none")] + pub assertion_valid_not_before: Option, + /// Assertion not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "assertion_valid_not_on_or_after", skip_serializing_if = "Option::is_none")] + pub assertion_valid_not_on_or_after: Option, + /// Session not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "session_valid_not_on_or_after", skip_serializing_if = "Option::is_none")] + pub session_valid_not_on_or_after: Option, + /// Configure how the NameID value will be created. When left empty, the NameIDPolicy of the incoming request will be considered + #[serde( + rename = "name_id_mapping", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub name_id_mapping: Option>, + #[serde(rename = "digest_algorithm", skip_serializing_if = "Option::is_none")] + pub digest_algorithm: Option, + #[serde(rename = "signature_algorithm", skip_serializing_if = "Option::is_none")] + pub signature_algorithm: Option, + /// Keypair used to sign outgoing Responses going to the Service Provider. + #[serde( + rename = "signing_kp", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub signing_kp: Option>, + /// When selected, incoming assertion's Signatures will be validated against this certificate. To allow unsigned Requests, leave on default. + #[serde( + rename = "verification_kp", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub verification_kp: Option>, + /// When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. + #[serde( + rename = "encryption_kp", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub encryption_kp: Option>, + #[serde(rename = "sign_assertion", skip_serializing_if = "Option::is_none")] + pub sign_assertion: Option, + #[serde(rename = "sign_response", skip_serializing_if = "Option::is_none")] + pub sign_response: Option, + /// This determines how authentik sends the response back to the Service Provider. + #[serde(rename = "sp_binding", skip_serializing_if = "Option::is_none")] + pub sp_binding: Option, + /// Default relay_state value for IDP-initiated logins + #[serde(rename = "default_relay_state", skip_serializing_if = "Option::is_none")] + pub default_relay_state: Option, + /// Get metadata download URL + #[serde(rename = "url_download_metadata")] + pub url_download_metadata: String, + /// Get SSO Post URL + #[serde(rename = "url_sso_post")] + pub url_sso_post: String, + /// Get SSO Redirect URL + #[serde(rename = "url_sso_redirect")] + pub url_sso_redirect: String, + /// Get SSO IDP-Initiated URL + #[serde(rename = "url_sso_init")] + pub url_sso_init: String, + /// Get SLO POST URL + #[serde(rename = "url_slo_post")] + pub url_slo_post: String, + /// Get SLO redirect URL + #[serde(rename = "url_slo_redirect")] + pub url_slo_redirect: String, +} + +impl SamlProvider { + /// SAMLProvider Serializer + pub fn new( + pk: i32, + name: String, + authorization_flow: uuid::Uuid, + component: String, + assigned_application_slug: String, + assigned_application_name: String, + assigned_backchannel_application_slug: String, + assigned_backchannel_application_name: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + acs_url: String, + url_download_metadata: String, + url_sso_post: String, + url_sso_redirect: String, + url_sso_init: String, + url_slo_post: String, + url_slo_redirect: String, + ) -> SamlProvider { + SamlProvider { + pk, + name, + authentication_flow: None, + authorization_flow, + property_mappings: None, + component, + assigned_application_slug, + assigned_application_name, + assigned_backchannel_application_slug, + assigned_backchannel_application_name, + verbose_name, + verbose_name_plural, + meta_model_name, + acs_url, + audience: None, + issuer: None, + assertion_valid_not_before: None, + assertion_valid_not_on_or_after: None, + session_valid_not_on_or_after: None, + name_id_mapping: None, + digest_algorithm: None, + signature_algorithm: None, + signing_kp: None, + verification_kp: None, + encryption_kp: None, + sign_assertion: None, + sign_response: None, + sp_binding: None, + default_relay_state: None, + url_download_metadata, + url_sso_post, + url_sso_redirect, + url_sso_init, + url_slo_post, + url_slo_redirect, + } + } +} diff --git a/src/models/saml_provider_request.rs b/src/models/saml_provider_request.rs new file mode 100644 index 0000000..1f8ed19 --- /dev/null +++ b/src/models/saml_provider_request.rs @@ -0,0 +1,123 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SamlProviderRequest : SAMLProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SamlProviderRequest { + #[serde(rename = "name")] + pub name: String, + /// Flow used for authentication when the associated application is accessed by an un-authenticated user. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow used when authorizing this provider. + #[serde(rename = "authorization_flow")] + pub authorization_flow: uuid::Uuid, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + #[serde(rename = "acs_url")] + pub acs_url: String, + /// Value of the audience restriction field of the assertion. When left empty, no audience restriction will be added. + #[serde(rename = "audience", skip_serializing_if = "Option::is_none")] + pub audience: Option, + /// Also known as EntityID + #[serde(rename = "issuer", skip_serializing_if = "Option::is_none")] + pub issuer: Option, + /// Assertion valid not before current time + this value (Format: hours=-1;minutes=-2;seconds=-3). + #[serde(rename = "assertion_valid_not_before", skip_serializing_if = "Option::is_none")] + pub assertion_valid_not_before: Option, + /// Assertion not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "assertion_valid_not_on_or_after", skip_serializing_if = "Option::is_none")] + pub assertion_valid_not_on_or_after: Option, + /// Session not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "session_valid_not_on_or_after", skip_serializing_if = "Option::is_none")] + pub session_valid_not_on_or_after: Option, + /// Configure how the NameID value will be created. When left empty, the NameIDPolicy of the incoming request will be considered + #[serde( + rename = "name_id_mapping", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub name_id_mapping: Option>, + #[serde(rename = "digest_algorithm", skip_serializing_if = "Option::is_none")] + pub digest_algorithm: Option, + #[serde(rename = "signature_algorithm", skip_serializing_if = "Option::is_none")] + pub signature_algorithm: Option, + /// Keypair used to sign outgoing Responses going to the Service Provider. + #[serde( + rename = "signing_kp", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub signing_kp: Option>, + /// When selected, incoming assertion's Signatures will be validated against this certificate. To allow unsigned Requests, leave on default. + #[serde( + rename = "verification_kp", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub verification_kp: Option>, + /// When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. + #[serde( + rename = "encryption_kp", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub encryption_kp: Option>, + #[serde(rename = "sign_assertion", skip_serializing_if = "Option::is_none")] + pub sign_assertion: Option, + #[serde(rename = "sign_response", skip_serializing_if = "Option::is_none")] + pub sign_response: Option, + /// This determines how authentik sends the response back to the Service Provider. + #[serde(rename = "sp_binding", skip_serializing_if = "Option::is_none")] + pub sp_binding: Option, + /// Default relay_state value for IDP-initiated logins + #[serde(rename = "default_relay_state", skip_serializing_if = "Option::is_none")] + pub default_relay_state: Option, +} + +impl SamlProviderRequest { + /// SAMLProvider Serializer + pub fn new(name: String, authorization_flow: uuid::Uuid, acs_url: String) -> SamlProviderRequest { + SamlProviderRequest { + name, + authentication_flow: None, + authorization_flow, + property_mappings: None, + acs_url, + audience: None, + issuer: None, + assertion_valid_not_before: None, + assertion_valid_not_on_or_after: None, + session_valid_not_on_or_after: None, + name_id_mapping: None, + digest_algorithm: None, + signature_algorithm: None, + signing_kp: None, + verification_kp: None, + encryption_kp: None, + sign_assertion: None, + sign_response: None, + sp_binding: None, + default_relay_state: None, + } + } +} diff --git a/src/models/saml_source.rs b/src/models/saml_source.rs new file mode 100644 index 0000000..5e43782 --- /dev/null +++ b/src/models/saml_source.rs @@ -0,0 +1,181 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SamlSource : SAMLSource Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SamlSource { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + /// Source's display Name. + #[serde(rename = "name")] + pub name: String, + /// Internal source name, used in URLs. + #[serde(rename = "slug")] + pub slug: String, + #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")] + pub enabled: Option, + /// Flow to use when authenticating existing users. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow to use when enrolling new users. + #[serde( + rename = "enrollment_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub enrollment_flow: Option>, + #[serde(rename = "user_property_mappings", skip_serializing_if = "Option::is_none")] + pub user_property_mappings: Option>, + #[serde(rename = "group_property_mappings", skip_serializing_if = "Option::is_none")] + pub group_property_mappings: Option>, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + /// How the source determines if an existing user should be authenticated or a new user enrolled. + #[serde(rename = "user_matching_mode", skip_serializing_if = "Option::is_none")] + pub user_matching_mode: Option, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde(rename = "managed", deserialize_with = "Option::deserialize")] + pub managed: Option, + #[serde(rename = "user_path_template", skip_serializing_if = "Option::is_none")] + pub user_path_template: Option, + #[serde(rename = "icon")] + pub icon: String, + /// How the source determines if an existing group should be used or a new group created. + #[serde(rename = "group_matching_mode", skip_serializing_if = "Option::is_none")] + pub group_matching_mode: Option, + /// Flow used before authentication. + #[serde(rename = "pre_authentication_flow")] + pub pre_authentication_flow: uuid::Uuid, + /// Also known as Entity ID. Defaults the Metadata URL. + #[serde(rename = "issuer", skip_serializing_if = "Option::is_none")] + pub issuer: Option, + /// URL that the initial Login request is sent to. + #[serde(rename = "sso_url")] + pub sso_url: String, + /// Optional URL if your IDP supports Single-Logout. + #[serde( + rename = "slo_url", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub slo_url: Option>, + /// Allows authentication flows initiated by the IdP. This can be a security risk, as no validation of the request ID is done. + #[serde(rename = "allow_idp_initiated", skip_serializing_if = "Option::is_none")] + pub allow_idp_initiated: Option, + /// NameID Policy sent to the IdP. Can be unset, in which case no Policy is sent. + #[serde(rename = "name_id_policy", skip_serializing_if = "Option::is_none")] + pub name_id_policy: Option, + #[serde(rename = "binding_type", skip_serializing_if = "Option::is_none")] + pub binding_type: Option, + /// When selected, incoming assertion's Signatures will be validated against this certificate. To allow unsigned Requests, leave on default. + #[serde( + rename = "verification_kp", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub verification_kp: Option>, + /// Keypair used to sign outgoing Responses going to the Identity Provider. + #[serde( + rename = "signing_kp", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub signing_kp: Option>, + #[serde(rename = "digest_algorithm", skip_serializing_if = "Option::is_none")] + pub digest_algorithm: Option, + #[serde(rename = "signature_algorithm", skip_serializing_if = "Option::is_none")] + pub signature_algorithm: Option, + /// Time offset when temporary users should be deleted. This only applies if your IDP uses the NameID Format 'transient', and the user doesn't log out manually. (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "temporary_user_delete_after", skip_serializing_if = "Option::is_none")] + pub temporary_user_delete_after: Option, + /// When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. + #[serde( + rename = "encryption_kp", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub encryption_kp: Option>, +} + +impl SamlSource { + /// SAMLSource Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + slug: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + managed: Option, + icon: String, + pre_authentication_flow: uuid::Uuid, + sso_url: String, + ) -> SamlSource { + SamlSource { + pk, + name, + slug, + enabled: None, + authentication_flow: None, + enrollment_flow: None, + user_property_mappings: None, + group_property_mappings: None, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + policy_engine_mode: None, + user_matching_mode: None, + managed, + user_path_template: None, + icon, + group_matching_mode: None, + pre_authentication_flow, + issuer: None, + sso_url, + slo_url: None, + allow_idp_initiated: None, + name_id_policy: None, + binding_type: None, + verification_kp: None, + signing_kp: None, + digest_algorithm: None, + signature_algorithm: None, + temporary_user_delete_after: None, + encryption_kp: None, + } + } +} diff --git a/src/models/saml_source_property_mapping.rs b/src/models/saml_source_property_mapping.rs new file mode 100644 index 0000000..8cc7048 --- /dev/null +++ b/src/models/saml_source_property_mapping.rs @@ -0,0 +1,67 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SamlSourcePropertyMapping : SAMLSourcePropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SamlSourcePropertyMapping { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, + /// Get object's component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, +} + +impl SamlSourcePropertyMapping { + /// SAMLSourcePropertyMapping Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + expression: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> SamlSourcePropertyMapping { + SamlSourcePropertyMapping { + pk, + managed: None, + name, + expression, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + } + } +} diff --git a/src/models/saml_source_property_mapping_request.rs b/src/models/saml_source_property_mapping_request.rs new file mode 100644 index 0000000..0005b0e --- /dev/null +++ b/src/models/saml_source_property_mapping_request.rs @@ -0,0 +1,40 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SamlSourcePropertyMappingRequest : SAMLSourcePropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SamlSourcePropertyMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, +} + +impl SamlSourcePropertyMappingRequest { + /// SAMLSourcePropertyMapping Serializer + pub fn new(name: String, expression: String) -> SamlSourcePropertyMappingRequest { + SamlSourcePropertyMappingRequest { + managed: None, + name, + expression, + } + } +} diff --git a/src/models/saml_source_request.rs b/src/models/saml_source_request.rs new file mode 100644 index 0000000..d8b0f2f --- /dev/null +++ b/src/models/saml_source_request.rs @@ -0,0 +1,143 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SamlSourceRequest : SAMLSource Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SamlSourceRequest { + /// Source's display Name. + #[serde(rename = "name")] + pub name: String, + /// Internal source name, used in URLs. + #[serde(rename = "slug")] + pub slug: String, + #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")] + pub enabled: Option, + /// Flow to use when authenticating existing users. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow to use when enrolling new users. + #[serde( + rename = "enrollment_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub enrollment_flow: Option>, + #[serde(rename = "user_property_mappings", skip_serializing_if = "Option::is_none")] + pub user_property_mappings: Option>, + #[serde(rename = "group_property_mappings", skip_serializing_if = "Option::is_none")] + pub group_property_mappings: Option>, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + /// How the source determines if an existing user should be authenticated or a new user enrolled. + #[serde(rename = "user_matching_mode", skip_serializing_if = "Option::is_none")] + pub user_matching_mode: Option, + #[serde(rename = "user_path_template", skip_serializing_if = "Option::is_none")] + pub user_path_template: Option, + /// How the source determines if an existing group should be used or a new group created. + #[serde(rename = "group_matching_mode", skip_serializing_if = "Option::is_none")] + pub group_matching_mode: Option, + /// Flow used before authentication. + #[serde(rename = "pre_authentication_flow")] + pub pre_authentication_flow: uuid::Uuid, + /// Also known as Entity ID. Defaults the Metadata URL. + #[serde(rename = "issuer", skip_serializing_if = "Option::is_none")] + pub issuer: Option, + /// URL that the initial Login request is sent to. + #[serde(rename = "sso_url")] + pub sso_url: String, + /// Optional URL if your IDP supports Single-Logout. + #[serde( + rename = "slo_url", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub slo_url: Option>, + /// Allows authentication flows initiated by the IdP. This can be a security risk, as no validation of the request ID is done. + #[serde(rename = "allow_idp_initiated", skip_serializing_if = "Option::is_none")] + pub allow_idp_initiated: Option, + /// NameID Policy sent to the IdP. Can be unset, in which case no Policy is sent. + #[serde(rename = "name_id_policy", skip_serializing_if = "Option::is_none")] + pub name_id_policy: Option, + #[serde(rename = "binding_type", skip_serializing_if = "Option::is_none")] + pub binding_type: Option, + /// When selected, incoming assertion's Signatures will be validated against this certificate. To allow unsigned Requests, leave on default. + #[serde( + rename = "verification_kp", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub verification_kp: Option>, + /// Keypair used to sign outgoing Responses going to the Identity Provider. + #[serde( + rename = "signing_kp", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub signing_kp: Option>, + #[serde(rename = "digest_algorithm", skip_serializing_if = "Option::is_none")] + pub digest_algorithm: Option, + #[serde(rename = "signature_algorithm", skip_serializing_if = "Option::is_none")] + pub signature_algorithm: Option, + /// Time offset when temporary users should be deleted. This only applies if your IDP uses the NameID Format 'transient', and the user doesn't log out manually. (Format: hours=1;minutes=2;seconds=3). + #[serde(rename = "temporary_user_delete_after", skip_serializing_if = "Option::is_none")] + pub temporary_user_delete_after: Option, + /// When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. + #[serde( + rename = "encryption_kp", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub encryption_kp: Option>, +} + +impl SamlSourceRequest { + /// SAMLSource Serializer + pub fn new(name: String, slug: String, pre_authentication_flow: uuid::Uuid, sso_url: String) -> SamlSourceRequest { + SamlSourceRequest { + name, + slug, + enabled: None, + authentication_flow: None, + enrollment_flow: None, + user_property_mappings: None, + group_property_mappings: None, + policy_engine_mode: None, + user_matching_mode: None, + user_path_template: None, + group_matching_mode: None, + pre_authentication_flow, + issuer: None, + sso_url, + slo_url: None, + allow_idp_initiated: None, + name_id_policy: None, + binding_type: None, + verification_kp: None, + signing_kp: None, + digest_algorithm: None, + signature_algorithm: None, + temporary_user_delete_after: None, + encryption_kp: None, + } + } +} diff --git a/src/models/scim_mapping.rs b/src/models/scim_mapping.rs new file mode 100644 index 0000000..914e549 --- /dev/null +++ b/src/models/scim_mapping.rs @@ -0,0 +1,67 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ScimMapping : SCIMMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ScimMapping { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, + /// Get object's component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, +} + +impl ScimMapping { + /// SCIMMapping Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + expression: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> ScimMapping { + ScimMapping { + pk, + managed: None, + name, + expression, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + } + } +} diff --git a/src/models/scim_mapping_request.rs b/src/models/scim_mapping_request.rs new file mode 100644 index 0000000..4c71a9c --- /dev/null +++ b/src/models/scim_mapping_request.rs @@ -0,0 +1,40 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ScimMappingRequest : SCIMMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ScimMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, +} + +impl ScimMappingRequest { + /// SCIMMapping Serializer + pub fn new(name: String, expression: String) -> ScimMappingRequest { + ScimMappingRequest { + managed: None, + name, + expression, + } + } +} diff --git a/src/models/scim_provider.rs b/src/models/scim_provider.rs new file mode 100644 index 0000000..305c67f --- /dev/null +++ b/src/models/scim_provider.rs @@ -0,0 +1,92 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ScimProvider : SCIMProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ScimProvider { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + /// Property mappings used for group creation/updating. + #[serde(rename = "property_mappings_group", skip_serializing_if = "Option::is_none")] + pub property_mappings_group: Option>, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Internal application name, used in URLs. + #[serde(rename = "assigned_backchannel_application_slug")] + pub assigned_backchannel_application_slug: String, + /// Application's display Name. + #[serde(rename = "assigned_backchannel_application_name")] + pub assigned_backchannel_application_name: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + /// Base URL to SCIM requests, usually ends in /v2 + #[serde(rename = "url")] + pub url: String, + /// Authentication token + #[serde(rename = "token")] + pub token: String, + #[serde(rename = "exclude_users_service_account", skip_serializing_if = "Option::is_none")] + pub exclude_users_service_account: Option, + #[serde( + rename = "filter_group", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub filter_group: Option>, +} + +impl ScimProvider { + /// SCIMProvider Serializer + pub fn new( + pk: i32, + name: String, + component: String, + assigned_backchannel_application_slug: String, + assigned_backchannel_application_name: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + url: String, + token: String, + ) -> ScimProvider { + ScimProvider { + pk, + name, + property_mappings: None, + property_mappings_group: None, + component, + assigned_backchannel_application_slug, + assigned_backchannel_application_name, + verbose_name, + verbose_name_plural, + meta_model_name, + url, + token, + exclude_users_service_account: None, + filter_group: None, + } + } +} diff --git a/src/models/scim_provider_group.rs b/src/models/scim_provider_group.rs new file mode 100644 index 0000000..94cd29f --- /dev/null +++ b/src/models/scim_provider_group.rs @@ -0,0 +1,46 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ScimProviderGroup : SCIMProviderGroup Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ScimProviderGroup { + #[serde(rename = "id")] + pub id: uuid::Uuid, + #[serde(rename = "scim_id")] + pub scim_id: String, + #[serde(rename = "group")] + pub group: uuid::Uuid, + #[serde(rename = "group_obj")] + pub group_obj: models::UserGroup, + #[serde(rename = "provider")] + pub provider: i32, +} + +impl ScimProviderGroup { + /// SCIMProviderGroup Serializer + pub fn new( + id: uuid::Uuid, + scim_id: String, + group: uuid::Uuid, + group_obj: models::UserGroup, + provider: i32, + ) -> ScimProviderGroup { + ScimProviderGroup { + id, + scim_id, + group, + group_obj, + provider, + } + } +} diff --git a/src/models/scim_provider_group_request.rs b/src/models/scim_provider_group_request.rs new file mode 100644 index 0000000..6993814 --- /dev/null +++ b/src/models/scim_provider_group_request.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ScimProviderGroupRequest : SCIMProviderGroup Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ScimProviderGroupRequest { + #[serde(rename = "scim_id")] + pub scim_id: String, + #[serde(rename = "group")] + pub group: uuid::Uuid, + #[serde(rename = "provider")] + pub provider: i32, +} + +impl ScimProviderGroupRequest { + /// SCIMProviderGroup Serializer + pub fn new(scim_id: String, group: uuid::Uuid, provider: i32) -> ScimProviderGroupRequest { + ScimProviderGroupRequest { + scim_id, + group, + provider, + } + } +} diff --git a/src/models/scim_provider_request.rs b/src/models/scim_provider_request.rs new file mode 100644 index 0000000..315b048 --- /dev/null +++ b/src/models/scim_provider_request.rs @@ -0,0 +1,54 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ScimProviderRequest : SCIMProvider Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ScimProviderRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")] + pub property_mappings: Option>, + /// Property mappings used for group creation/updating. + #[serde(rename = "property_mappings_group", skip_serializing_if = "Option::is_none")] + pub property_mappings_group: Option>, + /// Base URL to SCIM requests, usually ends in /v2 + #[serde(rename = "url")] + pub url: String, + /// Authentication token + #[serde(rename = "token")] + pub token: String, + #[serde(rename = "exclude_users_service_account", skip_serializing_if = "Option::is_none")] + pub exclude_users_service_account: Option, + #[serde( + rename = "filter_group", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub filter_group: Option>, +} + +impl ScimProviderRequest { + /// SCIMProvider Serializer + pub fn new(name: String, url: String, token: String) -> ScimProviderRequest { + ScimProviderRequest { + name, + property_mappings: None, + property_mappings_group: None, + url, + token, + exclude_users_service_account: None, + filter_group: None, + } + } +} diff --git a/src/models/scim_provider_user.rs b/src/models/scim_provider_user.rs new file mode 100644 index 0000000..ccbabce --- /dev/null +++ b/src/models/scim_provider_user.rs @@ -0,0 +1,46 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ScimProviderUser : SCIMProviderUser Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ScimProviderUser { + #[serde(rename = "id")] + pub id: uuid::Uuid, + #[serde(rename = "scim_id")] + pub scim_id: String, + #[serde(rename = "user")] + pub user: i32, + #[serde(rename = "user_obj")] + pub user_obj: models::GroupMember, + #[serde(rename = "provider")] + pub provider: i32, +} + +impl ScimProviderUser { + /// SCIMProviderUser Serializer + pub fn new( + id: uuid::Uuid, + scim_id: String, + user: i32, + user_obj: models::GroupMember, + provider: i32, + ) -> ScimProviderUser { + ScimProviderUser { + id, + scim_id, + user, + user_obj, + provider, + } + } +} diff --git a/src/models/scim_provider_user_request.rs b/src/models/scim_provider_user_request.rs new file mode 100644 index 0000000..191813c --- /dev/null +++ b/src/models/scim_provider_user_request.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ScimProviderUserRequest : SCIMProviderUser Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ScimProviderUserRequest { + #[serde(rename = "scim_id")] + pub scim_id: String, + #[serde(rename = "user")] + pub user: i32, + #[serde(rename = "provider")] + pub provider: i32, +} + +impl ScimProviderUserRequest { + /// SCIMProviderUser Serializer + pub fn new(scim_id: String, user: i32, provider: i32) -> ScimProviderUserRequest { + ScimProviderUserRequest { + scim_id, + user, + provider, + } + } +} diff --git a/src/models/scim_source.rs b/src/models/scim_source.rs new file mode 100644 index 0000000..2dee9b8 --- /dev/null +++ b/src/models/scim_source.rs @@ -0,0 +1,86 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ScimSource : SCIMSource Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ScimSource { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + /// Source's display Name. + #[serde(rename = "name")] + pub name: String, + /// Internal source name, used in URLs. + #[serde(rename = "slug")] + pub slug: String, + #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")] + pub enabled: Option, + #[serde(rename = "user_property_mappings", skip_serializing_if = "Option::is_none")] + pub user_property_mappings: Option>, + #[serde(rename = "group_property_mappings", skip_serializing_if = "Option::is_none")] + pub group_property_mappings: Option>, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde(rename = "managed", deserialize_with = "Option::deserialize")] + pub managed: Option, + #[serde(rename = "user_path_template", skip_serializing_if = "Option::is_none")] + pub user_path_template: Option, + /// Get Root URL + #[serde(rename = "root_url")] + pub root_url: String, + #[serde(rename = "token_obj")] + pub token_obj: models::Token, +} + +impl ScimSource { + /// SCIMSource Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + slug: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + managed: Option, + root_url: String, + token_obj: models::Token, + ) -> ScimSource { + ScimSource { + pk, + name, + slug, + enabled: None, + user_property_mappings: None, + group_property_mappings: None, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + managed, + user_path_template: None, + root_url, + token_obj, + } + } +} diff --git a/src/models/scim_source_group.rs b/src/models/scim_source_group.rs new file mode 100644 index 0000000..059bcfe --- /dev/null +++ b/src/models/scim_source_group.rs @@ -0,0 +1,45 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ScimSourceGroup : SCIMSourceGroup Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ScimSourceGroup { + #[serde(rename = "id")] + pub id: String, + #[serde(rename = "group")] + pub group: uuid::Uuid, + #[serde(rename = "group_obj")] + pub group_obj: models::UserGroup, + #[serde(rename = "source")] + pub source: uuid::Uuid, + #[serde( + rename = "attributes", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub attributes: Option>, +} + +impl ScimSourceGroup { + /// SCIMSourceGroup Serializer + pub fn new(id: String, group: uuid::Uuid, group_obj: models::UserGroup, source: uuid::Uuid) -> ScimSourceGroup { + ScimSourceGroup { + id, + group, + group_obj, + source, + attributes: None, + } + } +} diff --git a/src/models/scim_source_group_request.rs b/src/models/scim_source_group_request.rs new file mode 100644 index 0000000..0b30b7a --- /dev/null +++ b/src/models/scim_source_group_request.rs @@ -0,0 +1,42 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ScimSourceGroupRequest : SCIMSourceGroup Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ScimSourceGroupRequest { + #[serde(rename = "id")] + pub id: String, + #[serde(rename = "group")] + pub group: uuid::Uuid, + #[serde(rename = "source")] + pub source: uuid::Uuid, + #[serde( + rename = "attributes", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub attributes: Option>, +} + +impl ScimSourceGroupRequest { + /// SCIMSourceGroup Serializer + pub fn new(id: String, group: uuid::Uuid, source: uuid::Uuid) -> ScimSourceGroupRequest { + ScimSourceGroupRequest { + id, + group, + source, + attributes: None, + } + } +} diff --git a/src/models/scim_source_property_mapping.rs b/src/models/scim_source_property_mapping.rs new file mode 100644 index 0000000..1114b57 --- /dev/null +++ b/src/models/scim_source_property_mapping.rs @@ -0,0 +1,67 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ScimSourcePropertyMapping : SCIMSourcePropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ScimSourcePropertyMapping { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, + /// Get object's component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, +} + +impl ScimSourcePropertyMapping { + /// SCIMSourcePropertyMapping Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + expression: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> ScimSourcePropertyMapping { + ScimSourcePropertyMapping { + pk, + managed: None, + name, + expression, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + } + } +} diff --git a/src/models/scim_source_property_mapping_request.rs b/src/models/scim_source_property_mapping_request.rs new file mode 100644 index 0000000..8d63a63 --- /dev/null +++ b/src/models/scim_source_property_mapping_request.rs @@ -0,0 +1,40 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ScimSourcePropertyMappingRequest : SCIMSourcePropertyMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ScimSourcePropertyMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, +} + +impl ScimSourcePropertyMappingRequest { + /// SCIMSourcePropertyMapping Serializer + pub fn new(name: String, expression: String) -> ScimSourcePropertyMappingRequest { + ScimSourcePropertyMappingRequest { + managed: None, + name, + expression, + } + } +} diff --git a/src/models/scim_source_request.rs b/src/models/scim_source_request.rs new file mode 100644 index 0000000..c974085 --- /dev/null +++ b/src/models/scim_source_request.rs @@ -0,0 +1,45 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ScimSourceRequest : SCIMSource Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ScimSourceRequest { + /// Source's display Name. + #[serde(rename = "name")] + pub name: String, + /// Internal source name, used in URLs. + #[serde(rename = "slug")] + pub slug: String, + #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")] + pub enabled: Option, + #[serde(rename = "user_property_mappings", skip_serializing_if = "Option::is_none")] + pub user_property_mappings: Option>, + #[serde(rename = "group_property_mappings", skip_serializing_if = "Option::is_none")] + pub group_property_mappings: Option>, + #[serde(rename = "user_path_template", skip_serializing_if = "Option::is_none")] + pub user_path_template: Option, +} + +impl ScimSourceRequest { + /// SCIMSource Serializer + pub fn new(name: String, slug: String) -> ScimSourceRequest { + ScimSourceRequest { + name, + slug, + enabled: None, + user_property_mappings: None, + group_property_mappings: None, + user_path_template: None, + } + } +} diff --git a/src/models/scim_source_user.rs b/src/models/scim_source_user.rs new file mode 100644 index 0000000..96a609c --- /dev/null +++ b/src/models/scim_source_user.rs @@ -0,0 +1,45 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ScimSourceUser : SCIMSourceUser Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ScimSourceUser { + #[serde(rename = "id")] + pub id: String, + #[serde(rename = "user")] + pub user: i32, + #[serde(rename = "user_obj")] + pub user_obj: models::GroupMember, + #[serde(rename = "source")] + pub source: uuid::Uuid, + #[serde( + rename = "attributes", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub attributes: Option>, +} + +impl ScimSourceUser { + /// SCIMSourceUser Serializer + pub fn new(id: String, user: i32, user_obj: models::GroupMember, source: uuid::Uuid) -> ScimSourceUser { + ScimSourceUser { + id, + user, + user_obj, + source, + attributes: None, + } + } +} diff --git a/src/models/scim_source_user_request.rs b/src/models/scim_source_user_request.rs new file mode 100644 index 0000000..e43c76d --- /dev/null +++ b/src/models/scim_source_user_request.rs @@ -0,0 +1,42 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ScimSourceUserRequest : SCIMSourceUser Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ScimSourceUserRequest { + #[serde(rename = "id")] + pub id: String, + #[serde(rename = "user")] + pub user: i32, + #[serde(rename = "source")] + pub source: uuid::Uuid, + #[serde( + rename = "attributes", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub attributes: Option>, +} + +impl ScimSourceUserRequest { + /// SCIMSourceUser Serializer + pub fn new(id: String, user: i32, source: uuid::Uuid) -> ScimSourceUserRequest { + ScimSourceUserRequest { + id, + user, + source, + attributes: None, + } + } +} diff --git a/src/models/scope_mapping.rs b/src/models/scope_mapping.rs new file mode 100644 index 0000000..4faa690 --- /dev/null +++ b/src/models/scope_mapping.rs @@ -0,0 +1,76 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ScopeMapping : ScopeMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ScopeMapping { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, + /// Get object's component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + /// Scope name requested by the client + #[serde(rename = "scope_name")] + pub scope_name: String, + /// Description shown to the user when consenting. If left empty, the user won't be informed. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, +} + +impl ScopeMapping { + /// ScopeMapping Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + expression: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + scope_name: String, + ) -> ScopeMapping { + ScopeMapping { + pk, + managed: None, + name, + expression, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + scope_name, + description: None, + } + } +} diff --git a/src/models/scope_mapping_request.rs b/src/models/scope_mapping_request.rs new file mode 100644 index 0000000..f626c11 --- /dev/null +++ b/src/models/scope_mapping_request.rs @@ -0,0 +1,48 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ScopeMappingRequest : ScopeMapping Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ScopeMappingRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "expression")] + pub expression: String, + /// Scope name requested by the client + #[serde(rename = "scope_name")] + pub scope_name: String, + /// Description shown to the user when consenting. If left empty, the user won't be informed. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, +} + +impl ScopeMappingRequest { + /// ScopeMapping Serializer + pub fn new(name: String, expression: String, scope_name: String) -> ScopeMappingRequest { + ScopeMappingRequest { + managed: None, + name, + expression, + scope_name, + description: None, + } + } +} diff --git a/src/models/selectable_stage.rs b/src/models/selectable_stage.rs new file mode 100644 index 0000000..3bb1f40 --- /dev/null +++ b/src/models/selectable_stage.rs @@ -0,0 +1,37 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SelectableStage : Serializer for stages which can be selected by users +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SelectableStage { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "verbose_name")] + pub verbose_name: String, + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, +} + +impl SelectableStage { + /// Serializer for stages which can be selected by users + pub fn new(pk: uuid::Uuid, name: String, verbose_name: String, meta_model_name: String) -> SelectableStage { + SelectableStage { + pk, + name, + verbose_name, + meta_model_name, + } + } +} diff --git a/src/models/service_connection.rs b/src/models/service_connection.rs new file mode 100644 index 0000000..c9e453a --- /dev/null +++ b/src/models/service_connection.rs @@ -0,0 +1,58 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ServiceConnection : ServiceConnection Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ServiceConnection { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// If enabled, use the local connection. Required Docker socket/Kubernetes Integration + #[serde(rename = "local", skip_serializing_if = "Option::is_none")] + pub local: Option, + /// Return component used to edit this object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, +} + +impl ServiceConnection { + /// ServiceConnection Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> ServiceConnection { + ServiceConnection { + pk, + name, + local: None, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + } + } +} diff --git a/src/models/service_connection_request.rs b/src/models/service_connection_request.rs new file mode 100644 index 0000000..4fb7de0 --- /dev/null +++ b/src/models/service_connection_request.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ServiceConnectionRequest : ServiceConnection Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ServiceConnectionRequest { + #[serde(rename = "name")] + pub name: String, + /// If enabled, use the local connection. Required Docker socket/Kubernetes Integration + #[serde(rename = "local", skip_serializing_if = "Option::is_none")] + pub local: Option, +} + +impl ServiceConnectionRequest { + /// ServiceConnection Serializer + pub fn new(name: String) -> ServiceConnectionRequest { + ServiceConnectionRequest { name, local: None } + } +} diff --git a/src/models/service_connection_state.rs b/src/models/service_connection_state.rs new file mode 100644 index 0000000..99dd6b0 --- /dev/null +++ b/src/models/service_connection_state.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ServiceConnectionState : Serializer for Service connection state +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ServiceConnectionState { + #[serde(rename = "healthy")] + pub healthy: bool, + #[serde(rename = "version")] + pub version: String, +} + +impl ServiceConnectionState { + /// Serializer for Service connection state + pub fn new(healthy: bool, version: String) -> ServiceConnectionState { + ServiceConnectionState { healthy, version } + } +} diff --git a/src/models/session_user.rs b/src/models/session_user.rs new file mode 100644 index 0000000..4dee03b --- /dev/null +++ b/src/models/session_user.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SessionUser : Response for the /user/me endpoint, returns the currently active user (as `user` property) and, if this user is being impersonated, the original user in the `original` property. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SessionUser { + #[serde(rename = "user")] + pub user: models::UserSelf, + #[serde(rename = "original", skip_serializing_if = "Option::is_none")] + pub original: Option, +} + +impl SessionUser { + /// Response for the /user/me endpoint, returns the currently active user (as `user` property) and, if this user is being impersonated, the original user in the `original` property. + pub fn new(user: models::UserSelf) -> SessionUser { + SessionUser { user, original: None } + } +} diff --git a/src/models/settings.rs b/src/models/settings.rs new file mode 100644 index 0000000..72cd3e0 --- /dev/null +++ b/src/models/settings.rs @@ -0,0 +1,70 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Settings : Settings Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Settings { + /// Configure how authentik should show avatars for users. + #[serde(rename = "avatars", skip_serializing_if = "Option::is_none")] + pub avatars: Option, + /// Enable the ability for users to change their name. + #[serde(rename = "default_user_change_name", skip_serializing_if = "Option::is_none")] + pub default_user_change_name: Option, + /// Enable the ability for users to change their email address. + #[serde(rename = "default_user_change_email", skip_serializing_if = "Option::is_none")] + pub default_user_change_email: Option, + /// Enable the ability for users to change their username. + #[serde(rename = "default_user_change_username", skip_serializing_if = "Option::is_none")] + pub default_user_change_username: Option, + /// Events will be deleted after this duration.(Format: weeks=3;days=2;hours=3,seconds=2). + #[serde(rename = "event_retention", skip_serializing_if = "Option::is_none")] + pub event_retention: Option, + /// The option configures the footer links on the flow executor pages. + #[serde( + rename = "footer_links", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub footer_links: Option>, + /// When enabled, all the events caused by a user will be deleted upon the user's deletion. + #[serde(rename = "gdpr_compliance", skip_serializing_if = "Option::is_none")] + pub gdpr_compliance: Option, + /// Globally enable/disable impersonation. + #[serde(rename = "impersonation", skip_serializing_if = "Option::is_none")] + pub impersonation: Option, + /// Default token duration + #[serde(rename = "default_token_duration", skip_serializing_if = "Option::is_none")] + pub default_token_duration: Option, + /// Default token length + #[serde(rename = "default_token_length", skip_serializing_if = "Option::is_none")] + pub default_token_length: Option, +} + +impl Settings { + /// Settings Serializer + pub fn new() -> Settings { + Settings { + avatars: None, + default_user_change_name: None, + default_user_change_email: None, + default_user_change_username: None, + event_retention: None, + footer_links: None, + gdpr_compliance: None, + impersonation: None, + default_token_duration: None, + default_token_length: None, + } + } +} diff --git a/src/models/settings_request.rs b/src/models/settings_request.rs new file mode 100644 index 0000000..1ab287c --- /dev/null +++ b/src/models/settings_request.rs @@ -0,0 +1,70 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SettingsRequest : Settings Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SettingsRequest { + /// Configure how authentik should show avatars for users. + #[serde(rename = "avatars", skip_serializing_if = "Option::is_none")] + pub avatars: Option, + /// Enable the ability for users to change their name. + #[serde(rename = "default_user_change_name", skip_serializing_if = "Option::is_none")] + pub default_user_change_name: Option, + /// Enable the ability for users to change their email address. + #[serde(rename = "default_user_change_email", skip_serializing_if = "Option::is_none")] + pub default_user_change_email: Option, + /// Enable the ability for users to change their username. + #[serde(rename = "default_user_change_username", skip_serializing_if = "Option::is_none")] + pub default_user_change_username: Option, + /// Events will be deleted after this duration.(Format: weeks=3;days=2;hours=3,seconds=2). + #[serde(rename = "event_retention", skip_serializing_if = "Option::is_none")] + pub event_retention: Option, + /// The option configures the footer links on the flow executor pages. + #[serde( + rename = "footer_links", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub footer_links: Option>, + /// When enabled, all the events caused by a user will be deleted upon the user's deletion. + #[serde(rename = "gdpr_compliance", skip_serializing_if = "Option::is_none")] + pub gdpr_compliance: Option, + /// Globally enable/disable impersonation. + #[serde(rename = "impersonation", skip_serializing_if = "Option::is_none")] + pub impersonation: Option, + /// Default token duration + #[serde(rename = "default_token_duration", skip_serializing_if = "Option::is_none")] + pub default_token_duration: Option, + /// Default token length + #[serde(rename = "default_token_length", skip_serializing_if = "Option::is_none")] + pub default_token_length: Option, +} + +impl SettingsRequest { + /// Settings Serializer + pub fn new() -> SettingsRequest { + SettingsRequest { + avatars: None, + default_user_change_name: None, + default_user_change_email: None, + default_user_change_username: None, + event_retention: None, + footer_links: None, + gdpr_compliance: None, + impersonation: None, + default_token_duration: None, + default_token_length: None, + } + } +} diff --git a/src/models/severity_enum.rs b/src/models/severity_enum.rs new file mode 100644 index 0000000..583a359 --- /dev/null +++ b/src/models/severity_enum.rs @@ -0,0 +1,39 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SeverityEnum { + #[serde(rename = "notice")] + Notice, + #[serde(rename = "warning")] + Warning, + #[serde(rename = "alert")] + Alert, +} + +impl std::fmt::Display for SeverityEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Notice => write!(f, "notice"), + Self::Warning => write!(f, "warning"), + Self::Alert => write!(f, "alert"), + } + } +} + +impl Default for SeverityEnum { + fn default() -> SeverityEnum { + Self::Notice + } +} diff --git a/src/models/shell_challenge.rs b/src/models/shell_challenge.rs new file mode 100644 index 0000000..42b60d0 --- /dev/null +++ b/src/models/shell_challenge.rs @@ -0,0 +1,37 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ShellChallenge : challenge type to render HTML as-is +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ShellChallenge { + #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")] + pub flow_info: Option, + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")] + pub response_errors: Option>>, + #[serde(rename = "body")] + pub body: String, +} + +impl ShellChallenge { + /// challenge type to render HTML as-is + pub fn new(body: String) -> ShellChallenge { + ShellChallenge { + flow_info: None, + component: None, + response_errors: None, + body, + } + } +} diff --git a/src/models/signature_algorithm_enum.rs b/src/models/signature_algorithm_enum.rs new file mode 100644 index 0000000..817895e --- /dev/null +++ b/src/models/signature_algorithm_enum.rs @@ -0,0 +1,71 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SignatureAlgorithmEnum { + #[serde(rename = "http://www.w3.org/2000/09/xmldsig#rsa-sha1")] + Variant2000Slash09SlashXmldsigHashRsaSha1, + #[serde(rename = "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256")] + Variant2001Slash04SlashXmldsigMoreHashRsaSha256, + #[serde(rename = "http://www.w3.org/2001/04/xmldsig-more#rsa-sha384")] + Variant2001Slash04SlashXmldsigMoreHashRsaSha384, + #[serde(rename = "http://www.w3.org/2001/04/xmldsig-more#rsa-sha512")] + Variant2001Slash04SlashXmldsigMoreHashRsaSha512, + #[serde(rename = "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1")] + Variant2001Slash04SlashXmldsigMoreHashEcdsaSha1, + #[serde(rename = "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256")] + Variant2001Slash04SlashXmldsigMoreHashEcdsaSha256, + #[serde(rename = "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha384")] + Variant2001Slash04SlashXmldsigMoreHashEcdsaSha384, + #[serde(rename = "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512")] + Variant2001Slash04SlashXmldsigMoreHashEcdsaSha512, + #[serde(rename = "http://www.w3.org/2000/09/xmldsig#dsa-sha1")] + Variant2000Slash09SlashXmldsigHashDsaSha1, +} + +impl std::fmt::Display for SignatureAlgorithmEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Variant2000Slash09SlashXmldsigHashRsaSha1 => write!(f, "http://www.w3.org/2000/09/xmldsig#rsa-sha1"), + Self::Variant2001Slash04SlashXmldsigMoreHashRsaSha256 => { + write!(f, "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256") + } + Self::Variant2001Slash04SlashXmldsigMoreHashRsaSha384 => { + write!(f, "http://www.w3.org/2001/04/xmldsig-more#rsa-sha384") + } + Self::Variant2001Slash04SlashXmldsigMoreHashRsaSha512 => { + write!(f, "http://www.w3.org/2001/04/xmldsig-more#rsa-sha512") + } + Self::Variant2001Slash04SlashXmldsigMoreHashEcdsaSha1 => { + write!(f, "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1") + } + Self::Variant2001Slash04SlashXmldsigMoreHashEcdsaSha256 => { + write!(f, "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256") + } + Self::Variant2001Slash04SlashXmldsigMoreHashEcdsaSha384 => { + write!(f, "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha384") + } + Self::Variant2001Slash04SlashXmldsigMoreHashEcdsaSha512 => { + write!(f, "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512") + } + Self::Variant2000Slash09SlashXmldsigHashDsaSha1 => write!(f, "http://www.w3.org/2000/09/xmldsig#dsa-sha1"), + } + } +} + +impl Default for SignatureAlgorithmEnum { + fn default() -> SignatureAlgorithmEnum { + Self::Variant2000Slash09SlashXmldsigHashRsaSha1 + } +} diff --git a/src/models/sms_device.rs b/src/models/sms_device.rs new file mode 100644 index 0000000..3f466b3 --- /dev/null +++ b/src/models/sms_device.rs @@ -0,0 +1,31 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SmsDevice : Serializer for sms authenticator devices +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SmsDevice { + /// The human-readable name of this device. + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "phone_number")] + pub phone_number: String, +} + +impl SmsDevice { + /// Serializer for sms authenticator devices + pub fn new(name: String, pk: i32, phone_number: String) -> SmsDevice { + SmsDevice { name, pk, phone_number } + } +} diff --git a/src/models/sms_device_request.rs b/src/models/sms_device_request.rs new file mode 100644 index 0000000..d15f2f1 --- /dev/null +++ b/src/models/sms_device_request.rs @@ -0,0 +1,27 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SmsDeviceRequest : Serializer for sms authenticator devices +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SmsDeviceRequest { + /// The human-readable name of this device. + #[serde(rename = "name")] + pub name: String, +} + +impl SmsDeviceRequest { + /// Serializer for sms authenticator devices + pub fn new(name: String) -> SmsDeviceRequest { + SmsDeviceRequest { name } + } +} diff --git a/src/models/source.rs b/src/models/source.rs new file mode 100644 index 0000000..deb3321 --- /dev/null +++ b/src/models/source.rs @@ -0,0 +1,107 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Source : Source Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Source { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + /// Source's display Name. + #[serde(rename = "name")] + pub name: String, + /// Internal source name, used in URLs. + #[serde(rename = "slug")] + pub slug: String, + #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")] + pub enabled: Option, + /// Flow to use when authenticating existing users. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow to use when enrolling new users. + #[serde( + rename = "enrollment_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub enrollment_flow: Option>, + #[serde(rename = "user_property_mappings", skip_serializing_if = "Option::is_none")] + pub user_property_mappings: Option>, + #[serde(rename = "group_property_mappings", skip_serializing_if = "Option::is_none")] + pub group_property_mappings: Option>, + /// Get object component so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + /// How the source determines if an existing user should be authenticated or a new user enrolled. + #[serde(rename = "user_matching_mode", skip_serializing_if = "Option::is_none")] + pub user_matching_mode: Option, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde(rename = "managed", deserialize_with = "Option::deserialize")] + pub managed: Option, + #[serde(rename = "user_path_template", skip_serializing_if = "Option::is_none")] + pub user_path_template: Option, + /// Get the URL to the Icon. If the name is /static or starts with http it is returned as-is + #[serde(rename = "icon", deserialize_with = "Option::deserialize")] + pub icon: Option, +} + +impl Source { + /// Source Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + slug: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + managed: Option, + icon: Option, + ) -> Source { + Source { + pk, + name, + slug, + enabled: None, + authentication_flow: None, + enrollment_flow: None, + user_property_mappings: None, + group_property_mappings: None, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + policy_engine_mode: None, + user_matching_mode: None, + managed, + user_path_template: None, + icon, + } + } +} diff --git a/src/models/source_request.rs b/src/models/source_request.rs new file mode 100644 index 0000000..fdc156e --- /dev/null +++ b/src/models/source_request.rs @@ -0,0 +1,70 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SourceRequest : Source Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SourceRequest { + /// Source's display Name. + #[serde(rename = "name")] + pub name: String, + /// Internal source name, used in URLs. + #[serde(rename = "slug")] + pub slug: String, + #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")] + pub enabled: Option, + /// Flow to use when authenticating existing users. + #[serde( + rename = "authentication_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub authentication_flow: Option>, + /// Flow to use when enrolling new users. + #[serde( + rename = "enrollment_flow", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub enrollment_flow: Option>, + #[serde(rename = "user_property_mappings", skip_serializing_if = "Option::is_none")] + pub user_property_mappings: Option>, + #[serde(rename = "group_property_mappings", skip_serializing_if = "Option::is_none")] + pub group_property_mappings: Option>, + #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")] + pub policy_engine_mode: Option, + /// How the source determines if an existing user should be authenticated or a new user enrolled. + #[serde(rename = "user_matching_mode", skip_serializing_if = "Option::is_none")] + pub user_matching_mode: Option, + #[serde(rename = "user_path_template", skip_serializing_if = "Option::is_none")] + pub user_path_template: Option, +} + +impl SourceRequest { + /// Source Serializer + pub fn new(name: String, slug: String) -> SourceRequest { + SourceRequest { + name, + slug, + enabled: None, + authentication_flow: None, + enrollment_flow: None, + user_property_mappings: None, + group_property_mappings: None, + policy_engine_mode: None, + user_matching_mode: None, + user_path_template: None, + } + } +} diff --git a/src/models/source_stage.rs b/src/models/source_stage.rs new file mode 100644 index 0000000..0116f18 --- /dev/null +++ b/src/models/source_stage.rs @@ -0,0 +1,65 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SourceStage : SourceStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SourceStage { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Get object type so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + #[serde(rename = "source")] + pub source: uuid::Uuid, + /// Amount of time a user can take to return from the source to continue the flow (Format: hours=-1;minutes=-2;seconds=-3) + #[serde(rename = "resume_timeout", skip_serializing_if = "Option::is_none")] + pub resume_timeout: Option, +} + +impl SourceStage { + /// SourceStage Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + source: uuid::Uuid, + ) -> SourceStage { + SourceStage { + pk, + name, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + flow_set: None, + source, + resume_timeout: None, + } + } +} diff --git a/src/models/source_stage_request.rs b/src/models/source_stage_request.rs new file mode 100644 index 0000000..0e5273c --- /dev/null +++ b/src/models/source_stage_request.rs @@ -0,0 +1,38 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SourceStageRequest : SourceStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SourceStageRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + #[serde(rename = "source")] + pub source: uuid::Uuid, + /// Amount of time a user can take to return from the source to continue the flow (Format: hours=-1;minutes=-2;seconds=-3) + #[serde(rename = "resume_timeout", skip_serializing_if = "Option::is_none")] + pub resume_timeout: Option, +} + +impl SourceStageRequest { + /// SourceStage Serializer + pub fn new(name: String, source: uuid::Uuid) -> SourceStageRequest { + SourceStageRequest { + name, + flow_set: None, + source, + resume_timeout: None, + } + } +} diff --git a/src/models/source_type.rs b/src/models/source_type.rs new file mode 100644 index 0000000..2d2373f --- /dev/null +++ b/src/models/source_type.rs @@ -0,0 +1,62 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SourceType : Serializer for SourceType +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SourceType { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "verbose_name")] + pub verbose_name: String, + #[serde(rename = "urls_customizable")] + pub urls_customizable: bool, + #[serde(rename = "request_token_url", deserialize_with = "Option::deserialize")] + pub request_token_url: Option, + #[serde(rename = "authorization_url", deserialize_with = "Option::deserialize")] + pub authorization_url: Option, + #[serde(rename = "access_token_url", deserialize_with = "Option::deserialize")] + pub access_token_url: Option, + #[serde(rename = "profile_url", deserialize_with = "Option::deserialize")] + pub profile_url: Option, + #[serde(rename = "oidc_well_known_url", deserialize_with = "Option::deserialize")] + pub oidc_well_known_url: Option, + #[serde(rename = "oidc_jwks_url", deserialize_with = "Option::deserialize")] + pub oidc_jwks_url: Option, +} + +impl SourceType { + /// Serializer for SourceType + pub fn new( + name: String, + verbose_name: String, + urls_customizable: bool, + request_token_url: Option, + authorization_url: Option, + access_token_url: Option, + profile_url: Option, + oidc_well_known_url: Option, + oidc_jwks_url: Option, + ) -> SourceType { + SourceType { + name, + verbose_name, + urls_customizable, + request_token_url, + authorization_url, + access_token_url, + profile_url, + oidc_well_known_url, + oidc_jwks_url, + } + } +} diff --git a/src/models/sp_binding_enum.rs b/src/models/sp_binding_enum.rs new file mode 100644 index 0000000..ca2ff80 --- /dev/null +++ b/src/models/sp_binding_enum.rs @@ -0,0 +1,36 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SpBindingEnum { + #[serde(rename = "redirect")] + Redirect, + #[serde(rename = "post")] + Post, +} + +impl std::fmt::Display for SpBindingEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Redirect => write!(f, "redirect"), + Self::Post => write!(f, "post"), + } + } +} + +impl Default for SpBindingEnum { + fn default() -> SpBindingEnum { + Self::Redirect + } +} diff --git a/src/models/stage.rs b/src/models/stage.rs new file mode 100644 index 0000000..7d3df70 --- /dev/null +++ b/src/models/stage.rs @@ -0,0 +1,57 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Stage : Stage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Stage { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Get object type so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, +} + +impl Stage { + /// Stage Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> Stage { + Stage { + pk, + name, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + flow_set: None, + } + } +} diff --git a/src/models/stage_prompt.rs b/src/models/stage_prompt.rs new file mode 100644 index 0000000..d4378ca --- /dev/null +++ b/src/models/stage_prompt.rs @@ -0,0 +1,62 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// StagePrompt : Serializer for a single Prompt field +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct StagePrompt { + #[serde(rename = "field_key")] + pub field_key: String, + #[serde(rename = "label")] + pub label: String, + #[serde(rename = "type")] + pub r#type: models::PromptTypeEnum, + #[serde(rename = "required")] + pub required: bool, + #[serde(rename = "placeholder")] + pub placeholder: String, + #[serde(rename = "initial_value")] + pub initial_value: String, + #[serde(rename = "order")] + pub order: i32, + #[serde(rename = "sub_text")] + pub sub_text: String, + #[serde(rename = "choices", deserialize_with = "Option::deserialize")] + pub choices: Option>, +} + +impl StagePrompt { + /// Serializer for a single Prompt field + pub fn new( + field_key: String, + label: String, + r#type: models::PromptTypeEnum, + required: bool, + placeholder: String, + initial_value: String, + order: i32, + sub_text: String, + choices: Option>, + ) -> StagePrompt { + StagePrompt { + field_key, + label, + r#type, + required, + placeholder, + initial_value, + order, + sub_text, + choices, + } + } +} diff --git a/src/models/stage_request.rs b/src/models/stage_request.rs new file mode 100644 index 0000000..66997dc --- /dev/null +++ b/src/models/stage_request.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// StageRequest : Stage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct StageRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, +} + +impl StageRequest { + /// Stage Serializer + pub fn new(name: String) -> StageRequest { + StageRequest { name, flow_set: None } + } +} diff --git a/src/models/static_device.rs b/src/models/static_device.rs new file mode 100644 index 0000000..ac731eb --- /dev/null +++ b/src/models/static_device.rs @@ -0,0 +1,31 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// StaticDevice : Serializer for static authenticator devices +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct StaticDevice { + /// The human-readable name of this device. + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "token_set")] + pub token_set: Vec, + #[serde(rename = "pk")] + pub pk: i32, +} + +impl StaticDevice { + /// Serializer for static authenticator devices + pub fn new(name: String, token_set: Vec, pk: i32) -> StaticDevice { + StaticDevice { name, token_set, pk } + } +} diff --git a/src/models/static_device_request.rs b/src/models/static_device_request.rs new file mode 100644 index 0000000..2d193e9 --- /dev/null +++ b/src/models/static_device_request.rs @@ -0,0 +1,27 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// StaticDeviceRequest : Serializer for static authenticator devices +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct StaticDeviceRequest { + /// The human-readable name of this device. + #[serde(rename = "name")] + pub name: String, +} + +impl StaticDeviceRequest { + /// Serializer for static authenticator devices + pub fn new(name: String) -> StaticDeviceRequest { + StaticDeviceRequest { name } + } +} diff --git a/src/models/static_device_token.rs b/src/models/static_device_token.rs new file mode 100644 index 0000000..7522025 --- /dev/null +++ b/src/models/static_device_token.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// StaticDeviceToken : Serializer for static device's tokens +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct StaticDeviceToken { + #[serde(rename = "token")] + pub token: String, +} + +impl StaticDeviceToken { + /// Serializer for static device's tokens + pub fn new(token: String) -> StaticDeviceToken { + StaticDeviceToken { token } + } +} diff --git a/src/models/static_device_token_request.rs b/src/models/static_device_token_request.rs new file mode 100644 index 0000000..3909d12 --- /dev/null +++ b/src/models/static_device_token_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// StaticDeviceTokenRequest : Serializer for static device's tokens +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct StaticDeviceTokenRequest { + #[serde(rename = "token")] + pub token: String, +} + +impl StaticDeviceTokenRequest { + /// Serializer for static device's tokens + pub fn new(token: String) -> StaticDeviceTokenRequest { + StaticDeviceTokenRequest { token } + } +} diff --git a/src/models/sub_mode_enum.rs b/src/models/sub_mode_enum.rs new file mode 100644 index 0000000..cb508f9 --- /dev/null +++ b/src/models/sub_mode_enum.rs @@ -0,0 +1,48 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SubModeEnum { + #[serde(rename = "hashed_user_id")] + HashedUserId, + #[serde(rename = "user_id")] + UserId, + #[serde(rename = "user_uuid")] + UserUuid, + #[serde(rename = "user_username")] + UserUsername, + #[serde(rename = "user_email")] + UserEmail, + #[serde(rename = "user_upn")] + UserUpn, +} + +impl std::fmt::Display for SubModeEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::HashedUserId => write!(f, "hashed_user_id"), + Self::UserId => write!(f, "user_id"), + Self::UserUuid => write!(f, "user_uuid"), + Self::UserUsername => write!(f, "user_username"), + Self::UserEmail => write!(f, "user_email"), + Self::UserUpn => write!(f, "user_upn"), + } + } +} + +impl Default for SubModeEnum { + fn default() -> SubModeEnum { + Self::HashedUserId + } +} diff --git a/src/models/sync_object_model_enum.rs b/src/models/sync_object_model_enum.rs new file mode 100644 index 0000000..fb75074 --- /dev/null +++ b/src/models/sync_object_model_enum.rs @@ -0,0 +1,36 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SyncObjectModelEnum { + #[serde(rename = "authentik.core.models.User")] + User, + #[serde(rename = "authentik.core.models.Group")] + Group, +} + +impl std::fmt::Display for SyncObjectModelEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::User => write!(f, "authentik.core.models.User"), + Self::Group => write!(f, "authentik.core.models.Group"), + } + } +} + +impl Default for SyncObjectModelEnum { + fn default() -> SyncObjectModelEnum { + Self::User + } +} diff --git a/src/models/sync_object_request.rs b/src/models/sync_object_request.rs new file mode 100644 index 0000000..ce1a564 --- /dev/null +++ b/src/models/sync_object_request.rs @@ -0,0 +1,31 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SyncObjectRequest : Sync object serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SyncObjectRequest { + #[serde(rename = "sync_object_model")] + pub sync_object_model: models::SyncObjectModelEnum, + #[serde(rename = "sync_object_id")] + pub sync_object_id: String, +} + +impl SyncObjectRequest { + /// Sync object serializer + pub fn new(sync_object_model: models::SyncObjectModelEnum, sync_object_id: String) -> SyncObjectRequest { + SyncObjectRequest { + sync_object_model, + sync_object_id, + } + } +} diff --git a/src/models/sync_object_result.rs b/src/models/sync_object_result.rs new file mode 100644 index 0000000..ac121b1 --- /dev/null +++ b/src/models/sync_object_result.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SyncObjectResult : Result of a single object sync +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SyncObjectResult { + #[serde(rename = "messages")] + pub messages: Vec, +} + +impl SyncObjectResult { + /// Result of a single object sync + pub fn new(messages: Vec) -> SyncObjectResult { + SyncObjectResult { messages } + } +} diff --git a/src/models/sync_status.rs b/src/models/sync_status.rs new file mode 100644 index 0000000..ef7ade4 --- /dev/null +++ b/src/models/sync_status.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SyncStatus : Provider sync status +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SyncStatus { + #[serde(rename = "is_running")] + pub is_running: bool, + #[serde(rename = "tasks")] + pub tasks: Vec, +} + +impl SyncStatus { + /// Provider sync status + pub fn new(is_running: bool, tasks: Vec) -> SyncStatus { + SyncStatus { is_running, tasks } + } +} diff --git a/src/models/system_info.rs b/src/models/system_info.rs new file mode 100644 index 0000000..a8f7162 --- /dev/null +++ b/src/models/system_info.rs @@ -0,0 +1,65 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SystemInfo : Get system information. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SystemInfo { + /// Get HTTP Request headers + #[serde(rename = "http_headers")] + pub http_headers: std::collections::HashMap, + /// Get HTTP host + #[serde(rename = "http_host")] + pub http_host: String, + /// Get HTTP Secure flag + #[serde(rename = "http_is_secure")] + pub http_is_secure: bool, + #[serde(rename = "runtime")] + pub runtime: models::SystemInfoRuntime, + /// Currently active brand + #[serde(rename = "brand")] + pub brand: String, + /// Current server time + #[serde(rename = "server_time")] + pub server_time: String, + /// Whether the embedded outpost is disabled + #[serde(rename = "embedded_outpost_disabled")] + pub embedded_outpost_disabled: bool, + /// Get the FQDN configured on the embedded outpost + #[serde(rename = "embedded_outpost_host")] + pub embedded_outpost_host: String, +} + +impl SystemInfo { + /// Get system information. + pub fn new( + http_headers: std::collections::HashMap, + http_host: String, + http_is_secure: bool, + runtime: models::SystemInfoRuntime, + brand: String, + server_time: String, + embedded_outpost_disabled: bool, + embedded_outpost_host: String, + ) -> SystemInfo { + SystemInfo { + http_headers, + http_host, + http_is_secure, + runtime, + brand, + server_time, + embedded_outpost_disabled, + embedded_outpost_host, + } + } +} diff --git a/src/models/system_info_runtime.rs b/src/models/system_info_runtime.rs new file mode 100644 index 0000000..82ad32c --- /dev/null +++ b/src/models/system_info_runtime.rs @@ -0,0 +1,58 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SystemInfoRuntime : Get versions +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SystemInfoRuntime { + #[serde(rename = "python_version")] + pub python_version: String, + #[serde(rename = "environment")] + pub environment: String, + #[serde(rename = "architecture")] + pub architecture: String, + #[serde(rename = "platform")] + pub platform: String, + #[serde(rename = "uname")] + pub uname: String, + #[serde(rename = "openssl_version")] + pub openssl_version: String, + #[serde(rename = "openssl_fips_enabled", deserialize_with = "Option::deserialize")] + pub openssl_fips_enabled: Option, + #[serde(rename = "authentik_version")] + pub authentik_version: String, +} + +impl SystemInfoRuntime { + /// Get versions + pub fn new( + python_version: String, + environment: String, + architecture: String, + platform: String, + uname: String, + openssl_version: String, + openssl_fips_enabled: Option, + authentik_version: String, + ) -> SystemInfoRuntime { + SystemInfoRuntime { + python_version, + environment, + architecture, + platform, + uname, + openssl_version, + openssl_fips_enabled, + authentik_version, + } + } +} diff --git a/src/models/system_task.rs b/src/models/system_task.rs new file mode 100644 index 0000000..ddc05b6 --- /dev/null +++ b/src/models/system_task.rs @@ -0,0 +1,77 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SystemTask : Serialize TaskInfo and TaskResult +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SystemTask { + #[serde(rename = "uuid")] + pub uuid: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Get full name with UID + #[serde(rename = "full_name")] + pub full_name: String, + #[serde(rename = "uid", skip_serializing_if = "Option::is_none")] + pub uid: Option, + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "start_timestamp")] + pub start_timestamp: String, + #[serde(rename = "finish_timestamp")] + pub finish_timestamp: String, + #[serde(rename = "duration")] + pub duration: f64, + #[serde(rename = "status")] + pub status: models::SystemTaskStatusEnum, + #[serde(rename = "messages")] + pub messages: Vec, + #[serde( + rename = "expires", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub expires: Option>, + #[serde(rename = "expiring", skip_serializing_if = "Option::is_none")] + pub expiring: Option, +} + +impl SystemTask { + /// Serialize TaskInfo and TaskResult + pub fn new( + uuid: uuid::Uuid, + name: String, + full_name: String, + description: String, + start_timestamp: String, + finish_timestamp: String, + duration: f64, + status: models::SystemTaskStatusEnum, + messages: Vec, + ) -> SystemTask { + SystemTask { + uuid, + name, + full_name, + uid: None, + description, + start_timestamp, + finish_timestamp, + duration, + status, + messages, + expires: None, + expiring: None, + } + } +} diff --git a/src/models/system_task_status_enum.rs b/src/models/system_task_status_enum.rs new file mode 100644 index 0000000..f07df5f --- /dev/null +++ b/src/models/system_task_status_enum.rs @@ -0,0 +1,42 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SystemTaskStatusEnum { + #[serde(rename = "unknown")] + Unknown, + #[serde(rename = "successful")] + Successful, + #[serde(rename = "warning")] + Warning, + #[serde(rename = "error")] + Error, +} + +impl std::fmt::Display for SystemTaskStatusEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Unknown => write!(f, "unknown"), + Self::Successful => write!(f, "successful"), + Self::Warning => write!(f, "warning"), + Self::Error => write!(f, "error"), + } + } +} + +impl Default for SystemTaskStatusEnum { + fn default() -> SystemTaskStatusEnum { + Self::Unknown + } +} diff --git a/src/models/tenant.rs b/src/models/tenant.rs new file mode 100644 index 0000000..e6a55e7 --- /dev/null +++ b/src/models/tenant.rs @@ -0,0 +1,37 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Tenant : Tenant Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Tenant { + #[serde(rename = "tenant_uuid")] + pub tenant_uuid: uuid::Uuid, + #[serde(rename = "schema_name")] + pub schema_name: String, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "ready", skip_serializing_if = "Option::is_none")] + pub ready: Option, +} + +impl Tenant { + /// Tenant Serializer + pub fn new(tenant_uuid: uuid::Uuid, schema_name: String, name: String) -> Tenant { + Tenant { + tenant_uuid, + schema_name, + name, + ready: None, + } + } +} diff --git a/src/models/tenant_admin_group_request_request.rs b/src/models/tenant_admin_group_request_request.rs new file mode 100644 index 0000000..300dfe0 --- /dev/null +++ b/src/models/tenant_admin_group_request_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// TenantAdminGroupRequestRequest : Tenant admin group creation request serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TenantAdminGroupRequestRequest { + #[serde(rename = "user")] + pub user: String, +} + +impl TenantAdminGroupRequestRequest { + /// Tenant admin group creation request serializer + pub fn new(user: String) -> TenantAdminGroupRequestRequest { + TenantAdminGroupRequestRequest { user } + } +} diff --git a/src/models/tenant_recovery_key_request_request.rs b/src/models/tenant_recovery_key_request_request.rs new file mode 100644 index 0000000..5b2eeb7 --- /dev/null +++ b/src/models/tenant_recovery_key_request_request.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// TenantRecoveryKeyRequestRequest : Tenant recovery key creation request serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TenantRecoveryKeyRequestRequest { + #[serde(rename = "user")] + pub user: String, + #[serde(rename = "duration_days")] + pub duration_days: i32, +} + +impl TenantRecoveryKeyRequestRequest { + /// Tenant recovery key creation request serializer + pub fn new(user: String, duration_days: i32) -> TenantRecoveryKeyRequestRequest { + TenantRecoveryKeyRequestRequest { user, duration_days } + } +} diff --git a/src/models/tenant_recovery_key_response.rs b/src/models/tenant_recovery_key_response.rs new file mode 100644 index 0000000..aa21784 --- /dev/null +++ b/src/models/tenant_recovery_key_response.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// TenantRecoveryKeyResponse : Tenant recovery key creation response serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TenantRecoveryKeyResponse { + #[serde(rename = "expiry")] + pub expiry: String, + #[serde(rename = "url")] + pub url: String, +} + +impl TenantRecoveryKeyResponse { + /// Tenant recovery key creation response serializer + pub fn new(expiry: String, url: String) -> TenantRecoveryKeyResponse { + TenantRecoveryKeyResponse { expiry, url } + } +} diff --git a/src/models/tenant_request.rs b/src/models/tenant_request.rs new file mode 100644 index 0000000..7a8cc9c --- /dev/null +++ b/src/models/tenant_request.rs @@ -0,0 +1,34 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// TenantRequest : Tenant Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TenantRequest { + #[serde(rename = "schema_name")] + pub schema_name: String, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "ready", skip_serializing_if = "Option::is_none")] + pub ready: Option, +} + +impl TenantRequest { + /// Tenant Serializer + pub fn new(schema_name: String, name: String) -> TenantRequest { + TenantRequest { + schema_name, + name, + ready: None, + } + } +} diff --git a/src/models/token.rs b/src/models/token.rs new file mode 100644 index 0000000..d23a315 --- /dev/null +++ b/src/models/token.rs @@ -0,0 +1,63 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Token : Token Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Token { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "identifier")] + pub identifier: String, + #[serde(rename = "intent", skip_serializing_if = "Option::is_none")] + pub intent: Option, + #[serde(rename = "user", skip_serializing_if = "Option::is_none")] + pub user: Option, + #[serde(rename = "user_obj")] + pub user_obj: models::User, + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + #[serde( + rename = "expires", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub expires: Option>, + #[serde(rename = "expiring", skip_serializing_if = "Option::is_none")] + pub expiring: Option, +} + +impl Token { + /// Token Serializer + pub fn new(pk: uuid::Uuid, identifier: String, user_obj: models::User) -> Token { + Token { + pk, + managed: None, + identifier, + intent: None, + user: None, + user_obj, + description: None, + expires: None, + expiring: None, + } + } +} diff --git a/src/models/token_model.rs b/src/models/token_model.rs new file mode 100644 index 0000000..6a667f9 --- /dev/null +++ b/src/models/token_model.rs @@ -0,0 +1,63 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// TokenModel : Serializer for BaseGrantModel and RefreshToken +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TokenModel { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "provider")] + pub provider: models::OAuth2Provider, + #[serde(rename = "user")] + pub user: models::User, + /// Check if token is expired yet. + #[serde(rename = "is_expired")] + pub is_expired: bool, + #[serde( + rename = "expires", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub expires: Option>, + #[serde(rename = "scope")] + pub scope: Vec, + /// Get the token's id_token as JSON String + #[serde(rename = "id_token")] + pub id_token: String, + #[serde(rename = "revoked", skip_serializing_if = "Option::is_none")] + pub revoked: Option, +} + +impl TokenModel { + /// Serializer for BaseGrantModel and RefreshToken + pub fn new( + pk: i32, + provider: models::OAuth2Provider, + user: models::User, + is_expired: bool, + scope: Vec, + id_token: String, + ) -> TokenModel { + TokenModel { + pk, + provider, + user, + is_expired, + expires: None, + scope, + id_token, + revoked: None, + } + } +} diff --git a/src/models/token_request.rs b/src/models/token_request.rs new file mode 100644 index 0000000..5c49eca --- /dev/null +++ b/src/models/token_request.rs @@ -0,0 +1,57 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// TokenRequest : Token Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TokenRequest { + /// Objects that are managed by authentik. These objects are created and updated automatically. This flag only indicates that an object can be overwritten by migrations. You can still modify the objects via the API, but expect changes to be overwritten in a later update. + #[serde( + rename = "managed", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub managed: Option>, + #[serde(rename = "identifier")] + pub identifier: String, + #[serde(rename = "intent", skip_serializing_if = "Option::is_none")] + pub intent: Option, + #[serde(rename = "user", skip_serializing_if = "Option::is_none")] + pub user: Option, + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + #[serde( + rename = "expires", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub expires: Option>, + #[serde(rename = "expiring", skip_serializing_if = "Option::is_none")] + pub expiring: Option, +} + +impl TokenRequest { + /// Token Serializer + pub fn new(identifier: String) -> TokenRequest { + TokenRequest { + managed: None, + identifier, + intent: None, + user: None, + description: None, + expires: None, + expiring: None, + } + } +} diff --git a/src/models/token_set_key_request.rs b/src/models/token_set_key_request.rs new file mode 100644 index 0000000..5a8a920 --- /dev/null +++ b/src/models/token_set_key_request.rs @@ -0,0 +1,24 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TokenSetKeyRequest { + #[serde(rename = "key")] + pub key: String, +} + +impl TokenSetKeyRequest { + pub fn new(key: String) -> TokenSetKeyRequest { + TokenSetKeyRequest { key } + } +} diff --git a/src/models/token_view.rs b/src/models/token_view.rs new file mode 100644 index 0000000..5e8573d --- /dev/null +++ b/src/models/token_view.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// TokenView : Show token's current key +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TokenView { + #[serde(rename = "key")] + pub key: String, +} + +impl TokenView { + /// Show token's current key + pub fn new(key: String) -> TokenView { + TokenView { key } + } +} diff --git a/src/models/totp_device.rs b/src/models/totp_device.rs new file mode 100644 index 0000000..ce70c34 --- /dev/null +++ b/src/models/totp_device.rs @@ -0,0 +1,29 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// TotpDevice : Serializer for totp authenticator devices +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TotpDevice { + /// The human-readable name of this device. + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "pk")] + pub pk: i32, +} + +impl TotpDevice { + /// Serializer for totp authenticator devices + pub fn new(name: String, pk: i32) -> TotpDevice { + TotpDevice { name, pk } + } +} diff --git a/src/models/totp_device_request.rs b/src/models/totp_device_request.rs new file mode 100644 index 0000000..9763a7d --- /dev/null +++ b/src/models/totp_device_request.rs @@ -0,0 +1,27 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// TotpDeviceRequest : Serializer for totp authenticator devices +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TotpDeviceRequest { + /// The human-readable name of this device. + #[serde(rename = "name")] + pub name: String, +} + +impl TotpDeviceRequest { + /// Serializer for totp authenticator devices + pub fn new(name: String) -> TotpDeviceRequest { + TotpDeviceRequest { name } + } +} diff --git a/src/models/transaction_application_request.rs b/src/models/transaction_application_request.rs new file mode 100644 index 0000000..25ec89e --- /dev/null +++ b/src/models/transaction_application_request.rs @@ -0,0 +1,38 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// TransactionApplicationRequest : Serializer for creating a provider and an application in one transaction +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TransactionApplicationRequest { + #[serde(rename = "app")] + pub app: models::ApplicationRequest, + #[serde(rename = "provider_model")] + pub provider_model: models::ProviderModelEnum, + #[serde(rename = "provider")] + pub provider: models::ModelRequest, +} + +impl TransactionApplicationRequest { + /// Serializer for creating a provider and an application in one transaction + pub fn new( + app: models::ApplicationRequest, + provider_model: models::ProviderModelEnum, + provider: models::ModelRequest, + ) -> TransactionApplicationRequest { + TransactionApplicationRequest { + app, + provider_model, + provider, + } + } +} diff --git a/src/models/transaction_application_response.rs b/src/models/transaction_application_response.rs new file mode 100644 index 0000000..68c6c82 --- /dev/null +++ b/src/models/transaction_application_response.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// TransactionApplicationResponse : Transactional creation response +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TransactionApplicationResponse { + #[serde(rename = "applied")] + pub applied: bool, + #[serde(rename = "logs")] + pub logs: Vec, +} + +impl TransactionApplicationResponse { + /// Transactional creation response + pub fn new(applied: bool, logs: Vec) -> TransactionApplicationResponse { + TransactionApplicationResponse { applied, logs } + } +} diff --git a/src/models/type_create.rs b/src/models/type_create.rs new file mode 100644 index 0000000..007cdee --- /dev/null +++ b/src/models/type_create.rs @@ -0,0 +1,43 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// TypeCreate : Types of an object that can be created +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TypeCreate { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "component")] + pub component: String, + #[serde(rename = "model_name")] + pub model_name: String, + #[serde(rename = "icon_url", skip_serializing_if = "Option::is_none")] + pub icon_url: Option, + #[serde(rename = "requires_enterprise", skip_serializing_if = "Option::is_none")] + pub requires_enterprise: Option, +} + +impl TypeCreate { + /// Types of an object that can be created + pub fn new(name: String, description: String, component: String, model_name: String) -> TypeCreate { + TypeCreate { + name, + description, + component, + model_name, + icon_url: None, + requires_enterprise: None, + } + } +} diff --git a/src/models/ui_theme_enum.rs b/src/models/ui_theme_enum.rs new file mode 100644 index 0000000..b998f83 --- /dev/null +++ b/src/models/ui_theme_enum.rs @@ -0,0 +1,39 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum UiThemeEnum { + #[serde(rename = "automatic")] + Automatic, + #[serde(rename = "light")] + Light, + #[serde(rename = "dark")] + Dark, +} + +impl std::fmt::Display for UiThemeEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Automatic => write!(f, "automatic"), + Self::Light => write!(f, "light"), + Self::Dark => write!(f, "dark"), + } + } +} + +impl Default for UiThemeEnum { + fn default() -> UiThemeEnum { + Self::Automatic + } +} diff --git a/src/models/used_by.rs b/src/models/used_by.rs new file mode 100644 index 0000000..453944b --- /dev/null +++ b/src/models/used_by.rs @@ -0,0 +1,40 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UsedBy : A list of all objects referencing the queried object +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UsedBy { + #[serde(rename = "app")] + pub app: String, + #[serde(rename = "model_name")] + pub model_name: String, + #[serde(rename = "pk")] + pub pk: String, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "action")] + pub action: models::UsedByActionEnum, +} + +impl UsedBy { + /// A list of all objects referencing the queried object + pub fn new(app: String, model_name: String, pk: String, name: String, action: models::UsedByActionEnum) -> UsedBy { + UsedBy { + app, + model_name, + pk, + name, + action, + } + } +} diff --git a/src/models/used_by_action_enum.rs b/src/models/used_by_action_enum.rs new file mode 100644 index 0000000..e2a51cb --- /dev/null +++ b/src/models/used_by_action_enum.rs @@ -0,0 +1,42 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum UsedByActionEnum { + #[serde(rename = "cascade")] + Cascade, + #[serde(rename = "cascade_many")] + CascadeMany, + #[serde(rename = "set_null")] + SetNull, + #[serde(rename = "set_default")] + SetDefault, +} + +impl std::fmt::Display for UsedByActionEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Cascade => write!(f, "cascade"), + Self::CascadeMany => write!(f, "cascade_many"), + Self::SetNull => write!(f, "set_null"), + Self::SetDefault => write!(f, "set_default"), + } + } +} + +impl Default for UsedByActionEnum { + fn default() -> UsedByActionEnum { + Self::Cascade + } +} diff --git a/src/models/user.rs b/src/models/user.rs new file mode 100644 index 0000000..1577274 --- /dev/null +++ b/src/models/user.rs @@ -0,0 +1,87 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// User : User Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct User { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "username")] + pub username: String, + /// User's display name. + #[serde(rename = "name")] + pub name: String, + /// Designates whether this user should be treated as active. Unselect this instead of deleting accounts. + #[serde(rename = "is_active", skip_serializing_if = "Option::is_none")] + pub is_active: Option, + #[serde( + rename = "last_login", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub last_login: Option>, + #[serde(rename = "is_superuser")] + pub is_superuser: bool, + #[serde(rename = "groups", skip_serializing_if = "Option::is_none")] + pub groups: Option>, + #[serde(rename = "groups_obj", deserialize_with = "Option::deserialize")] + pub groups_obj: Option>, + #[serde(rename = "email", skip_serializing_if = "Option::is_none")] + pub email: Option, + /// User's avatar, either a http/https URL or a data URI + #[serde(rename = "avatar")] + pub avatar: String, + #[serde(rename = "attributes", skip_serializing_if = "Option::is_none")] + pub attributes: Option>, + #[serde(rename = "uid")] + pub uid: String, + #[serde(rename = "path", skip_serializing_if = "Option::is_none")] + pub path: Option, + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] + pub r#type: Option, + #[serde(rename = "uuid")] + pub uuid: uuid::Uuid, +} + +impl User { + /// User Serializer + pub fn new( + pk: i32, + username: String, + name: String, + is_superuser: bool, + groups_obj: Option>, + avatar: String, + uid: String, + uuid: uuid::Uuid, + ) -> User { + User { + pk, + username, + name, + is_active: None, + last_login: None, + is_superuser, + groups: None, + groups_obj, + email: None, + avatar, + attributes: None, + uid, + path: None, + r#type: None, + uuid, + } + } +} diff --git a/src/models/user_account_request.rs b/src/models/user_account_request.rs new file mode 100644 index 0000000..f9f3393 --- /dev/null +++ b/src/models/user_account_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserAccountRequest : Account adding/removing operations +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserAccountRequest { + #[serde(rename = "pk")] + pub pk: i32, +} + +impl UserAccountRequest { + /// Account adding/removing operations + pub fn new(pk: i32) -> UserAccountRequest { + UserAccountRequest { pk } + } +} diff --git a/src/models/user_assigned_object_permission.rs b/src/models/user_assigned_object_permission.rs new file mode 100644 index 0000000..c9b093c --- /dev/null +++ b/src/models/user_assigned_object_permission.rs @@ -0,0 +1,70 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserAssignedObjectPermission : Users assigned object permission serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserAssignedObjectPermission { + #[serde(rename = "pk")] + pub pk: i32, + /// Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. + #[serde(rename = "username")] + pub username: String, + /// User's display name. + #[serde(rename = "name")] + pub name: String, + /// Designates whether this user should be treated as active. Unselect this instead of deleting accounts. + #[serde(rename = "is_active", skip_serializing_if = "Option::is_none")] + pub is_active: Option, + #[serde( + rename = "last_login", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub last_login: Option>, + #[serde(rename = "email", skip_serializing_if = "Option::is_none")] + pub email: Option, + #[serde(rename = "attributes", skip_serializing_if = "Option::is_none")] + pub attributes: Option>, + #[serde(rename = "uid")] + pub uid: String, + #[serde(rename = "permissions")] + pub permissions: Vec, + #[serde(rename = "is_superuser")] + pub is_superuser: bool, +} + +impl UserAssignedObjectPermission { + /// Users assigned object permission serializer + pub fn new( + pk: i32, + username: String, + name: String, + uid: String, + permissions: Vec, + is_superuser: bool, + ) -> UserAssignedObjectPermission { + UserAssignedObjectPermission { + pk, + username, + name, + is_active: None, + last_login: None, + email: None, + attributes: None, + uid, + permissions, + is_superuser, + } + } +} diff --git a/src/models/user_consent.rs b/src/models/user_consent.rs new file mode 100644 index 0000000..7035b49 --- /dev/null +++ b/src/models/user_consent.rs @@ -0,0 +1,48 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserConsent : UserConsent Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserConsent { + #[serde(rename = "pk")] + pub pk: i32, + #[serde( + rename = "expires", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub expires: Option>, + #[serde(rename = "expiring", skip_serializing_if = "Option::is_none")] + pub expiring: Option, + #[serde(rename = "user")] + pub user: models::User, + #[serde(rename = "application")] + pub application: models::Application, + #[serde(rename = "permissions", skip_serializing_if = "Option::is_none")] + pub permissions: Option, +} + +impl UserConsent { + /// UserConsent Serializer + pub fn new(pk: i32, user: models::User, application: models::Application) -> UserConsent { + UserConsent { + pk, + expires: None, + expiring: None, + user, + application, + permissions: None, + } + } +} diff --git a/src/models/user_creation_mode_enum.rs b/src/models/user_creation_mode_enum.rs new file mode 100644 index 0000000..084ad45 --- /dev/null +++ b/src/models/user_creation_mode_enum.rs @@ -0,0 +1,39 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum UserCreationModeEnum { + #[serde(rename = "never_create")] + NeverCreate, + #[serde(rename = "create_when_required")] + CreateWhenRequired, + #[serde(rename = "always_create")] + AlwaysCreate, +} + +impl std::fmt::Display for UserCreationModeEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::NeverCreate => write!(f, "never_create"), + Self::CreateWhenRequired => write!(f, "create_when_required"), + Self::AlwaysCreate => write!(f, "always_create"), + } + } +} + +impl Default for UserCreationModeEnum { + fn default() -> UserCreationModeEnum { + Self::NeverCreate + } +} diff --git a/src/models/user_delete_stage.rs b/src/models/user_delete_stage.rs new file mode 100644 index 0000000..1c89147 --- /dev/null +++ b/src/models/user_delete_stage.rs @@ -0,0 +1,57 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserDeleteStage : UserDeleteStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserDeleteStage { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Get object type so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, +} + +impl UserDeleteStage { + /// UserDeleteStage Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> UserDeleteStage { + UserDeleteStage { + pk, + name, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + flow_set: None, + } + } +} diff --git a/src/models/user_delete_stage_request.rs b/src/models/user_delete_stage_request.rs new file mode 100644 index 0000000..9a082fb --- /dev/null +++ b/src/models/user_delete_stage_request.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserDeleteStageRequest : UserDeleteStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserDeleteStageRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, +} + +impl UserDeleteStageRequest { + /// UserDeleteStage Serializer + pub fn new(name: String) -> UserDeleteStageRequest { + UserDeleteStageRequest { name, flow_set: None } + } +} diff --git a/src/models/user_fields_enum.rs b/src/models/user_fields_enum.rs new file mode 100644 index 0000000..7080ab4 --- /dev/null +++ b/src/models/user_fields_enum.rs @@ -0,0 +1,39 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum UserFieldsEnum { + #[serde(rename = "email")] + Email, + #[serde(rename = "username")] + Username, + #[serde(rename = "upn")] + Upn, +} + +impl std::fmt::Display for UserFieldsEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Email => write!(f, "email"), + Self::Username => write!(f, "username"), + Self::Upn => write!(f, "upn"), + } + } +} + +impl Default for UserFieldsEnum { + fn default() -> UserFieldsEnum { + Self::Email + } +} diff --git a/src/models/user_group.rs b/src/models/user_group.rs new file mode 100644 index 0000000..9ea1657 --- /dev/null +++ b/src/models/user_group.rs @@ -0,0 +1,53 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserGroup : Simplified Group Serializer for user's groups +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserGroup { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + /// Get a numerical, int32 ID for the group + #[serde(rename = "num_pk")] + pub num_pk: i32, + #[serde(rename = "name")] + pub name: String, + /// Users added to this group will be superusers. + #[serde(rename = "is_superuser", skip_serializing_if = "Option::is_none")] + pub is_superuser: Option, + #[serde( + rename = "parent", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub parent: Option>, + #[serde(rename = "parent_name", deserialize_with = "Option::deserialize")] + pub parent_name: Option, + #[serde(rename = "attributes", skip_serializing_if = "Option::is_none")] + pub attributes: Option>, +} + +impl UserGroup { + /// Simplified Group Serializer for user's groups + pub fn new(pk: uuid::Uuid, num_pk: i32, name: String, parent_name: Option) -> UserGroup { + UserGroup { + pk, + num_pk, + name, + is_superuser: None, + parent: None, + parent_name, + attributes: None, + } + } +} diff --git a/src/models/user_group_request.rs b/src/models/user_group_request.rs new file mode 100644 index 0000000..94e1c69 --- /dev/null +++ b/src/models/user_group_request.rs @@ -0,0 +1,43 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserGroupRequest : Simplified Group Serializer for user's groups +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserGroupRequest { + #[serde(rename = "name")] + pub name: String, + /// Users added to this group will be superusers. + #[serde(rename = "is_superuser", skip_serializing_if = "Option::is_none")] + pub is_superuser: Option, + #[serde( + rename = "parent", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub parent: Option>, + #[serde(rename = "attributes", skip_serializing_if = "Option::is_none")] + pub attributes: Option>, +} + +impl UserGroupRequest { + /// Simplified Group Serializer for user's groups + pub fn new(name: String) -> UserGroupRequest { + UserGroupRequest { + name, + is_superuser: None, + parent: None, + attributes: None, + } + } +} diff --git a/src/models/user_login_challenge.rs b/src/models/user_login_challenge.rs new file mode 100644 index 0000000..8755a63 --- /dev/null +++ b/src/models/user_login_challenge.rs @@ -0,0 +1,40 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserLoginChallenge : Empty challenge +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserLoginChallenge { + #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")] + pub flow_info: Option, + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")] + pub response_errors: Option>>, + #[serde(rename = "pending_user")] + pub pending_user: String, + #[serde(rename = "pending_user_avatar")] + pub pending_user_avatar: String, +} + +impl UserLoginChallenge { + /// Empty challenge + pub fn new(pending_user: String, pending_user_avatar: String) -> UserLoginChallenge { + UserLoginChallenge { + flow_info: None, + component: None, + response_errors: None, + pending_user, + pending_user_avatar, + } + } +} diff --git a/src/models/user_login_challenge_response_request.rs b/src/models/user_login_challenge_response_request.rs new file mode 100644 index 0000000..4ff20bb --- /dev/null +++ b/src/models/user_login_challenge_response_request.rs @@ -0,0 +1,31 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserLoginChallengeResponseRequest : User login challenge +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserLoginChallengeResponseRequest { + #[serde(rename = "component", skip_serializing_if = "Option::is_none")] + pub component: Option, + #[serde(rename = "remember_me")] + pub remember_me: bool, +} + +impl UserLoginChallengeResponseRequest { + /// User login challenge + pub fn new(remember_me: bool) -> UserLoginChallengeResponseRequest { + UserLoginChallengeResponseRequest { + component: None, + remember_me, + } + } +} diff --git a/src/models/user_login_stage.rs b/src/models/user_login_stage.rs new file mode 100644 index 0000000..e2bdf61 --- /dev/null +++ b/src/models/user_login_stage.rs @@ -0,0 +1,77 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserLoginStage : UserLoginStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserLoginStage { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Get object type so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Determines how long a session lasts. Default of 0 means that the sessions lasts until the browser is closed. (Format: hours=-1;minutes=-2;seconds=-3) + #[serde(rename = "session_duration", skip_serializing_if = "Option::is_none")] + pub session_duration: Option, + /// Terminate all other sessions of the user logging in. + #[serde(rename = "terminate_other_sessions", skip_serializing_if = "Option::is_none")] + pub terminate_other_sessions: Option, + /// Offset the session will be extended by when the user picks the remember me option. Default of 0 means that the remember me option will not be shown. (Format: hours=-1;minutes=-2;seconds=-3) + #[serde(rename = "remember_me_offset", skip_serializing_if = "Option::is_none")] + pub remember_me_offset: Option, + /// Bind sessions created by this stage to the configured network + #[serde(rename = "network_binding", skip_serializing_if = "Option::is_none")] + pub network_binding: Option, + /// Bind sessions created by this stage to the configured GeoIP location + #[serde(rename = "geoip_binding", skip_serializing_if = "Option::is_none")] + pub geoip_binding: Option, +} + +impl UserLoginStage { + /// UserLoginStage Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> UserLoginStage { + UserLoginStage { + pk, + name, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + flow_set: None, + session_duration: None, + terminate_other_sessions: None, + remember_me_offset: None, + network_binding: None, + geoip_binding: None, + } + } +} diff --git a/src/models/user_login_stage_request.rs b/src/models/user_login_stage_request.rs new file mode 100644 index 0000000..03729ca --- /dev/null +++ b/src/models/user_login_stage_request.rs @@ -0,0 +1,51 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserLoginStageRequest : UserLoginStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserLoginStageRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + /// Determines how long a session lasts. Default of 0 means that the sessions lasts until the browser is closed. (Format: hours=-1;minutes=-2;seconds=-3) + #[serde(rename = "session_duration", skip_serializing_if = "Option::is_none")] + pub session_duration: Option, + /// Terminate all other sessions of the user logging in. + #[serde(rename = "terminate_other_sessions", skip_serializing_if = "Option::is_none")] + pub terminate_other_sessions: Option, + /// Offset the session will be extended by when the user picks the remember me option. Default of 0 means that the remember me option will not be shown. (Format: hours=-1;minutes=-2;seconds=-3) + #[serde(rename = "remember_me_offset", skip_serializing_if = "Option::is_none")] + pub remember_me_offset: Option, + /// Bind sessions created by this stage to the configured network + #[serde(rename = "network_binding", skip_serializing_if = "Option::is_none")] + pub network_binding: Option, + /// Bind sessions created by this stage to the configured GeoIP location + #[serde(rename = "geoip_binding", skip_serializing_if = "Option::is_none")] + pub geoip_binding: Option, +} + +impl UserLoginStageRequest { + /// UserLoginStage Serializer + pub fn new(name: String) -> UserLoginStageRequest { + UserLoginStageRequest { + name, + flow_set: None, + session_duration: None, + terminate_other_sessions: None, + remember_me_offset: None, + network_binding: None, + geoip_binding: None, + } + } +} diff --git a/src/models/user_logout_stage.rs b/src/models/user_logout_stage.rs new file mode 100644 index 0000000..8215eb0 --- /dev/null +++ b/src/models/user_logout_stage.rs @@ -0,0 +1,57 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserLogoutStage : UserLogoutStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserLogoutStage { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Get object type so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, +} + +impl UserLogoutStage { + /// UserLogoutStage Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> UserLogoutStage { + UserLogoutStage { + pk, + name, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + flow_set: None, + } + } +} diff --git a/src/models/user_logout_stage_request.rs b/src/models/user_logout_stage_request.rs new file mode 100644 index 0000000..13608e1 --- /dev/null +++ b/src/models/user_logout_stage_request.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserLogoutStageRequest : UserLogoutStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserLogoutStageRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, +} + +impl UserLogoutStageRequest { + /// UserLogoutStage Serializer + pub fn new(name: String) -> UserLogoutStageRequest { + UserLogoutStageRequest { name, flow_set: None } + } +} diff --git a/src/models/user_matching_mode_enum.rs b/src/models/user_matching_mode_enum.rs new file mode 100644 index 0000000..86d7483 --- /dev/null +++ b/src/models/user_matching_mode_enum.rs @@ -0,0 +1,45 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum UserMatchingModeEnum { + #[serde(rename = "identifier")] + Identifier, + #[serde(rename = "email_link")] + EmailLink, + #[serde(rename = "email_deny")] + EmailDeny, + #[serde(rename = "username_link")] + UsernameLink, + #[serde(rename = "username_deny")] + UsernameDeny, +} + +impl std::fmt::Display for UserMatchingModeEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Identifier => write!(f, "identifier"), + Self::EmailLink => write!(f, "email_link"), + Self::EmailDeny => write!(f, "email_deny"), + Self::UsernameLink => write!(f, "username_link"), + Self::UsernameDeny => write!(f, "username_deny"), + } + } +} + +impl Default for UserMatchingModeEnum { + fn default() -> UserMatchingModeEnum { + Self::Identifier + } +} diff --git a/src/models/user_metrics.rs b/src/models/user_metrics.rs new file mode 100644 index 0000000..03e6946 --- /dev/null +++ b/src/models/user_metrics.rs @@ -0,0 +1,38 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserMetrics : User Metrics +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserMetrics { + #[serde(rename = "logins")] + pub logins: Vec, + #[serde(rename = "logins_failed")] + pub logins_failed: Vec, + #[serde(rename = "authorizations")] + pub authorizations: Vec, +} + +impl UserMetrics { + /// User Metrics + pub fn new( + logins: Vec, + logins_failed: Vec, + authorizations: Vec, + ) -> UserMetrics { + UserMetrics { + logins, + logins_failed, + authorizations, + } + } +} diff --git a/src/models/user_o_auth_source_connection.rs b/src/models/user_o_auth_source_connection.rs new file mode 100644 index 0000000..4316c51 --- /dev/null +++ b/src/models/user_o_auth_source_connection.rs @@ -0,0 +1,46 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserOAuthSourceConnection : OAuth Source Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserOAuthSourceConnection { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "user")] + pub user: i32, + #[serde(rename = "source")] + pub source: models::Source, + #[serde(rename = "created")] + pub created: String, + #[serde(rename = "identifier")] + pub identifier: String, +} + +impl UserOAuthSourceConnection { + /// OAuth Source Serializer + pub fn new( + pk: i32, + user: i32, + source: models::Source, + created: String, + identifier: String, + ) -> UserOAuthSourceConnection { + UserOAuthSourceConnection { + pk, + user, + source, + created, + identifier, + } + } +} diff --git a/src/models/user_o_auth_source_connection_request.rs b/src/models/user_o_auth_source_connection_request.rs new file mode 100644 index 0000000..05451f6 --- /dev/null +++ b/src/models/user_o_auth_source_connection_request.rs @@ -0,0 +1,36 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserOAuthSourceConnectionRequest : OAuth Source Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserOAuthSourceConnectionRequest { + #[serde(rename = "identifier")] + pub identifier: String, + #[serde( + rename = "access_token", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub access_token: Option>, +} + +impl UserOAuthSourceConnectionRequest { + /// OAuth Source Serializer + pub fn new(identifier: String) -> UserOAuthSourceConnectionRequest { + UserOAuthSourceConnectionRequest { + identifier, + access_token: None, + } + } +} diff --git a/src/models/user_object_permission.rs b/src/models/user_object_permission.rs new file mode 100644 index 0000000..2e03ab8 --- /dev/null +++ b/src/models/user_object_permission.rs @@ -0,0 +1,50 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserObjectPermission : User-bound object level permission +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserObjectPermission { + #[serde(rename = "id")] + pub id: i32, + #[serde(rename = "codename")] + pub codename: String, + #[serde(rename = "model")] + pub model: String, + #[serde(rename = "app_label")] + pub app_label: String, + #[serde(rename = "object_pk")] + pub object_pk: String, + #[serde(rename = "name")] + pub name: String, +} + +impl UserObjectPermission { + /// User-bound object level permission + pub fn new( + id: i32, + codename: String, + model: String, + app_label: String, + object_pk: String, + name: String, + ) -> UserObjectPermission { + UserObjectPermission { + id, + codename, + model, + app_label, + object_pk, + name, + } + } +} diff --git a/src/models/user_password_set_request.rs b/src/models/user_password_set_request.rs new file mode 100644 index 0000000..bbe6a04 --- /dev/null +++ b/src/models/user_password_set_request.rs @@ -0,0 +1,24 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserPasswordSetRequest { + #[serde(rename = "password")] + pub password: String, +} + +impl UserPasswordSetRequest { + pub fn new(password: String) -> UserPasswordSetRequest { + UserPasswordSetRequest { password } + } +} diff --git a/src/models/user_path.rs b/src/models/user_path.rs new file mode 100644 index 0000000..273e977 --- /dev/null +++ b/src/models/user_path.rs @@ -0,0 +1,24 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserPath { + #[serde(rename = "paths")] + pub paths: Vec, +} + +impl UserPath { + pub fn new(paths: Vec) -> UserPath { + UserPath { paths } + } +} diff --git a/src/models/user_plex_source_connection.rs b/src/models/user_plex_source_connection.rs new file mode 100644 index 0000000..79044a7 --- /dev/null +++ b/src/models/user_plex_source_connection.rs @@ -0,0 +1,46 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserPlexSourceConnection : Plex Source connection Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserPlexSourceConnection { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "user")] + pub user: i32, + #[serde(rename = "source")] + pub source: models::Source, + #[serde(rename = "created")] + pub created: String, + #[serde(rename = "identifier")] + pub identifier: String, +} + +impl UserPlexSourceConnection { + /// Plex Source connection Serializer + pub fn new( + pk: i32, + user: i32, + source: models::Source, + created: String, + identifier: String, + ) -> UserPlexSourceConnection { + UserPlexSourceConnection { + pk, + user, + source, + created, + identifier, + } + } +} diff --git a/src/models/user_plex_source_connection_request.rs b/src/models/user_plex_source_connection_request.rs new file mode 100644 index 0000000..842bcaa --- /dev/null +++ b/src/models/user_plex_source_connection_request.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserPlexSourceConnectionRequest : Plex Source connection Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserPlexSourceConnectionRequest { + #[serde(rename = "identifier")] + pub identifier: String, + #[serde(rename = "plex_token")] + pub plex_token: String, +} + +impl UserPlexSourceConnectionRequest { + /// Plex Source connection Serializer + pub fn new(identifier: String, plex_token: String) -> UserPlexSourceConnectionRequest { + UserPlexSourceConnectionRequest { identifier, plex_token } + } +} diff --git a/src/models/user_request.rs b/src/models/user_request.rs new file mode 100644 index 0000000..dac2cbe --- /dev/null +++ b/src/models/user_request.rs @@ -0,0 +1,59 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserRequest : User Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserRequest { + #[serde(rename = "username")] + pub username: String, + /// User's display name. + #[serde(rename = "name")] + pub name: String, + /// Designates whether this user should be treated as active. Unselect this instead of deleting accounts. + #[serde(rename = "is_active", skip_serializing_if = "Option::is_none")] + pub is_active: Option, + #[serde( + rename = "last_login", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub last_login: Option>, + #[serde(rename = "groups", skip_serializing_if = "Option::is_none")] + pub groups: Option>, + #[serde(rename = "email", skip_serializing_if = "Option::is_none")] + pub email: Option, + #[serde(rename = "attributes", skip_serializing_if = "Option::is_none")] + pub attributes: Option>, + #[serde(rename = "path", skip_serializing_if = "Option::is_none")] + pub path: Option, + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] + pub r#type: Option, +} + +impl UserRequest { + /// User Serializer + pub fn new(username: String, name: String) -> UserRequest { + UserRequest { + username, + name, + is_active: None, + last_login: None, + groups: None, + email: None, + attributes: None, + path: None, + r#type: None, + } + } +} diff --git a/src/models/user_saml_source_connection.rs b/src/models/user_saml_source_connection.rs new file mode 100644 index 0000000..cec7a23 --- /dev/null +++ b/src/models/user_saml_source_connection.rs @@ -0,0 +1,46 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserSamlSourceConnection : SAML Source Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserSamlSourceConnection { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "user")] + pub user: i32, + #[serde(rename = "source")] + pub source: models::Source, + #[serde(rename = "created")] + pub created: String, + #[serde(rename = "identifier")] + pub identifier: String, +} + +impl UserSamlSourceConnection { + /// SAML Source Serializer + pub fn new( + pk: i32, + user: i32, + source: models::Source, + created: String, + identifier: String, + ) -> UserSamlSourceConnection { + UserSamlSourceConnection { + pk, + user, + source, + created, + identifier, + } + } +} diff --git a/src/models/user_saml_source_connection_request.rs b/src/models/user_saml_source_connection_request.rs new file mode 100644 index 0000000..fd879a6 --- /dev/null +++ b/src/models/user_saml_source_connection_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserSamlSourceConnectionRequest : SAML Source Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserSamlSourceConnectionRequest { + #[serde(rename = "identifier")] + pub identifier: String, +} + +impl UserSamlSourceConnectionRequest { + /// SAML Source Serializer + pub fn new(identifier: String) -> UserSamlSourceConnectionRequest { + UserSamlSourceConnectionRequest { identifier } + } +} diff --git a/src/models/user_self.rs b/src/models/user_self.rs new file mode 100644 index 0000000..5abb244 --- /dev/null +++ b/src/models/user_self.rs @@ -0,0 +1,78 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserSelf : User Serializer for information a user can retrieve about themselves +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserSelf { + #[serde(rename = "pk")] + pub pk: i32, + /// Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. + #[serde(rename = "username")] + pub username: String, + /// User's display name. + #[serde(rename = "name")] + pub name: String, + /// Designates whether this user should be treated as active. Unselect this instead of deleting accounts. + #[serde(rename = "is_active")] + pub is_active: bool, + #[serde(rename = "is_superuser")] + pub is_superuser: bool, + #[serde(rename = "groups")] + pub groups: Vec, + #[serde(rename = "email", skip_serializing_if = "Option::is_none")] + pub email: Option, + /// User's avatar, either a http/https URL or a data URI + #[serde(rename = "avatar")] + pub avatar: String, + #[serde(rename = "uid")] + pub uid: String, + /// Get user settings with brand and group settings applied + #[serde(rename = "settings")] + pub settings: std::collections::HashMap, + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] + pub r#type: Option, + /// Get all system permissions assigned to the user + #[serde(rename = "system_permissions")] + pub system_permissions: Vec, +} + +impl UserSelf { + /// User Serializer for information a user can retrieve about themselves + pub fn new( + pk: i32, + username: String, + name: String, + is_active: bool, + is_superuser: bool, + groups: Vec, + avatar: String, + uid: String, + settings: std::collections::HashMap, + system_permissions: Vec, + ) -> UserSelf { + UserSelf { + pk, + username, + name, + is_active, + is_superuser, + groups, + email: None, + avatar, + uid, + settings, + r#type: None, + system_permissions, + } + } +} diff --git a/src/models/user_self_groups.rs b/src/models/user_self_groups.rs new file mode 100644 index 0000000..202a8c0 --- /dev/null +++ b/src/models/user_self_groups.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserSelfGroups { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "pk")] + pub pk: String, +} + +impl UserSelfGroups { + pub fn new(name: String, pk: String) -> UserSelfGroups { + UserSelfGroups { name, pk } + } +} diff --git a/src/models/user_service_account_request.rs b/src/models/user_service_account_request.rs new file mode 100644 index 0000000..82297a0 --- /dev/null +++ b/src/models/user_service_account_request.rs @@ -0,0 +1,36 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserServiceAccountRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "create_group", skip_serializing_if = "Option::is_none")] + pub create_group: Option, + #[serde(rename = "expiring", skip_serializing_if = "Option::is_none")] + pub expiring: Option, + /// If not provided, valid for 360 days + #[serde(rename = "expires", skip_serializing_if = "Option::is_none")] + pub expires: Option, +} + +impl UserServiceAccountRequest { + pub fn new(name: String) -> UserServiceAccountRequest { + UserServiceAccountRequest { + name, + create_group: None, + expiring: None, + expires: None, + } + } +} diff --git a/src/models/user_service_account_response.rs b/src/models/user_service_account_response.rs new file mode 100644 index 0000000..3d12e48 --- /dev/null +++ b/src/models/user_service_account_response.rs @@ -0,0 +1,38 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserServiceAccountResponse { + #[serde(rename = "username")] + pub username: String, + #[serde(rename = "token")] + pub token: String, + #[serde(rename = "user_uid")] + pub user_uid: String, + #[serde(rename = "user_pk")] + pub user_pk: i32, + #[serde(rename = "group_pk", skip_serializing_if = "Option::is_none")] + pub group_pk: Option, +} + +impl UserServiceAccountResponse { + pub fn new(username: String, token: String, user_uid: String, user_pk: i32) -> UserServiceAccountResponse { + UserServiceAccountResponse { + username, + token, + user_uid, + user_pk, + group_pk: None, + } + } +} diff --git a/src/models/user_setting.rs b/src/models/user_setting.rs new file mode 100644 index 0000000..4d4d41c --- /dev/null +++ b/src/models/user_setting.rs @@ -0,0 +1,40 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserSetting : Serializer for User settings for stages and sources +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserSetting { + #[serde(rename = "object_uid")] + pub object_uid: String, + #[serde(rename = "component")] + pub component: String, + #[serde(rename = "title")] + pub title: String, + #[serde(rename = "configure_url", skip_serializing_if = "Option::is_none")] + pub configure_url: Option, + #[serde(rename = "icon_url", skip_serializing_if = "Option::is_none")] + pub icon_url: Option, +} + +impl UserSetting { + /// Serializer for User settings for stages and sources + pub fn new(object_uid: String, component: String, title: String) -> UserSetting { + UserSetting { + object_uid, + component, + title, + configure_url: None, + icon_url: None, + } + } +} diff --git a/src/models/user_source_connection.rs b/src/models/user_source_connection.rs new file mode 100644 index 0000000..34ca459 --- /dev/null +++ b/src/models/user_source_connection.rs @@ -0,0 +1,37 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserSourceConnection : OAuth Source Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserSourceConnection { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "user")] + pub user: i32, + #[serde(rename = "source")] + pub source: models::Source, + #[serde(rename = "created")] + pub created: String, +} + +impl UserSourceConnection { + /// OAuth Source Serializer + pub fn new(pk: i32, user: i32, source: models::Source, created: String) -> UserSourceConnection { + UserSourceConnection { + pk, + user, + source, + created, + } + } +} diff --git a/src/models/user_type_enum.rs b/src/models/user_type_enum.rs new file mode 100644 index 0000000..2b1d4cb --- /dev/null +++ b/src/models/user_type_enum.rs @@ -0,0 +1,42 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum UserTypeEnum { + #[serde(rename = "internal")] + Internal, + #[serde(rename = "external")] + External, + #[serde(rename = "service_account")] + ServiceAccount, + #[serde(rename = "internal_service_account")] + InternalServiceAccount, +} + +impl std::fmt::Display for UserTypeEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Internal => write!(f, "internal"), + Self::External => write!(f, "external"), + Self::ServiceAccount => write!(f, "service_account"), + Self::InternalServiceAccount => write!(f, "internal_service_account"), + } + } +} + +impl Default for UserTypeEnum { + fn default() -> UserTypeEnum { + Self::Internal + } +} diff --git a/src/models/user_verification_enum.rs b/src/models/user_verification_enum.rs new file mode 100644 index 0000000..b7e2303 --- /dev/null +++ b/src/models/user_verification_enum.rs @@ -0,0 +1,39 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum UserVerificationEnum { + #[serde(rename = "required")] + Required, + #[serde(rename = "preferred")] + Preferred, + #[serde(rename = "discouraged")] + Discouraged, +} + +impl std::fmt::Display for UserVerificationEnum { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Required => write!(f, "required"), + Self::Preferred => write!(f, "preferred"), + Self::Discouraged => write!(f, "discouraged"), + } + } +} + +impl Default for UserVerificationEnum { + fn default() -> UserVerificationEnum { + Self::Required + } +} diff --git a/src/models/user_write_stage.rs b/src/models/user_write_stage.rs new file mode 100644 index 0000000..8b67900 --- /dev/null +++ b/src/models/user_write_stage.rs @@ -0,0 +1,79 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserWriteStage : UserWriteStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserWriteStage { + #[serde(rename = "pk")] + pub pk: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + /// Get object type so that we know how to edit the object + #[serde(rename = "component")] + pub component: String, + /// Return object's verbose_name + #[serde(rename = "verbose_name")] + pub verbose_name: String, + /// Return object's plural verbose_name + #[serde(rename = "verbose_name_plural")] + pub verbose_name_plural: String, + /// Return internal model name + #[serde(rename = "meta_model_name")] + pub meta_model_name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + #[serde(rename = "user_creation_mode", skip_serializing_if = "Option::is_none")] + pub user_creation_mode: Option, + /// When set, newly created users are inactive and cannot login. + #[serde(rename = "create_users_as_inactive", skip_serializing_if = "Option::is_none")] + pub create_users_as_inactive: Option, + /// Optionally add newly created users to this group. + #[serde( + rename = "create_users_group", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub create_users_group: Option>, + #[serde(rename = "user_type", skip_serializing_if = "Option::is_none")] + pub user_type: Option, + #[serde(rename = "user_path_template", skip_serializing_if = "Option::is_none")] + pub user_path_template: Option, +} + +impl UserWriteStage { + /// UserWriteStage Serializer + pub fn new( + pk: uuid::Uuid, + name: String, + component: String, + verbose_name: String, + verbose_name_plural: String, + meta_model_name: String, + ) -> UserWriteStage { + UserWriteStage { + pk, + name, + component, + verbose_name, + verbose_name_plural, + meta_model_name, + flow_set: None, + user_creation_mode: None, + create_users_as_inactive: None, + create_users_group: None, + user_type: None, + user_path_template: None, + } + } +} diff --git a/src/models/user_write_stage_request.rs b/src/models/user_write_stage_request.rs new file mode 100644 index 0000000..d521e16 --- /dev/null +++ b/src/models/user_write_stage_request.rs @@ -0,0 +1,53 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserWriteStageRequest : UserWriteStage Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserWriteStageRequest { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "flow_set", skip_serializing_if = "Option::is_none")] + pub flow_set: Option>, + #[serde(rename = "user_creation_mode", skip_serializing_if = "Option::is_none")] + pub user_creation_mode: Option, + /// When set, newly created users are inactive and cannot login. + #[serde(rename = "create_users_as_inactive", skip_serializing_if = "Option::is_none")] + pub create_users_as_inactive: Option, + /// Optionally add newly created users to this group. + #[serde( + rename = "create_users_group", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub create_users_group: Option>, + #[serde(rename = "user_type", skip_serializing_if = "Option::is_none")] + pub user_type: Option, + #[serde(rename = "user_path_template", skip_serializing_if = "Option::is_none")] + pub user_path_template: Option, +} + +impl UserWriteStageRequest { + /// UserWriteStage Serializer + pub fn new(name: String) -> UserWriteStageRequest { + UserWriteStageRequest { + name, + flow_set: None, + user_creation_mode: None, + create_users_as_inactive: None, + create_users_group: None, + user_type: None, + user_path_template: None, + } + } +} diff --git a/src/models/validation_error.rs b/src/models/validation_error.rs new file mode 100644 index 0000000..b306349 --- /dev/null +++ b/src/models/validation_error.rs @@ -0,0 +1,31 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ValidationError : Validation Error +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ValidationError { + #[serde(rename = "non_field_errors", skip_serializing_if = "Option::is_none")] + pub non_field_errors: Option>, + #[serde(rename = "code", skip_serializing_if = "Option::is_none")] + pub code: Option, +} + +impl ValidationError { + /// Validation Error + pub fn new() -> ValidationError { + ValidationError { + non_field_errors: None, + code: None, + } + } +} diff --git a/src/models/version.rs b/src/models/version.rs new file mode 100644 index 0000000..f86b658 --- /dev/null +++ b/src/models/version.rs @@ -0,0 +1,56 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Version : Get running and latest version. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Version { + /// Get current version + #[serde(rename = "version_current")] + pub version_current: String, + /// Get latest version from cache + #[serde(rename = "version_latest")] + pub version_latest: String, + /// Check if latest version is valid + #[serde(rename = "version_latest_valid")] + pub version_latest_valid: bool, + /// Get build hash, if version is not latest or released + #[serde(rename = "build_hash")] + pub build_hash: String, + /// Check if we're running the latest version + #[serde(rename = "outdated")] + pub outdated: bool, + /// Check if any outpost is outdated/has a version mismatch + #[serde(rename = "outpost_outdated")] + pub outpost_outdated: bool, +} + +impl Version { + /// Get running and latest version. + pub fn new( + version_current: String, + version_latest: String, + version_latest_valid: bool, + build_hash: String, + outdated: bool, + outpost_outdated: bool, + ) -> Version { + Version { + version_current, + version_latest, + version_latest_valid, + build_hash, + outdated, + outpost_outdated, + } + } +} diff --git a/src/models/web_authn_device.rs b/src/models/web_authn_device.rs new file mode 100644 index 0000000..df47891 --- /dev/null +++ b/src/models/web_authn_device.rs @@ -0,0 +1,46 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// WebAuthnDevice : Serializer for WebAuthn authenticator devices +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct WebAuthnDevice { + #[serde(rename = "pk")] + pub pk: i32, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "created_on")] + pub created_on: String, + #[serde(rename = "device_type", deserialize_with = "Option::deserialize")] + pub device_type: Option, + #[serde(rename = "aaguid")] + pub aaguid: String, +} + +impl WebAuthnDevice { + /// Serializer for WebAuthn authenticator devices + pub fn new( + pk: i32, + name: String, + created_on: String, + device_type: Option, + aaguid: String, + ) -> WebAuthnDevice { + WebAuthnDevice { + pk, + name, + created_on, + device_type, + aaguid, + } + } +} diff --git a/src/models/web_authn_device_request.rs b/src/models/web_authn_device_request.rs new file mode 100644 index 0000000..fe5539b --- /dev/null +++ b/src/models/web_authn_device_request.rs @@ -0,0 +1,26 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// WebAuthnDeviceRequest : Serializer for WebAuthn authenticator devices +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct WebAuthnDeviceRequest { + #[serde(rename = "name")] + pub name: String, +} + +impl WebAuthnDeviceRequest { + /// Serializer for WebAuthn authenticator devices + pub fn new(name: String) -> WebAuthnDeviceRequest { + WebAuthnDeviceRequest { name } + } +} diff --git a/src/models/web_authn_device_type.rs b/src/models/web_authn_device_type.rs new file mode 100644 index 0000000..0bf97ab --- /dev/null +++ b/src/models/web_authn_device_type.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// WebAuthnDeviceType : WebAuthnDeviceType Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct WebAuthnDeviceType { + #[serde(rename = "aaguid")] + pub aaguid: uuid::Uuid, + #[serde(rename = "description")] + pub description: String, +} + +impl WebAuthnDeviceType { + /// WebAuthnDeviceType Serializer + pub fn new(aaguid: uuid::Uuid, description: String) -> WebAuthnDeviceType { + WebAuthnDeviceType { aaguid, description } + } +} diff --git a/src/models/web_authn_device_type_request.rs b/src/models/web_authn_device_type_request.rs new file mode 100644 index 0000000..36a924d --- /dev/null +++ b/src/models/web_authn_device_type_request.rs @@ -0,0 +1,28 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// WebAuthnDeviceTypeRequest : WebAuthnDeviceType Serializer +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct WebAuthnDeviceTypeRequest { + #[serde(rename = "aaguid")] + pub aaguid: uuid::Uuid, + #[serde(rename = "description")] + pub description: String, +} + +impl WebAuthnDeviceTypeRequest { + /// WebAuthnDeviceType Serializer + pub fn new(aaguid: uuid::Uuid, description: String) -> WebAuthnDeviceTypeRequest { + WebAuthnDeviceTypeRequest { aaguid, description } + } +} diff --git a/src/models/workers.rs b/src/models/workers.rs new file mode 100644 index 0000000..85439ae --- /dev/null +++ b/src/models/workers.rs @@ -0,0 +1,24 @@ +/* + * authentik + * + * Making authentication simple. + * + * The version of the OpenAPI document: 2024.8.3 + * Contact: hello@goauthentik.io + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Workers { + #[serde(rename = "count")] + pub count: i32, +} + +impl Workers { + pub fn new(count: i32) -> Workers { + Workers { count } + } +} diff --git a/templates/README.mustache b/templates/README.mustache new file mode 100644 index 0000000..6c05f22 --- /dev/null +++ b/templates/README.mustache @@ -0,0 +1,54 @@ +

+ authentik logo +

+ +--- + +[![](https://img.shields.io/discord/809154715984199690?label=Discord&style=for-the-badge)](https://discord.gg/jg33eMhnj6) +![Latest version](https://img.shields.io/github/v/tag/goauthentik/authentik?style=for-the-badge) + +# authentik Rust API Client + +This repo contains a generated API client to talk with authentik's API from Rust. + +## Overview +This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [OpenAPI-spec](https://www.openapis.org/) from a remote server, you can easily generate an API client. + +- API version: {{appVersion}} +- Package version: {{packageVersion}} +{{^hideGenerationTimestamp}} +- Build date: {{generatedDate}} +{{/hideGenerationTimestamp}} + +## Installation + +Put the package under your project folder in a directory named `{{packageName}}` and add the following to `Cargo.toml` under `[dependencies]`: + +``` +{{{packageName}}} = { path = "./{{{packageName}}}" } +``` + +## Documentation for API Endpoints + +All URIs are relative to *{{{basePath}}}* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +{{#apiInfo}}{{#apis}}{{#operations}}{{#operation}}*{{{classname}}}* | [**{{{operationId}}}**]({{{apiDocPath}}}{{classname}}.md#{{{operationIdLowerCase}}}) | **{{{httpMethod}}}** {{{path}}} | {{{summary}}} +{{/operation}}{{/operations}}{{/apis}}{{/apiInfo}} + +## Documentation For Models + +{{#models}}{{#model}} - [{{{classname}}}]({{{modelDocPath}}}{{{classname}}}.md) +{{/model}}{{/models}} + +To get access to the crate's generated documentation, use: + +``` +cargo doc --open +``` + +## Author + +{{#apiInfo}}{{#apis}}{{#-last}}{{{infoEmail}}} +{{/-last}}{{/apis}}{{/apiInfo}} diff --git a/templates/gitignore.mustache b/templates/gitignore.mustache new file mode 100644 index 0000000..78dcb6c --- /dev/null +++ b/templates/gitignore.mustache @@ -0,0 +1,5 @@ +/target/ +**/*.rs.bk +Cargo.lock +!version/Cargo.lock +diff.test diff --git a/version/.gitignore b/version/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/version/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/version/Cargo.lock b/version/Cargo.lock new file mode 100644 index 0000000..ea2dd08 --- /dev/null +++ b/version/Cargo.lock @@ -0,0 +1,144 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "anyhow" +version = "1.0.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" + +[[package]] +name = "indexmap" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" +dependencies = [ + "equivalent", + "hashbrown", +] + +[[package]] +name = "itoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" + +[[package]] +name = "libyml" +version = "0.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3302702afa434ffa30847a83305f0a69d6abd74293b6554c18ec85c7ef30c980" +dependencies = [ + "anyhow", + "version_check", +] + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "proc-macro2" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + +[[package]] +name = "serde" +version = "1.0.210" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.210" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_yml" +version = "0.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59e2dd588bf1597a252c3b920e0143eb99b0f76e4e082f4c92ce34fbc9e71ddd" +dependencies = [ + "indexmap", + "itoa", + "libyml", + "memchr", + "ryu", + "serde", + "version_check", +] + +[[package]] +name = "syn" +version = "2.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "unicode-ident" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" + +[[package]] +name = "version" +version = "0.1.0" +dependencies = [ + "anyhow", + "serde", + "serde_yml", +] + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" diff --git a/version/Cargo.toml b/version/Cargo.toml new file mode 100644 index 0000000..509d2f1 --- /dev/null +++ b/version/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "version" +version = "0.1.0" +edition = "2021" + +[dependencies] +anyhow = "1.0" +serde = { version = "1.0", features = ["derive"] } +serde_yml = "0.0.12" diff --git a/version/src/main.rs b/version/src/main.rs new file mode 100644 index 0000000..10a9060 --- /dev/null +++ b/version/src/main.rs @@ -0,0 +1,55 @@ +use serde::Deserialize; + +#[derive(Deserialize)] +struct Info { + version: String, +} + +#[derive(Deserialize)] +struct Schema { + info: Info, +} + +const MAJOR_VERSION: &str = "3"; + +fn get_upstream_version() -> String { + let schema_raw = std::fs::read_to_string("../schema.yml").unwrap(); + let schema: Schema = serde_yml::from_str(&schema_raw).unwrap(); + + let version = schema.info.version; + let version_split: Vec<&str> = version.split('.').collect(); + format!( + "{}{:02}{}", + version_split[0], + version_split[1].parse::().unwrap(), + version_split[2], + ) +} + +fn get_patch(upstream_version: &str) -> i32 { + let last_tag_output = std::process::Command::new("git") + .args(&["describe", "--abbrev=0", "--tags"]) + .output() + .unwrap(); + let last_tag = String::from_utf8(last_tag_output.stdout).unwrap(); + let last_tag = last_tag.trim(); + + if last_tag.len() == 0 { + return 0; + } + + let last_tag_split: Vec<&str> = last_tag.split('.').collect(); + let last_upstream = last_tag_split[1]; + if last_upstream != upstream_version { + return 0; + } + + let last_rev = last_tag_split[2].parse::().unwrap(); + return last_rev + 1; +} + +fn main() { + let upstream_version = get_upstream_version(); + let patch = get_patch(&upstream_version); + println!("v{MAJOR_VERSION}.{upstream_version}.{patch}"); +}