authsome

package module
v0.0.0-...-94c385f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 4, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

README

AuthSome Go Client SDK

Enterprise-grade Go client for AuthSome authentication with automatic middleware support for Forge and standard HTTP clients.

Features

  • 🔐 Multiple Authentication Methods: API keys, session tokens, and cookies
  • 🔄 Auto-detection: Automatically chooses the right auth method
  • 🎯 Forge Integration: First-class support for Forge framework
  • 🌐 Standard HTTP: Works with any http.Client via http.RoundTripper
  • 📦 Context Management: Built-in app and environment context handling
  • 🍪 Cookie Support: Automatic session cookie management
  • 🔗 Plugin System: Extensible plugin architecture

Installation

go get github.com/xraph/authsome/clients/go

Quick Start

Basic Usage
package main

import (
    "context"
    "log"
    
    authsome "github.com/xraph/authsome/clients/go"
)

func main() {
    // Create client with session token
    client := authsome.NewClient(
        "https://api.example.com",
        authsome.WithToken("your-session-token"),
    )
    
    // Sign in
    resp, err := client.SignIn(context.Background(), &authsome.SignInRequest{
        Email:    "user@example.com",
        Password: "password123",
    })
    if err != nil {
        log.Fatal(err)
    }
    
    log.Printf("Signed in as: %s", resp.User.Email)
}

Authentication Methods

1. API Key Authentication

Recommended for server-to-server communication:

client := authsome.NewClient(
    "https://api.example.com",
    authsome.WithAPIKey("sk_live_abc123"),
)

API keys automatically add Authorization: ApiKey {key} header.

2. Session Token Authentication

For authenticated user requests:

client := authsome.NewClient(
    "https://api.example.com",
    authsome.WithToken("user-session-token"),
)

Session tokens automatically add Authorization: Bearer {token} header.

For browser-like session management:

import "net/http/cookiejar"

jar, _ := cookiejar.New(nil)
client := authsome.NewClient(
    "https://api.example.com",
    authsome.WithCookieJar(jar),
)

Cookies are automatically sent with requests.

4. Dual Authentication

Combine API key and session token:

client := authsome.NewClient(
    "https://api.example.com",
    authsome.WithAPIKey("pk_live_xyz"),
    authsome.WithToken("user-session-token"),
)

Priority: API Key > Session Token > Cookies

Forge Framework Integration

Setting Up Forge Middleware
package main

import (
    "github.com/xraph/forge"
    authsome "github.com/xraph/authsome/clients/go"
)

func main() {
    app := forge.New()
    
    // Create AuthSome client
    authClient := authsome.NewClient(
        "https://auth.example.com",
        authsome.WithAPIKey("sk_live_abc123"),
    )
    
    // Apply authentication middleware globally
    app.Use(authClient.ForgeMiddleware())
    
    // Protected routes
    api := app.Group("/api")
    api.Use(authClient.RequireAuth())
    
    api.GET("/profile", func(c forge.Context) error {
        // Get user from context
        session, ok := authsome.GetSessionFromContext(c.Request().Context())
        if !ok {
            return c.JSON(401, map[string]string{"error": "not authenticated"})
        }
        
        return c.JSON(200, session)
    })
    
    app.Listen(":3000")
}
Middleware Functions
  • ForgeMiddleware(): Optional authentication - populates context
  • RequireAuth(): Blocks unauthenticated requests
  • OptionalAuth(): Alias for ForgeMiddleware()

Standard HTTP Client Integration

Using RoundTripper
package main

import (
    "net/http"
    authsome "github.com/xraph/authsome/clients/go"
)

func main() {
    // Create AuthSome client
    authClient := authsome.NewClient(
        "https://api.example.com",
        authsome.WithAPIKey("sk_live_abc123"),
    )
    
    // Create HTTP client with auth injection
    httpClient := &http.Client{
        Transport: authClient.RoundTripper(),
    }
    
    // All requests automatically include authentication
    resp, err := httpClient.Get("https://other-service.com/api/data")
    // ... handle response
}
Convenience Method
// Create fully configured HTTP client
httpClient := authClient.NewHTTPClientWithAuth()

Context Management

Setting App and Environment Context
client := authsome.NewClient(
    "https://api.example.com",
    authsome.WithAPIKey("sk_live_abc123"),
    authsome.WithAppContext("app_123", "env_prod"),
)

// Or set dynamically
client.SetAppContext("app_456", "env_staging")

// Get current context
appID, envID := client.GetAppContext()

Context headers are automatically added:

  • X-App-ID: Application identifier
  • X-Environment-ID: Environment identifier
Context Helper Functions
import (
    "context"
    authsome "github.com/xraph/authsome/clients/go"
)

ctx := context.Background()

// Add app ID
ctx = authsome.WithAppID(ctx, "app_123")

// Add environment ID
ctx = authsome.WithEnvironmentID(ctx, "env_prod")

// Add both
ctx = authsome.WithAppContext(ctx, "app_123", "env_prod")

// Retrieve values
appID, ok := authsome.GetAppID(ctx)
envID, ok := authsome.GetEnvironmentID(ctx)

User and Session Helpers

Get Current User
user, err := client.GetCurrentUser(context.Background())
if err != nil {
    log.Fatal(err)
}
log.Printf("User: %s (%s)", user.Name, user.Email)
Get Current Session
session, err := client.GetCurrentSession(context.Background())
if err != nil {
    log.Fatal(err)
}
log.Printf("Session expires: %s", session.ExpiresAt)

Custom Headers

client := authsome.NewClient(
    "https://api.example.com",
    authsome.WithHeaders(map[string]string{
        "X-Custom-Header": "value",
        "User-Agent":      "MyApp/1.0",
    }),
)

Plugin System

Using Plugins
import (
    authsome "github.com/xraph/authsome/clients/go"
    "github.com/xraph/authsome/clients/go/plugins/social"
)

client := authsome.NewClient(
    "https://api.example.com",
    authsome.WithPlugins(
        social.NewPlugin(),
    ),
)

// Access plugin
socialPlugin, ok := client.GetPlugin("social")
if ok {
    // Use plugin methods
}

Advanced Configuration

Complete Example
package main

import (
    "context"
    "log"
    "net/http"
    "net/http/cookiejar"
    
    authsome "github.com/xraph/authsome/clients/go"
)

func main() {
    // Create cookie jar
    jar, err := cookiejar.New(nil)
    if err != nil {
        log.Fatal(err)
    }
    
    // Create custom HTTP client
    httpClient := &http.Client{
        Timeout: 30 * time.Second,
        Jar:     jar,
    }
    
    // Create AuthSome client with all options
    client := authsome.NewClient(
        "https://api.example.com",
        authsome.WithHTTPClient(httpClient),
        authsome.WithAPIKey("sk_live_abc123"),
        authsome.WithCookieJar(jar),
        authsome.WithAppContext("app_prod_123", "env_production"),
        authsome.WithHeaders(map[string]string{
            "User-Agent": "MyApp/1.0.0",
        }),
    )
    
    // Use client
    session, err := client.GetCurrentSession(context.Background())
    if err != nil {
        log.Fatal(err)
    }
    
    log.Printf("Authenticated as: %s", session.User.Email)
}

Error Handling

resp, err := client.SignIn(context.Background(), &authsome.SignInRequest{
    Email:    "user@example.com",
    Password: "wrong-password",
})

if err != nil {
    if authErr, ok := err.(*authsome.Error); ok {
        switch authErr.StatusCode {
        case 401:
            log.Println("Invalid credentials")
        case 403:
            log.Println("Account locked")
        case 429:
            log.Println("Rate limited")
        default:
            log.Printf("Error: %s (code: %s)", authErr.Message, authErr.Code)
        }
    }
    return
}

Best Practices

1. API Key Security
// ✅ DO: Load from environment
apiKey := os.Getenv("AUTHSOME_API_KEY")

// ❌ DON'T: Hardcode in source
apiKey := "sk_live_abc123" // Never do this!
2. Context Propagation
// ✅ DO: Pass context through call chain
func handleRequest(ctx context.Context, client *authsome.Client) error {
    return client.GetSession(ctx)
}

// ❌ DON'T: Create new context
func handleRequest(client *authsome.Client) error {
    return client.GetSession(context.Background())
}
3. Resource Cleanup
// ✅ DO: Reuse client instances
var authClient *authsome.Client

func init() {
    authClient = authsome.NewClient(...)
}

// ❌ DON'T: Create new clients for each request
func handleRequest() {
    client := authsome.NewClient(...) // Wasteful!
}

Regenerating the Client

When the AuthSome API changes, regenerate the client:

cd /path/to/authsome
authsome generate client --lang go --output ./clients

Support

License

See LICENSE file in the repository root.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUnauthorized = &Error{Message: "Unauthorized", StatusCode: 401, Code: "UNAUTHORIZED"}
	ErrForbidden    = &Error{Message: "Forbidden", StatusCode: 403, Code: "FORBIDDEN"}
	ErrNotFound     = &Error{Message: "Not found", StatusCode: 404, Code: "NOT_FOUND"}
	ErrConflict     = &Error{Message: "Conflict", StatusCode: 409, Code: "CONFLICT"}
	ErrRateLimit    = &Error{Message: "Rate limit exceeded", StatusCode: 429, Code: "RATE_LIMIT"}
	ErrServer       = &Error{Message: "Internal server error", StatusCode: 500, Code: "SERVER_ERROR"}
)

Specific error types

Functions

func GetAppID

func GetAppID(ctx context.Context) (string, bool)

GetAppID retrieves app ID from context

func GetEnvironmentID

func GetEnvironmentID(ctx context.Context) (string, bool)

GetEnvironmentID retrieves environment ID from context

func GetUserID

func GetUserID(ctx context.Context) (string, bool)

GetUserID retrieves user ID from context

func SetContextAppAndEnvironment

func SetContextAppAndEnvironment(ctx context.Context, appID, envID string) context.Context

SetContextAppAndEnvironment adds both app and environment IDs to context

func WithAppID

func WithAppID(ctx context.Context, appID string) context.Context

WithAppID adds app ID to context

func WithEnvironmentID

func WithEnvironmentID(ctx context.Context, envID string) context.Context

WithEnvironmentID adds environment ID to context

func WithUserID

func WithUserID(ctx context.Context, userID string) context.Context

WithUserID adds user ID to context

Types

type AMLMatch

type AMLMatch struct {
}

type APIKey

type APIKey struct{}

Placeholder types for undefined/missing types

type AcceptInvitationRequest

type AcceptInvitationRequest struct {
	Token string `json:"token"`
}

type AccessConfig

type AccessConfig struct {
	AllowApiAccess        bool `json:"allowApiAccess"`
	AllowDashboardAccess  bool `json:"allowDashboardAccess"`
	RateLimitPerMinute    int  `json:"rateLimitPerMinute"`
	RequireAuthentication bool `json:"requireAuthentication"`
	RequireRbac           bool `json:"requireRbac"`
}

type AccessTokenClaims

type AccessTokenClaims struct {
	Client_id  string `json:"client_id"`
	Scope      string `json:"scope"`
	Token_type string `json:"token_type"`
}

type AccountAutoSendConfig

type AccountAutoSendConfig struct {
	Deleted              bool `json:"deleted"`
	Email_change_request bool `json:"email_change_request"`
	Email_changed        bool `json:"email_changed"`
	Password_changed     bool `json:"password_changed"`
	Reactivated          bool `json:"reactivated"`
	Suspended            bool `json:"suspended"`
	Username_changed     bool `json:"username_changed"`
}

type AccountLockedResponse

type AccountLockedResponse struct {
	Code           string    `json:"code"`
	Locked_minutes int       `json:"locked_minutes"`
	Locked_until   time.Time `json:"locked_until"`
	Message        string    `json:"message"`
}

type AccountLockoutError

type AccountLockoutError struct {
}

type ActionResponse

type ActionResponse struct {
	CreatedAt   time.Time `json:"createdAt"`
	Description string    `json:"description"`
	Id          string    `json:"id"`
	Name        string    `json:"name"`
	NamespaceId string    `json:"namespaceId"`
}

type ActionsListResponse

type ActionsListResponse struct {
	Actions    []*ActionResponse `json:"actions"`
	TotalCount int               `json:"totalCount"`
}

type Adapter

type Adapter struct {
}

type AdaptiveMFAConfig

type AdaptiveMFAConfig struct {
	Factor_ip_reputation      bool    `json:"factor_ip_reputation"`
	Factor_new_device         bool    `json:"factor_new_device"`
	Factor_velocity           bool    `json:"factor_velocity"`
	Location_change_risk      float64 `json:"location_change_risk"`
	New_device_risk           float64 `json:"new_device_risk"`
	Risk_threshold            float64 `json:"risk_threshold"`
	Velocity_risk             float64 `json:"velocity_risk"`
	Enabled                   bool    `json:"enabled"`
	Factor_location_change    bool    `json:"factor_location_change"`
	Require_step_up_threshold float64 `json:"require_step_up_threshold"`
}

type AddCustomPermission_req

type AddCustomPermission_req struct {
	Category    string `json:"category"`
	Description string `json:"description"`
	Name        string `json:"name"`
}

type AddFieldRequest

type AddFieldRequest struct {
}

type AddMemberRequest

type AddMemberRequest struct {
	Role    string `json:"role"`
	User_id string `json:"user_id"`
}

type AddTeamMemberRequest

type AddTeamMemberRequest struct {
	Member_id string `json:"member_id"`
}

type AddTeamMember_req

type AddTeamMember_req struct {
	Member_id xid.ID `json:"member_id"`
	Role      string `json:"role"`
}

type AddTrustedContactRequest

type AddTrustedContactRequest struct {
	Email        string `json:"email"`
	Name         string `json:"name"`
	Phone        string `json:"phone"`
	Relationship string `json:"relationship"`
}

type AddTrustedContactResponse

type AddTrustedContactResponse struct {
	Name      string    `json:"name"`
	Phone     string    `json:"phone"`
	Verified  bool      `json:"verified"`
	AddedAt   time.Time `json:"addedAt"`
	ContactId xid.ID    `json:"contactId"`
	Email     string    `json:"email"`
	Message   string    `json:"message"`
}

type AdminAddProviderRequest

type AdminAddProviderRequest struct {
	AppId        xid.ID   `json:"appId"`
	ClientId     string   `json:"clientId"`
	ClientSecret string   `json:"clientSecret"`
	Enabled      bool     `json:"enabled"`
	Provider     string   `json:"provider"`
	Scopes       []string `json:"scopes"`
}

type AdminBlockUserRequest

type AdminBlockUserRequest struct {
	Reason string `json:"reason"`
}

type AdminBlockUserResponse

type AdminBlockUserResponse struct {
	Status interface{} `json:"status"`
}

type AdminBlockUser_req

type AdminBlockUser_req struct {
	Reason string `json:"reason"`
}

type AdminBypassRequest

type AdminBypassRequest struct {
	Duration int    `json:"duration"`
	Reason   string `json:"reason"`
	UserId   xid.ID `json:"userId"`
}

type AdminGetUserVerificationStatusResponse

type AdminGetUserVerificationStatusResponse struct {
	Status interface{} `json:"status"`
}

type AdminGetUserVerificationsResponse

type AdminGetUserVerificationsResponse struct {
	Verifications []*interface{} `json:"verifications"`
}

type AdminHandler

type AdminHandler struct {
}

type AdminPolicyRequest

type AdminPolicyRequest struct {
	AllowedTypes    []string `json:"allowedTypes"`
	Enabled         bool     `json:"enabled"`
	GracePeriod     int      `json:"gracePeriod"`
	RequiredFactors int      `json:"requiredFactors"`
}

type AdminUnblockUserResponse

type AdminUnblockUserResponse struct {
	Status interface{} `json:"status"`
}

type AdminUpdateProviderRequest

type AdminUpdateProviderRequest struct {
	ClientId     *string  `json:"clientId"`
	ClientSecret *string  `json:"clientSecret"`
	Enabled      *bool    `json:"enabled"`
	Scopes       []string `json:"scopes"`
}

type AmountRule

type AmountRule struct {
	Currency       string        `json:"currency"`
	Description    string        `json:"description"`
	Max_amount     float64       `json:"max_amount"`
	Min_amount     float64       `json:"min_amount"`
	Org_id         string        `json:"org_id"`
	Security_level SecurityLevel `json:"security_level"`
}

type AnalyticsResponse

type AnalyticsResponse struct {
	GeneratedAt time.Time        `json:"generatedAt"`
	Summary     AnalyticsSummary `json:"summary"`
	TimeRange   interface{}      `json:"timeRange"`
}

type AnalyticsSummary

type AnalyticsSummary struct {
	TopPolicies      []PolicyStats       `json:"topPolicies"`
	TopResourceTypes []ResourceTypeStats `json:"topResourceTypes"`
	AllowedCount     int64               `json:"allowedCount"`
	CacheHitRate     float64             `json:"cacheHitRate"`
	TotalEvaluations int64               `json:"totalEvaluations"`
	TotalPolicies    int                 `json:"totalPolicies"`
	ActivePolicies   int                 `json:"activePolicies"`
	AvgLatencyMs     float64             `json:"avgLatencyMs"`
	DeniedCount      int64               `json:"deniedCount"`
}

type App

type App struct {
}

type AppHandler

type AppHandler struct {
}

type AppServiceAdapter

type AppServiceAdapter struct {
}

type ApproveDeletionRequestResponse

type ApproveDeletionRequestResponse struct {
	Status string `json:"status"`
}

type ApproveRecoveryRequest

type ApproveRecoveryRequest struct {
	Notes     string `json:"notes"`
	SessionId xid.ID `json:"sessionId"`
}

type ApproveRecoveryResponse

type ApproveRecoveryResponse struct {
	SessionId  xid.ID    `json:"sessionId"`
	Approved   bool      `json:"approved"`
	ApprovedAt time.Time `json:"approvedAt"`
	Message    string    `json:"message"`
}

type ArchiveEntryRequest

type ArchiveEntryRequest struct {
}

type AssignRoleRequest

type AssignRoleRequest struct {
	RoleID string `json:"roleID"`
}

type AsyncAdapter

type AsyncAdapter struct {
}

type AsyncConfig

type AsyncConfig struct {
	Max_retries      int      `json:"max_retries"`
	Persist_failures bool     `json:"persist_failures"`
	Queue_size       int      `json:"queue_size"`
	Retry_backoff    []string `json:"retry_backoff"`
	Retry_enabled    bool     `json:"retry_enabled"`
	Worker_pool_size int      `json:"worker_pool_size"`
	Enabled          bool     `json:"enabled"`
}

type AuditConfig

type AuditConfig struct {
	AutoCleanup     bool `json:"autoCleanup"`
	EnableAccessLog bool `json:"enableAccessLog"`
	LogReads        bool `json:"logReads"`
	LogWrites       bool `json:"logWrites"`
	RetentionDays   int  `json:"retentionDays"`
}

type AuditEvent

type AuditEvent struct {
}

type AuditLog

type AuditLog struct {
}

type AuditLogEntry

type AuditLogEntry struct {
	AppId              string      `json:"appId"`
	NewValue           interface{} `json:"newValue"`
	ResourceType       string      `json:"resourceType"`
	UserOrganizationId *string     `json:"userOrganizationId"`
	ActorId            string      `json:"actorId"`
	EnvironmentId      string      `json:"environmentId"`
	Id                 string      `json:"id"`
	IpAddress          string      `json:"ipAddress"`
	OldValue           interface{} `json:"oldValue"`
	ResourceId         string      `json:"resourceId"`
	Timestamp          time.Time   `json:"timestamp"`
	UserAgent          string      `json:"userAgent"`
	Action             string      `json:"action"`
}

type AuditLogResponse

type AuditLogResponse struct {
	Entries    []*AuditLogEntry `json:"entries"`
	Page       int              `json:"page"`
	PageSize   int              `json:"pageSize"`
	TotalCount int              `json:"totalCount"`
}

type AuditServiceAdapter

type AuditServiceAdapter struct {
}

type AuthAutoSendConfig

type AuthAutoSendConfig struct {
	Email_otp          bool `json:"email_otp"`
	Magic_link         bool `json:"magic_link"`
	Mfa_code           bool `json:"mfa_code"`
	Password_reset     bool `json:"password_reset"`
	Verification_email bool `json:"verification_email"`
	Welcome            bool `json:"welcome"`
}

type AuthURLResponse

type AuthURLResponse struct {
	Url string `json:"url"`
}

type AuthorizeRequest

type AuthorizeRequest struct {
	Login_hint            string `json:"login_hint"`
	Max_age               *int   `json:"max_age"`
	Nonce                 string `json:"nonce"`
	Prompt                string `json:"prompt"`
	Scope                 string `json:"scope"`
	Acr_values            string `json:"acr_values"`
	Id_token_hint         string `json:"id_token_hint"`
	Redirect_uri          string `json:"redirect_uri"`
	Response_type         string `json:"response_type"`
	State                 string `json:"state"`
	Ui_locales            string `json:"ui_locales"`
	Client_id             string `json:"client_id"`
	Code_challenge        string `json:"code_challenge"`
	Code_challenge_method string `json:"code_challenge_method"`
}

type AutoCleanupConfig

type AutoCleanupConfig struct {
	Enabled  bool          `json:"enabled"`
	Interval time.Duration `json:"interval"`
}

type AutoSendConfig

type AutoSendConfig struct {
	Organization OrganizationAutoSendConfig `json:"organization"`
	Session      SessionAutoSendConfig      `json:"session"`
	Account      AccountAutoSendConfig      `json:"account"`
	Auth         AuthAutoSendConfig         `json:"auth"`
}

type AutomatedChecksConfig

type AutomatedChecksConfig struct {
	AccessReview       bool          `json:"accessReview"`
	CheckInterval      time.Duration `json:"checkInterval"`
	DataRetention      bool          `json:"dataRetention"`
	Enabled            bool          `json:"enabled"`
	InactiveUsers      bool          `json:"inactiveUsers"`
	MfaCoverage        bool          `json:"mfaCoverage"`
	SuspiciousActivity bool          `json:"suspiciousActivity"`
	PasswordPolicy     bool          `json:"passwordPolicy"`
	SessionPolicy      bool          `json:"sessionPolicy"`
}

type BackupAuthCodesResponse

type BackupAuthCodesResponse struct {
	Codes []string `json:"codes"`
}

type BackupAuthConfigResponse

type BackupAuthConfigResponse struct {
	Config interface{} `json:"config"`
}

type BackupAuthContactResponse

type BackupAuthContactResponse struct {
	Id string `json:"id"`
}

type BackupAuthContactsResponse

type BackupAuthContactsResponse struct {
	Contacts []*interface{} `json:"contacts"`
}

type BackupAuthDocumentResponse

type BackupAuthDocumentResponse struct {
	Id string `json:"id"`
}

type BackupAuthQuestionsResponse

type BackupAuthQuestionsResponse struct {
	Questions []string `json:"questions"`
}

type BackupAuthRecoveryResponse

type BackupAuthRecoveryResponse struct {
	Session_id string `json:"session_id"`
}

type BackupAuthSessionsResponse

type BackupAuthSessionsResponse struct {
	Sessions []*interface{} `json:"sessions"`
}

type BackupAuthStatsResponse

type BackupAuthStatsResponse struct {
	Stats interface{} `json:"stats"`
}

type BackupAuthStatusResponse

type BackupAuthStatusResponse struct {
	Status string `json:"status"`
}

type BackupAuthVideoResponse

type BackupAuthVideoResponse struct {
	Session_id string `json:"session_id"`
}

type BackupCodeFactorAdapter

type BackupCodeFactorAdapter struct {
}

type BackupCodesConfig

type BackupCodesConfig struct {
	Length      int    `json:"length"`
	Allow_reuse bool   `json:"allow_reuse"`
	Count       int    `json:"count"`
	Enabled     bool   `json:"enabled"`
	Format      string `json:"format"`
}

type BanUserRequest

type BanUserRequest struct {
	User_organization_id ID     `json:"user_organization_id"`
	App_id               xid.ID `json:"app_id"`
	Expires_at           Time   `json:"expires_at"`
	Reason               string `json:"reason"`
	User_id              xid.ID `json:"user_id"`
}

type BanUserRequestDTO

type BanUserRequestDTO struct {
	Expires_at Time   `json:"expires_at"`
	Reason     string `json:"reason"`
}

type BaseFactorAdapter

type BaseFactorAdapter struct {
}

type BatchEvaluateRequest

type BatchEvaluateRequest struct {
	Requests []EvaluateRequest `json:"requests"`
}

type BatchEvaluateResponse

type BatchEvaluateResponse struct {
	TotalEvaluations int                      `json:"totalEvaluations"`
	TotalTimeMs      float64                  `json:"totalTimeMs"`
	FailureCount     int                      `json:"failureCount"`
	Results          []*BatchEvaluationResult `json:"results"`
	SuccessCount     int                      `json:"successCount"`
}

type BatchEvaluationResult

type BatchEvaluationResult struct {
	Error            string   `json:"error"`
	EvaluationTimeMs float64  `json:"evaluationTimeMs"`
	Index            int      `json:"index"`
	Policies         []string `json:"policies"`
	ResourceId       string   `json:"resourceId"`
	ResourceType     string   `json:"resourceType"`
	Action           string   `json:"action"`
	Allowed          bool     `json:"allowed"`
}

type BeginLoginRequest

type BeginLoginRequest struct {
	UserId           string `json:"userId"`
	UserVerification string `json:"userVerification"`
}

type BeginLoginResponse

type BeginLoginResponse struct {
	Challenge string        `json:"challenge"`
	Options   interface{}   `json:"options"`
	Timeout   time.Duration `json:"timeout"`
}

type BeginRegisterRequest

type BeginRegisterRequest struct {
	RequireResidentKey bool   `json:"requireResidentKey"`
	UserId             string `json:"userId"`
	UserVerification   string `json:"userVerification"`
	AuthenticatorType  string `json:"authenticatorType"`
	Name               string `json:"name"`
}

type BeginRegisterResponse

type BeginRegisterResponse struct {
	Challenge string        `json:"challenge"`
	Options   interface{}   `json:"options"`
	Timeout   time.Duration `json:"timeout"`
	UserId    string        `json:"userId"`
}

type BlockUserRequest

type BlockUserRequest struct {
	Reason string `json:"reason"`
}

type BulkDeleteRequest

type BulkDeleteRequest struct {
	Ids []string `json:"ids"`
}

type BulkPublishRequest

type BulkPublishRequest struct {
	Ids []string `json:"ids"`
}

type BulkRequest

type BulkRequest struct {
	Ids []string `json:"ids"`
}

type BulkUnpublishRequest

type BulkUnpublishRequest struct {
	Ids []string `json:"ids"`
}

type BunRepository

type BunRepository struct {
}

type CallbackDataResponse

type CallbackDataResponse struct {
	Action    string `json:"action"`
	IsNewUser bool   `json:"isNewUser"`
	User      User   `json:"user"`
}

type CallbackResponse

type CallbackResponse struct {
	Session Session `json:"session"`
	Token   string  `json:"token"`
	User    User    `json:"user"`
}

type CallbackResult

type CallbackResult struct {
}

type CancelRecoveryRequest

type CancelRecoveryRequest struct {
	Reason    string `json:"reason"`
	SessionId xid.ID `json:"sessionId"`
}

type CancelRecoveryResponse

type CancelRecoveryResponse struct {
	Status string `json:"status"`
}

type Challenge

type Challenge struct {
	UserAgent   string          `json:"userAgent"`
	UserId      xid.ID          `json:"userId"`
	VerifiedAt  Time            `json:"verifiedAt"`
	Attempts    int             `json:"attempts"`
	CreatedAt   time.Time       `json:"createdAt"`
	ExpiresAt   time.Time       `json:"expiresAt"`
	FactorId    xid.ID          `json:"factorId"`
	IpAddress   string          `json:"ipAddress"`
	MaxAttempts int             `json:"maxAttempts"`
	Metadata    interface{}     `json:"metadata"`
	Id          xid.ID          `json:"id"`
	Status      ChallengeStatus `json:"status"`
	Type        FactorType      `json:"type"`
}

type ChallengeRequest

type ChallengeRequest struct {
	Context     string       `json:"context"`
	FactorTypes []FactorType `json:"factorTypes"`
	Metadata    interface{}  `json:"metadata"`
	UserId      xid.ID       `json:"userId"`
}

type ChallengeResponse

type ChallengeResponse struct {
	ChallengeId      xid.ID       `json:"challengeId"`
	ExpiresAt        time.Time    `json:"expiresAt"`
	FactorsRequired  int          `json:"factorsRequired"`
	SessionId        xid.ID       `json:"sessionId"`
	AvailableFactors []FactorInfo `json:"availableFactors"`
}

type ChallengeSession

type ChallengeSession struct {
}

type ChallengeStatus

type ChallengeStatus = string

Placeholder type aliases for undefined enum/custom types

type ChallengeStatusResponse

type ChallengeStatusResponse struct {
	Status           string    `json:"status"`
	CompletedAt      Time      `json:"completedAt"`
	ExpiresAt        time.Time `json:"expiresAt"`
	FactorsRemaining int       `json:"factorsRemaining"`
	FactorsRequired  int       `json:"factorsRequired"`
	FactorsVerified  int       `json:"factorsVerified"`
	SessionId        xid.ID    `json:"sessionId"`
}

type ChangePasswordRequest

type ChangePasswordRequest struct {
	OldPassword string `json:"oldPassword"`
	NewPassword string `json:"newPassword"`
}

type ChangePasswordResponse

type ChangePasswordResponse struct {
	Message string `json:"message"`
}

type ChannelsResponse

type ChannelsResponse struct {
	Channels interface{} `json:"channels"`
	Count    int         `json:"count"`
}

type CheckDependencies

type CheckDependencies struct {
}

type CheckMetadata

type CheckMetadata struct {
	Name        string   `json:"name"`
	Severity    string   `json:"severity"`
	Standards   []string `json:"standards"`
	AutoRun     bool     `json:"autoRun"`
	Category    string   `json:"category"`
	Description string   `json:"description"`
}

type CheckRegistry

type CheckRegistry struct {
}

type CheckResult

type CheckResult struct {
	CheckType string      `json:"checkType"`
	Error     error       `json:"error"`
	Evidence  []string    `json:"evidence"`
	Result    interface{} `json:"result"`
	Score     float64     `json:"score"`
	Status    string      `json:"status"`
}

type CheckSubResult

type CheckSubResult struct {
}

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client is the main AuthSome client

func NewClient

func NewClient(baseURL string, opts ...Option) *Client

NewClient creates a new AuthSome client

func (*Client) ChangePassword

func (c *Client) ChangePassword(ctx context.Context, req *ChangePasswordRequest) (*ChangePasswordResponse, error)

ChangePassword Change password for authenticated user

func (*Client) ConfirmEmailChange

func (c *Client) ConfirmEmailChange(ctx context.Context, req *ConfirmEmailChangeRequest) (*ConfirmEmailChangeResponse, error)

ConfirmEmailChange Confirm email change using token

func (*Client) ForgeMiddleware

func (c *Client) ForgeMiddleware() forge.Middleware

ForgeMiddleware returns a Forge middleware that injects auth into context This middleware verifies the session with the AuthSome backend and populates the request context with user and session information

func (*Client) GetAppContext

func (c *Client) GetAppContext() (appID, envID string)

GetAppContext returns the current app and environment IDs

func (*Client) GetCurrentSession

func (c *Client) GetCurrentSession(ctx context.Context) (*Session, error)

GetCurrentSession retrieves the current session

func (*Client) GetCurrentUser

func (c *Client) GetCurrentUser(ctx context.Context) (*User, error)

GetCurrentUser retrieves the current user from the session

func (*Client) GetPlugin

func (c *Client) GetPlugin(id string) (Plugin, bool)

GetPlugin returns a plugin by ID

func (*Client) GetSession

func (c *Client) GetSession(ctx context.Context) (*GetSessionResponse, error)

GetSession Get current session information

func (*Client) ListDevices

func (c *Client) ListDevices(ctx context.Context) (*ListDevicesResponse, error)

ListDevices List user devices

func (*Client) NewHTTPClientWithAuth

func (c *Client) NewHTTPClientWithAuth() *http.Client

NewHTTPClientWithAuth creates a new http.Client with automatic auth injection This is a convenience function for creating HTTP clients with AuthSome authentication

func (*Client) OptionalAuth

func (c *Client) OptionalAuth() forge.Middleware

OptionalAuth returns Forge middleware that optionally loads auth if present Unlike RequireAuth, this does not block unauthenticated requests

func (*Client) RefreshSession

func (c *Client) RefreshSession(ctx context.Context, req *RefreshSessionRequest) (*RefreshSessionResponse, error)

RefreshSession Refresh access token using refresh token

func (*Client) Request

func (c *Client) Request(ctx context.Context, method, path string, body interface{}, result interface{}, auth bool) error

Request makes an HTTP request - exposed for plugin use

func (*Client) RequestEmailChange

func (c *Client) RequestEmailChange(ctx context.Context, req *RequestEmailChangeRequest) (*RequestEmailChangeResponse, error)

RequestEmailChange Request email address change

func (*Client) RequestPasswordReset

RequestPasswordReset Request password reset link

func (*Client) RequireAuth

func (c *Client) RequireAuth() forge.Middleware

RequireAuth returns Forge middleware that requires authentication Requests without valid authentication will receive a 401 response

func (*Client) ResetPassword

func (c *Client) ResetPassword(ctx context.Context, req *ResetPasswordRequest) (*ResetPasswordResponse, error)

ResetPassword Reset password using token

func (*Client) RevokeDevice

func (c *Client) RevokeDevice(ctx context.Context, req *RevokeDeviceRequest) (*RevokeDeviceResponse, error)

RevokeDevice Revoke a device

func (*Client) RoundTripper

func (c *Client) RoundTripper() http.RoundTripper

RoundTripper returns an http.RoundTripper that injects authentication You can use this with any standard http.Client:

httpClient := &http.Client{
    Transport: authClient.RoundTripper(),
}

func (*Client) SetAPIKey

func (c *Client) SetAPIKey(apiKey string)

SetAPIKey sets the API key

func (*Client) SetAppContext

func (c *Client) SetAppContext(appID, envID string)

SetAppContext sets the app and environment context

func (*Client) SetToken

func (c *Client) SetToken(token string)

SetToken sets the authentication token

func (*Client) SignIn

func (c *Client) SignIn(ctx context.Context, req *SignInRequest) (*SignInResponse, error)

SignIn Sign in with email and password

func (*Client) SignOut

func (c *Client) SignOut(ctx context.Context) (*SignOutResponse, error)

SignOut Sign out and invalidate session

func (*Client) SignUp

func (c *Client) SignUp(ctx context.Context, req *SignUpRequest) (*SignUpResponse, error)

SignUp Create a new user account

func (*Client) UpdateUser

func (c *Client) UpdateUser(ctx context.Context, req *UpdateUserRequest) (*UpdateUserResponse, error)

UpdateUser Update current user profile

func (*Client) ValidateResetToken

func (c *Client) ValidateResetToken(ctx context.Context) (*ValidateResetTokenResponse, error)

ValidateResetToken Validate password reset token

type ClientAuthResult

type ClientAuthResult struct {
}

type ClientAuthenticator

type ClientAuthenticator struct {
}

type ClientDetailsResponse

type ClientDetailsResponse struct {
	RedirectURIs            []string `json:"redirectURIs"`
	RequirePKCE             bool     `json:"requirePKCE"`
	TokenEndpointAuthMethod string   `json:"tokenEndpointAuthMethod"`
	TrustedClient           bool     `json:"trustedClient"`
	AllowedScopes           []string `json:"allowedScopes"`
	CreatedAt               string   `json:"createdAt"`
	GrantTypes              []string `json:"grantTypes"`
	LogoURI                 string   `json:"logoURI"`
	TosURI                  string   `json:"tosURI"`
	Name                    string   `json:"name"`
	OrganizationID          string   `json:"organizationID"`
	PolicyURI               string   `json:"policyURI"`
	UpdatedAt               string   `json:"updatedAt"`
	ApplicationType         string   `json:"applicationType"`
	ClientID                string   `json:"clientID"`
	RequireConsent          bool     `json:"requireConsent"`
	ResponseTypes           []string `json:"responseTypes"`
	Contacts                []string `json:"contacts"`
	IsOrgLevel              bool     `json:"isOrgLevel"`
	PostLogoutRedirectURIs  []string `json:"postLogoutRedirectURIs"`
}

type ClientRegistrationRequest

type ClientRegistrationRequest struct {
	Redirect_uris              []string `json:"redirect_uris"`
	Trusted_client             bool     `json:"trusted_client"`
	Contacts                   []string `json:"contacts"`
	Grant_types                []string `json:"grant_types"`
	Logo_uri                   string   `json:"logo_uri"`
	Scope                      string   `json:"scope"`
	Require_consent            bool     `json:"require_consent"`
	Token_endpoint_auth_method string   `json:"token_endpoint_auth_method"`
	Tos_uri                    string   `json:"tos_uri"`
	Post_logout_redirect_uris  []string `json:"post_logout_redirect_uris"`
	Require_pkce               bool     `json:"require_pkce"`
	Response_types             []string `json:"response_types"`
	Application_type           string   `json:"application_type"`
	Client_name                string   `json:"client_name"`
	Policy_uri                 string   `json:"policy_uri"`
}

type ClientRegistrationResponse

type ClientRegistrationResponse struct {
	Logo_uri                   string   `json:"logo_uri"`
	Tos_uri                    string   `json:"tos_uri"`
	Client_name                string   `json:"client_name"`
	Response_types             []string `json:"response_types"`
	Client_id                  string   `json:"client_id"`
	Client_secret_expires_at   int64    `json:"client_secret_expires_at"`
	Policy_uri                 string   `json:"policy_uri"`
	Post_logout_redirect_uris  []string `json:"post_logout_redirect_uris"`
	Contacts                   []string `json:"contacts"`
	Grant_types                []string `json:"grant_types"`
	Token_endpoint_auth_method string   `json:"token_endpoint_auth_method"`
	Redirect_uris              []string `json:"redirect_uris"`
	Scope                      string   `json:"scope"`
	Application_type           string   `json:"application_type"`
	Client_id_issued_at        int64    `json:"client_id_issued_at"`
	Client_secret              string   `json:"client_secret"`
}

type ClientSummary

type ClientSummary struct {
	ApplicationType string `json:"applicationType"`
	ClientID        string `json:"clientID"`
	CreatedAt       string `json:"createdAt"`
	IsOrgLevel      bool   `json:"isOrgLevel"`
	Name            string `json:"name"`
}

type ClientUpdateRequest

type ClientUpdateRequest struct {
	Token_endpoint_auth_method string   `json:"token_endpoint_auth_method"`
	Contacts                   []string `json:"contacts"`
	Grant_types                []string `json:"grant_types"`
	Logo_uri                   string   `json:"logo_uri"`
	Require_pkce               *bool    `json:"require_pkce"`
	Tos_uri                    string   `json:"tos_uri"`
	Trusted_client             *bool    `json:"trusted_client"`
	Allowed_scopes             []string `json:"allowed_scopes"`
	Name                       string   `json:"name"`
	Policy_uri                 string   `json:"policy_uri"`
	Post_logout_redirect_uris  []string `json:"post_logout_redirect_uris"`
	Redirect_uris              []string `json:"redirect_uris"`
	Require_consent            *bool    `json:"require_consent"`
	Response_types             []string `json:"response_types"`
}

type ClientsListResponse

type ClientsListResponse struct {
	Clients    []ClientSummary `json:"clients"`
	Page       int             `json:"page"`
	PageSize   int             `json:"pageSize"`
	Total      int             `json:"total"`
	TotalPages int             `json:"totalPages"`
}

type CloneContentTypeRequest

type CloneContentTypeRequest struct {
}

type CodesResponse

type CodesResponse struct {
	Codes []string `json:"codes"`
}

type CompareRevisionsRequest

type CompareRevisionsRequest struct {
}

type CompleteRecoveryRequest

type CompleteRecoveryRequest struct {
	SessionId xid.ID `json:"sessionId"`
}

type CompleteRecoveryResponse

type CompleteRecoveryResponse struct {
	CompletedAt time.Time      `json:"completedAt"`
	Message     string         `json:"message"`
	SessionId   xid.ID         `json:"sessionId"`
	Status      RecoveryStatus `json:"status"`
	Token       string         `json:"token"`
}

type CompleteTrainingRequest

type CompleteTrainingRequest struct {
	Score int `json:"score"`
}

type CompleteTrainingResponse

type CompleteTrainingResponse struct {
	Status string `json:"status"`
}

type CompleteTraining_req

type CompleteTraining_req struct {
	Score int `json:"score"`
}

type CompleteVideoSessionRequest

type CompleteVideoSessionRequest struct {
	LivenessScore      float64 `json:"livenessScore"`
	Notes              string  `json:"notes"`
	VerificationResult string  `json:"verificationResult"`
	VideoSessionId     xid.ID  `json:"videoSessionId"`
	LivenessPassed     bool    `json:"livenessPassed"`
}

type CompleteVideoSessionResponse

type CompleteVideoSessionResponse struct {
	CompletedAt    time.Time `json:"completedAt"`
	Message        string    `json:"message"`
	Result         string    `json:"result"`
	VideoSessionId xid.ID    `json:"videoSessionId"`
}

type ComplianceCheck

type ComplianceCheck struct {
	CheckType     string      `json:"checkType"`
	CreatedAt     time.Time   `json:"createdAt"`
	Evidence      []string    `json:"evidence"`
	LastCheckedAt time.Time   `json:"lastCheckedAt"`
	NextCheckAt   time.Time   `json:"nextCheckAt"`
	ProfileId     string      `json:"profileId"`
	Result        interface{} `json:"result"`
	Status        string      `json:"status"`
	AppId         string      `json:"appId"`
	Id            string      `json:"id"`
}

type ComplianceCheckResponse

type ComplianceCheckResponse struct {
	Id string `json:"id"`
}

type ComplianceChecksResponse

type ComplianceChecksResponse struct {
	Checks []*interface{} `json:"checks"`
}

type ComplianceDashboardResponse

type ComplianceDashboardResponse struct {
	Metrics interface{} `json:"metrics"`
}

type ComplianceEvidence

type ComplianceEvidence struct {
	EvidenceType string             `json:"evidenceType"`
	FileHash     string             `json:"fileHash"`
	FileUrl      string             `json:"fileUrl"`
	Id           string             `json:"id"`
	ProfileId    string             `json:"profileId"`
	Standard     ComplianceStandard `json:"standard"`
	Title        string             `json:"title"`
	AppId        string             `json:"appId"`
	CollectedBy  string             `json:"collectedBy"`
	CreatedAt    time.Time          `json:"createdAt"`
	Description  string             `json:"description"`
	Metadata     interface{}        `json:"metadata"`
	ControlId    string             `json:"controlId"`
}

type ComplianceEvidenceResponse

type ComplianceEvidenceResponse struct {
	Id string `json:"id"`
}

type ComplianceEvidencesResponse

type ComplianceEvidencesResponse struct {
	Evidence []*interface{} `json:"evidence"`
}

type CompliancePoliciesResponse

type CompliancePoliciesResponse struct {
	Policies []*interface{} `json:"policies"`
}

type CompliancePolicy

type CompliancePolicy struct {
	PolicyType    string             `json:"policyType"`
	ReviewDate    time.Time          `json:"reviewDate"`
	ApprovedBy    string             `json:"approvedBy"`
	CreatedAt     time.Time          `json:"createdAt"`
	EffectiveDate time.Time          `json:"effectiveDate"`
	Metadata      interface{}        `json:"metadata"`
	UpdatedAt     time.Time          `json:"updatedAt"`
	Version       string             `json:"version"`
	AppId         string             `json:"appId"`
	ApprovedAt    Time               `json:"approvedAt"`
	ProfileId     string             `json:"profileId"`
	Standard      ComplianceStandard `json:"standard"`
	Content       string             `json:"content"`
	Status        string             `json:"status"`
	Title         string             `json:"title"`
	Id            string             `json:"id"`
}

type CompliancePolicyResponse

type CompliancePolicyResponse struct {
	Id string `json:"id"`
}

type ComplianceProfile

type ComplianceProfile struct {
	MfaRequired           bool                 `json:"mfaRequired"`
	RbacRequired          bool                 `json:"rbacRequired"`
	AppId                 string               `json:"appId"`
	PasswordMinLength     int                  `json:"passwordMinLength"`
	PasswordRequireLower  bool                 `json:"passwordRequireLower"`
	PasswordRequireNumber bool                 `json:"passwordRequireNumber"`
	RegularAccessReview   bool                 `json:"regularAccessReview"`
	AuditLogExport        bool                 `json:"auditLogExport"`
	RetentionDays         int                  `json:"retentionDays"`
	SessionIpBinding      bool                 `json:"sessionIpBinding"`
	Name                  string               `json:"name"`
	ComplianceContact     string               `json:"complianceContact"`
	Id                    string               `json:"id"`
	Status                string               `json:"status"`
	EncryptionAtRest      bool                 `json:"encryptionAtRest"`
	LeastPrivilege        bool                 `json:"leastPrivilege"`
	PasswordExpiryDays    int                  `json:"passwordExpiryDays"`
	PasswordRequireSymbol bool                 `json:"passwordRequireSymbol"`
	PasswordRequireUpper  bool                 `json:"passwordRequireUpper"`
	SessionIdleTimeout    int                  `json:"sessionIdleTimeout"`
	CreatedAt             time.Time            `json:"createdAt"`
	Metadata              interface{}          `json:"metadata"`
	UpdatedAt             time.Time            `json:"updatedAt"`
	DataResidency         string               `json:"dataResidency"`
	DpoContact            string               `json:"dpoContact"`
	EncryptionInTransit   bool                 `json:"encryptionInTransit"`
	SessionMaxAge         int                  `json:"sessionMaxAge"`
	Standards             []ComplianceStandard `json:"standards"`
	DetailedAuditTrail    bool                 `json:"detailedAuditTrail"`
}

type ComplianceProfileResponse

type ComplianceProfileResponse struct {
	Id string `json:"id"`
}

type ComplianceReport

type ComplianceReport struct {
	Status      string             `json:"status"`
	AppId       string             `json:"appId"`
	CreatedAt   time.Time          `json:"createdAt"`
	Id          string             `json:"id"`
	Period      string             `json:"period"`
	ProfileId   string             `json:"profileId"`
	Summary     interface{}        `json:"summary"`
	ExpiresAt   time.Time          `json:"expiresAt"`
	FileSize    int64              `json:"fileSize"`
	FileUrl     string             `json:"fileUrl"`
	Format      string             `json:"format"`
	GeneratedBy string             `json:"generatedBy"`
	ReportType  string             `json:"reportType"`
	Standard    ComplianceStandard `json:"standard"`
}

type ComplianceReportFileResponse

type ComplianceReportFileResponse struct {
	Content_type string `json:"content_type"`
	Data         []byte `json:"data"`
}

type ComplianceReportResponse

type ComplianceReportResponse struct {
	Id string `json:"id"`
}

type ComplianceReportsResponse

type ComplianceReportsResponse struct {
	Reports []*interface{} `json:"reports"`
}

type ComplianceStandard

type ComplianceStandard = string

Placeholder type aliases for undefined enum/custom types

type ComplianceStatus

type ComplianceStatus struct {
	NextAudit     time.Time          `json:"nextAudit"`
	ProfileId     string             `json:"profileId"`
	Standard      ComplianceStandard `json:"standard"`
	LastChecked   time.Time          `json:"lastChecked"`
	OverallStatus string             `json:"overallStatus"`
	Score         int                `json:"score"`
	Violations    int                `json:"violations"`
	AppId         string             `json:"appId"`
	ChecksFailed  int                `json:"checksFailed"`
	ChecksPassed  int                `json:"checksPassed"`
	ChecksWarning int                `json:"checksWarning"`
}

type ComplianceStatusDetailsResponse

type ComplianceStatusDetailsResponse struct {
	Status string `json:"status"`
}

type ComplianceStatusResponse

type ComplianceStatusResponse struct {
	Status string `json:"status"`
}

type ComplianceTemplate

type ComplianceTemplate struct {
	Name               string             `json:"name"`
	PasswordMinLength  int                `json:"passwordMinLength"`
	RequiredPolicies   []string           `json:"requiredPolicies"`
	Standard           ComplianceStandard `json:"standard"`
	AuditFrequencyDays int                `json:"auditFrequencyDays"`
	DataResidency      string             `json:"dataResidency"`
	Description        string             `json:"description"`
	RequiredTraining   []string           `json:"requiredTraining"`
	RetentionDays      int                `json:"retentionDays"`
	SessionMaxAge      int                `json:"sessionMaxAge"`
	MfaRequired        bool               `json:"mfaRequired"`
}

type ComplianceTemplateResponse

type ComplianceTemplateResponse struct {
	Standard string `json:"standard"`
}

type ComplianceTemplatesResponse

type ComplianceTemplatesResponse struct {
	Templates []*interface{} `json:"templates"`
}

type ComplianceTraining

type ComplianceTraining struct {
	AppId        string             `json:"appId"`
	CreatedAt    time.Time          `json:"createdAt"`
	ExpiresAt    Time               `json:"expiresAt"`
	Id           string             `json:"id"`
	Metadata     interface{}        `json:"metadata"`
	Score        int                `json:"score"`
	Status       string             `json:"status"`
	TrainingType string             `json:"trainingType"`
	CompletedAt  Time               `json:"completedAt"`
	ProfileId    string             `json:"profileId"`
	Standard     ComplianceStandard `json:"standard"`
	UserId       string             `json:"userId"`
}

type ComplianceTrainingResponse

type ComplianceTrainingResponse struct {
	Id string `json:"id"`
}

type ComplianceTrainingsResponse

type ComplianceTrainingsResponse struct {
	Training []*interface{} `json:"training"`
}

type ComplianceUserTrainingResponse

type ComplianceUserTrainingResponse struct {
	User_id string `json:"user_id"`
}

type ComplianceViolation

type ComplianceViolation struct {
	ProfileId     string      `json:"profileId"`
	ResolvedAt    Time        `json:"resolvedAt"`
	Status        string      `json:"status"`
	ViolationType string      `json:"violationType"`
	AppId         string      `json:"appId"`
	CreatedAt     time.Time   `json:"createdAt"`
	Metadata      interface{} `json:"metadata"`
	ResolvedBy    string      `json:"resolvedBy"`
	Severity      string      `json:"severity"`
	UserId        string      `json:"userId"`
	Description   string      `json:"description"`
	Id            string      `json:"id"`
}

type ComplianceViolationResponse

type ComplianceViolationResponse struct {
	Id string `json:"id"`
}

type ComplianceViolationsResponse

type ComplianceViolationsResponse struct {
	Violations []*interface{} `json:"violations"`
}

type Config

type Config struct {
	CcpaEnabled   bool                       `json:"ccpaEnabled"`
	DataDeletion  DataDeletionConfig         `json:"dataDeletion"`
	DataExport    DataExportConfig           `json:"dataExport"`
	GdprEnabled   bool                       `json:"gdprEnabled"`
	Audit         ConsentAuditConfig         `json:"audit"`
	CookieConsent CookieConsentConfig        `json:"cookieConsent"`
	Dashboard     ConsentDashboardConfig     `json:"dashboard"`
	Enabled       bool                       `json:"enabled"`
	Expiry        ConsentExpiryConfig        `json:"expiry"`
	Notifications ConsentNotificationsConfig `json:"notifications"`
}

type ConfigSourceConfig

type ConfigSourceConfig struct {
	AutoRefresh     bool          `json:"autoRefresh"`
	Enabled         bool          `json:"enabled"`
	Prefix          string        `json:"prefix"`
	Priority        int           `json:"priority"`
	RefreshInterval time.Duration `json:"refreshInterval"`
}

type ConfirmEmailChangeRequest

type ConfirmEmailChangeRequest struct {
	Token string `json:"token"`
}

type ConfirmEmailChangeResponse

type ConfirmEmailChangeResponse struct {
	Message string `json:"message"`
}

type ConnectionResponse

type ConnectionResponse struct {
	Connection SocialAccount `json:"connection"`
}

type ConnectionsResponse

type ConnectionsResponse struct {
	Connections SocialAccount `json:"connections"`
}

type ConsentAuditConfig

type ConsentAuditConfig struct {
	Enabled         bool          `json:"enabled"`
	ExportFormat    string        `json:"exportFormat"`
	Immutable       bool          `json:"immutable"`
	LogUserAgent    bool          `json:"logUserAgent"`
	RetentionDays   int           `json:"retentionDays"`
	ArchiveInterval time.Duration `json:"archiveInterval"`
	ArchiveOldLogs  bool          `json:"archiveOldLogs"`
	LogAllChanges   bool          `json:"logAllChanges"`
	LogIpAddress    bool          `json:"logIpAddress"`
	SignLogs        bool          `json:"signLogs"`
}

type ConsentAuditLog

type ConsentAuditLog struct {
	UserId         string    `json:"userId"`
	ConsentId      string    `json:"consentId"`
	IpAddress      string    `json:"ipAddress"`
	NewValue       JSONBMap  `json:"newValue"`
	Purpose        string    `json:"purpose"`
	Reason         string    `json:"reason"`
	Action         string    `json:"action"`
	ConsentType    string    `json:"consentType"`
	CreatedAt      time.Time `json:"createdAt"`
	Id             xid.ID    `json:"id"`
	OrganizationId string    `json:"organizationId"`
	PreviousValue  JSONBMap  `json:"previousValue"`
	UserAgent      string    `json:"userAgent"`
}

type ConsentAuditLogsResponse

type ConsentAuditLogsResponse struct {
	Audit_logs []*interface{} `json:"audit_logs"`
}

type ConsentCookieResponse

type ConsentCookieResponse struct {
	Preferences interface{} `json:"preferences"`
}

type ConsentDashboardConfig

type ConsentDashboardConfig struct {
	Enabled               bool   `json:"enabled"`
	Path                  string `json:"path"`
	ShowAuditLog          bool   `json:"showAuditLog"`
	ShowConsentHistory    bool   `json:"showConsentHistory"`
	ShowCookiePreferences bool   `json:"showCookiePreferences"`
	ShowDataDeletion      bool   `json:"showDataDeletion"`
	ShowDataExport        bool   `json:"showDataExport"`
	ShowPolicies          bool   `json:"showPolicies"`
}

type ConsentDecision

type ConsentDecision struct {
}

type ConsentDeletionResponse

type ConsentDeletionResponse struct {
	Status string `json:"status"`
	Id     string `json:"id"`
}

type ConsentExpiryConfig

type ConsentExpiryConfig struct {
	AutoExpireCheck     bool          `json:"autoExpireCheck"`
	DefaultValidityDays int           `json:"defaultValidityDays"`
	Enabled             bool          `json:"enabled"`
	ExpireCheckInterval time.Duration `json:"expireCheckInterval"`
	RenewalReminderDays int           `json:"renewalReminderDays"`
	RequireReConsent    bool          `json:"requireReConsent"`
	AllowRenewal        bool          `json:"allowRenewal"`
}

type ConsentExportFileResponse

type ConsentExportFileResponse struct {
	Content_type string `json:"content_type"`
	Data         []byte `json:"data"`
}

type ConsentExportResponse

type ConsentExportResponse struct {
	Id     string `json:"id"`
	Status string `json:"status"`
}

type ConsentManager

type ConsentManager struct {
}

type ConsentNotificationsConfig

type ConsentNotificationsConfig struct {
	NotifyOnExpiry         bool     `json:"notifyOnExpiry"`
	NotifyOnGrant          bool     `json:"notifyOnGrant"`
	Channels               []string `json:"channels"`
	NotifyDeletionComplete bool     `json:"notifyDeletionComplete"`
	NotifyOnRevoke         bool     `json:"notifyOnRevoke"`
	Enabled                bool     `json:"enabled"`
	NotifyDeletionApproved bool     `json:"notifyDeletionApproved"`
	NotifyDpoEmail         string   `json:"notifyDpoEmail"`
	NotifyExportReady      bool     `json:"notifyExportReady"`
}

type ConsentPolicy

type ConsentPolicy struct {
	CreatedBy      string    `json:"createdBy"`
	Id             xid.ID    `json:"id"`
	Active         bool      `json:"active"`
	ConsentType    string    `json:"consentType"`
	Content        string    `json:"content"`
	CreatedAt      time.Time `json:"createdAt"`
	Description    string    `json:"description"`
	Metadata       JSONBMap  `json:"metadata"`
	PublishedAt    Time      `json:"publishedAt"`
	ValidityPeriod *int      `json:"validityPeriod"`
	Name           string    `json:"name"`
	OrganizationId string    `json:"organizationId"`
	Renewable      bool      `json:"renewable"`
	Required       bool      `json:"required"`
	UpdatedAt      time.Time `json:"updatedAt"`
	Version        string    `json:"version"`
}

type ConsentPolicyResponse

type ConsentPolicyResponse struct {
	Id string `json:"id"`
}

type ConsentRecord

type ConsentRecord struct {
	Granted        bool      `json:"granted"`
	IpAddress      string    `json:"ipAddress"`
	CreatedAt      time.Time `json:"createdAt"`
	ExpiresAt      Time      `json:"expiresAt"`
	GrantedAt      time.Time `json:"grantedAt"`
	Metadata       JSONBMap  `json:"metadata"`
	Purpose        string    `json:"purpose"`
	RevokedAt      Time      `json:"revokedAt"`
	UpdatedAt      time.Time `json:"updatedAt"`
	UserId         string    `json:"userId"`
	ConsentType    string    `json:"consentType"`
	Id             xid.ID    `json:"id"`
	OrganizationId string    `json:"organizationId"`
	Version        string    `json:"version"`
	UserAgent      string    `json:"userAgent"`
}

type ConsentRecordResponse

type ConsentRecordResponse struct {
	Id string `json:"id"`
}

type ConsentReport

type ConsentReport struct {
	ConsentRate           float64     `json:"consentRate"`
	DataExportsThisPeriod int         `json:"dataExportsThisPeriod"`
	DpasActive            int         `json:"dpasActive"`
	ReportPeriodEnd       time.Time   `json:"reportPeriodEnd"`
	UsersWithConsent      int         `json:"usersWithConsent"`
	CompletedDeletions    int         `json:"completedDeletions"`
	ConsentsByType        interface{} `json:"consentsByType"`
	DpasExpiringSoon      int         `json:"dpasExpiringSoon"`
	OrganizationId        string      `json:"organizationId"`
	PendingDeletions      int         `json:"pendingDeletions"`
	ReportPeriodStart     time.Time   `json:"reportPeriodStart"`
	TotalUsers            int         `json:"totalUsers"`
}

type ConsentReportResponse

type ConsentReportResponse struct {
	Id string `json:"id"`
}

type ConsentRequest

type ConsentRequest struct {
	Code_challenge        string `json:"code_challenge"`
	Code_challenge_method string `json:"code_challenge_method"`
	Redirect_uri          string `json:"redirect_uri"`
	Response_type         string `json:"response_type"`
	Scope                 string `json:"scope"`
	State                 string `json:"state"`
	Action                string `json:"action"`
	Client_id             string `json:"client_id"`
}

type ConsentService

type ConsentService struct {
}

type ConsentSettingsResponse

type ConsentSettingsResponse struct {
	Settings interface{} `json:"settings"`
}

type ConsentStats

type ConsentStats struct {
	GrantRate       float64 `json:"grantRate"`
	GrantedCount    int     `json:"grantedCount"`
	RevokedCount    int     `json:"revokedCount"`
	TotalConsents   int     `json:"totalConsents"`
	Type            string  `json:"type"`
	AverageLifetime int     `json:"averageLifetime"`
	ExpiredCount    int     `json:"expiredCount"`
}

type ConsentStatusResponse

type ConsentStatusResponse struct {
	Status string `json:"status"`
}

type ConsentSummary

type ConsentSummary struct {
	ExpiredConsents    int         `json:"expiredConsents"`
	GrantedConsents    int         `json:"grantedConsents"`
	OrganizationId     string      `json:"organizationId"`
	PendingRenewals    int         `json:"pendingRenewals"`
	RevokedConsents    int         `json:"revokedConsents"`
	UserId             string      `json:"userId"`
	ConsentsByType     interface{} `json:"consentsByType"`
	HasPendingDeletion bool        `json:"hasPendingDeletion"`
	HasPendingExport   bool        `json:"hasPendingExport"`
	LastConsentUpdate  Time        `json:"lastConsentUpdate"`
	TotalConsents      int         `json:"totalConsents"`
}

type ConsentTypeStatus

type ConsentTypeStatus struct {
	Version      string    `json:"version"`
	ExpiresAt    Time      `json:"expiresAt"`
	Granted      bool      `json:"granted"`
	GrantedAt    time.Time `json:"grantedAt"`
	NeedsRenewal bool      `json:"needsRenewal"`
	Type         string    `json:"type"`
}

type ConsentsResponse

type ConsentsResponse struct {
	Consents interface{} `json:"consents"`
	Count    int         `json:"count"`
}

type ContentEntryHandler

type ContentEntryHandler struct {
}

type ContentTypeHandler

type ContentTypeHandler struct {
}

type ContextRule

type ContextRule struct {
	Org_id         string        `json:"org_id"`
	Security_level SecurityLevel `json:"security_level"`
	Condition      string        `json:"condition"`
	Description    string        `json:"description"`
	Name           string        `json:"name"`
}

type ContinueRecoveryRequest

type ContinueRecoveryRequest struct {
	Method    RecoveryMethod `json:"method"`
	SessionId xid.ID         `json:"sessionId"`
}

type ContinueRecoveryResponse

type ContinueRecoveryResponse struct {
	Instructions string         `json:"instructions"`
	Method       RecoveryMethod `json:"method"`
	SessionId    xid.ID         `json:"sessionId"`
	TotalSteps   int            `json:"totalSteps"`
	CurrentStep  int            `json:"currentStep"`
	Data         interface{}    `json:"data"`
	ExpiresAt    time.Time      `json:"expiresAt"`
}

type CookieConsent

type CookieConsent struct {
	Marketing            bool      `json:"marketing"`
	UpdatedAt            time.Time `json:"updatedAt"`
	UserAgent            string    `json:"userAgent"`
	UserId               string    `json:"userId"`
	ConsentBannerVersion string    `json:"consentBannerVersion"`
	ExpiresAt            time.Time `json:"expiresAt"`
	OrganizationId       string    `json:"organizationId"`
	CreatedAt            time.Time `json:"createdAt"`
	Essential            bool      `json:"essential"`
	Functional           bool      `json:"functional"`
	Id                   xid.ID    `json:"id"`
	IpAddress            string    `json:"ipAddress"`
	Personalization      bool      `json:"personalization"`
	SessionId            string    `json:"sessionId"`
	ThirdParty           bool      `json:"thirdParty"`
	Analytics            bool      `json:"analytics"`
}

type CookieConsentConfig

type CookieConsentConfig struct {
	AllowAnonymous  bool          `json:"allowAnonymous"`
	BannerVersion   string        `json:"bannerVersion"`
	Categories      []string      `json:"categories"`
	DefaultStyle    string        `json:"defaultStyle"`
	Enabled         bool          `json:"enabled"`
	RequireExplicit bool          `json:"requireExplicit"`
	ValidityPeriod  time.Duration `json:"validityPeriod"`
}

type CookieConsentRequest

type CookieConsentRequest struct {
	BannerVersion   string `json:"bannerVersion"`
	Essential       bool   `json:"essential"`
	Functional      bool   `json:"functional"`
	Marketing       bool   `json:"marketing"`
	Personalization bool   `json:"personalization"`
	SessionId       string `json:"sessionId"`
	ThirdParty      bool   `json:"thirdParty"`
	Analytics       bool   `json:"analytics"`
}

type CreateABTestVariant_req

type CreateABTestVariant_req struct {
	Weight  int    `json:"weight"`
	Body    string `json:"body"`
	Name    string `json:"name"`
	Subject string `json:"subject"`
}

type CreateAPIKeyRequest

type CreateAPIKeyRequest struct {
	Scopes      []string    `json:"scopes"`
	Allowed_ips []string    `json:"allowed_ips"`
	Description string      `json:"description"`
	Metadata    interface{} `json:"metadata"`
	Name        string      `json:"name"`
	Permissions interface{} `json:"permissions"`
	Rate_limit  int         `json:"rate_limit"`
}

type CreateAPIKeyResponse

type CreateAPIKeyResponse struct {
	Api_key APIKey `json:"api_key"`
	Message string `json:"message"`
}

type CreateActionRequest

type CreateActionRequest struct {
	Description string `json:"description"`
	Name        string `json:"name"`
	NamespaceId string `json:"namespaceId"`
}

type CreateAppRequest

type CreateAppRequest struct {
}

type CreateConsentPolicyRequest

type CreateConsentPolicyRequest struct {
	Name           string      `json:"name"`
	Required       bool        `json:"required"`
	Version        string      `json:"version"`
	Content        string      `json:"content"`
	Description    string      `json:"description"`
	Metadata       interface{} `json:"metadata"`
	Renewable      bool        `json:"renewable"`
	ValidityPeriod *int        `json:"validityPeriod"`
	ConsentType    string      `json:"consentType"`
}

type CreateConsentPolicyResponse

type CreateConsentPolicyResponse struct {
	Id string `json:"id"`
}

type CreateConsentRequest

type CreateConsentRequest struct {
	ConsentType string      `json:"consentType"`
	ExpiresIn   *int        `json:"expiresIn"`
	Granted     bool        `json:"granted"`
	Metadata    interface{} `json:"metadata"`
	Purpose     string      `json:"purpose"`
	UserId      string      `json:"userId"`
	Version     string      `json:"version"`
}

type CreateConsentResponse

type CreateConsentResponse struct {
	Id string `json:"id"`
}

type CreateDPARequest

type CreateDPARequest struct {
	AgreementType string      `json:"agreementType"`
	EffectiveDate time.Time   `json:"effectiveDate"`
	ExpiryDate    Time        `json:"expiryDate"`
	SignedByEmail string      `json:"signedByEmail"`
	SignedByName  string      `json:"signedByName"`
	SignedByTitle string      `json:"signedByTitle"`
	Version       string      `json:"version"`
	Content       string      `json:"content"`
	Metadata      interface{} `json:"metadata"`
}

type CreateEntryRequest

type CreateEntryRequest struct {
}

type CreateEvidenceRequest

type CreateEvidenceRequest struct {
	Description  string             `json:"description"`
	EvidenceType string             `json:"evidenceType"`
	FileUrl      string             `json:"fileUrl"`
	Standard     ComplianceStandard `json:"standard"`
	Title        string             `json:"title"`
	ControlId    string             `json:"controlId"`
}

type CreateEvidenceResponse

type CreateEvidenceResponse struct {
	Id string `json:"id"`
}

type CreateEvidence_req

type CreateEvidence_req struct {
	ControlId    string             `json:"controlId"`
	Description  string             `json:"description"`
	EvidenceType string             `json:"evidenceType"`
	FileUrl      string             `json:"fileUrl"`
	Standard     ComplianceStandard `json:"standard"`
	Title        string             `json:"title"`
}

type CreateJWTKeyRequest

type CreateJWTKeyRequest struct {
	Algorithm     string      `json:"algorithm"`
	Curve         string      `json:"curve"`
	ExpiresAt     Time        `json:"expiresAt"`
	IsPlatformKey bool        `json:"isPlatformKey"`
	KeyType       string      `json:"keyType"`
	Metadata      interface{} `json:"metadata"`
}

type CreateNamespaceRequest

type CreateNamespaceRequest struct {
	Name            string `json:"name"`
	TemplateId      string `json:"templateId"`
	Description     string `json:"description"`
	InheritPlatform bool   `json:"inheritPlatform"`
}

type CreateOrganizationHandlerRequest

type CreateOrganizationHandlerRequest struct {
}

type CreatePolicyRequest

type CreatePolicyRequest struct {
	Name           string      `json:"name"`
	Renewable      bool        `json:"renewable"`
	Version        string      `json:"version"`
	ConsentType    string      `json:"consentType"`
	Description    string      `json:"description"`
	Required       bool        `json:"required"`
	ValidityPeriod *int        `json:"validityPeriod"`
	Content        string      `json:"content"`
	Metadata       interface{} `json:"metadata"`
}

type CreatePolicyResponse

type CreatePolicyResponse struct {
	Id string `json:"id"`
}

type CreatePolicy_req

type CreatePolicy_req struct {
	Standard   ComplianceStandard `json:"standard"`
	Title      string             `json:"title"`
	Version    string             `json:"version"`
	Content    string             `json:"content"`
	PolicyType string             `json:"policyType"`
}

type CreateProfileFromTemplateRequest

type CreateProfileFromTemplateRequest struct {
	Standard ComplianceStandard `json:"standard"`
}

type CreateProfileFromTemplateResponse

type CreateProfileFromTemplateResponse struct {
	Id string `json:"id"`
}

type CreateProfileFromTemplate_req

type CreateProfileFromTemplate_req struct {
	Standard ComplianceStandard `json:"standard"`
}

type CreateProfileRequest

type CreateProfileRequest struct {
	AppId                 string               `json:"appId"`
	AuditLogExport        bool                 `json:"auditLogExport"`
	DataResidency         string               `json:"dataResidency"`
	MfaRequired           bool                 `json:"mfaRequired"`
	Name                  string               `json:"name"`
	PasswordExpiryDays    int                  `json:"passwordExpiryDays"`
	PasswordRequireNumber bool                 `json:"passwordRequireNumber"`
	RbacRequired          bool                 `json:"rbacRequired"`
	ComplianceContact     string               `json:"complianceContact"`
	DetailedAuditTrail    bool                 `json:"detailedAuditTrail"`
	EncryptionAtRest      bool                 `json:"encryptionAtRest"`
	PasswordMinLength     int                  `json:"passwordMinLength"`
	RegularAccessReview   bool                 `json:"regularAccessReview"`
	SessionIdleTimeout    int                  `json:"sessionIdleTimeout"`
	Metadata              interface{}          `json:"metadata"`
	PasswordRequireLower  bool                 `json:"passwordRequireLower"`
	SessionIpBinding      bool                 `json:"sessionIpBinding"`
	Standards             []ComplianceStandard `json:"standards"`
	DpoContact            string               `json:"dpoContact"`
	EncryptionInTransit   bool                 `json:"encryptionInTransit"`
	LeastPrivilege        bool                 `json:"leastPrivilege"`
	PasswordRequireSymbol bool                 `json:"passwordRequireSymbol"`
	PasswordRequireUpper  bool                 `json:"passwordRequireUpper"`
	RetentionDays         int                  `json:"retentionDays"`
	SessionMaxAge         int                  `json:"sessionMaxAge"`
}

type CreateProfileResponse

type CreateProfileResponse struct {
	Id string `json:"id"`
}

type CreateProvider_req

type CreateProvider_req struct {
	OrganizationId *string     `json:"organizationId,omitempty"`
	ProviderName   string      `json:"providerName"`
	ProviderType   string      `json:"providerType"`
	Config         interface{} `json:"config"`
	IsDefault      bool        `json:"isDefault"`
}

type CreateRequest

type CreateRequest struct {
	Description string      `json:"description"`
	Metadata    interface{} `json:"metadata"`
	Path        string      `json:"path"`
	Tags        []string    `json:"tags"`
	Value       interface{} `json:"value"`
	ValueType   string      `json:"valueType"`
}

type CreateResourceRequest

type CreateResourceRequest struct {
	NamespaceId string                     `json:"namespaceId"`
	Type        string                     `json:"type"`
	Attributes  []ResourceAttributeRequest `json:"attributes"`
	Description string                     `json:"description"`
}

type CreateResponse

type CreateResponse struct {
	Webhook Webhook `json:"webhook"`
}

type CreateSecretRequest

type CreateSecretRequest struct {
	Description string      `json:"description"`
	Metadata    interface{} `json:"metadata"`
	Path        string      `json:"path"`
	Tags        []string    `json:"tags"`
	Value       interface{} `json:"value"`
	ValueType   string      `json:"valueType"`
}

type CreateSessionHTTPRequest

type CreateSessionHTTPRequest struct {
	Provider       string      `json:"provider"`
	RequiredChecks []string    `json:"requiredChecks"`
	SuccessUrl     string      `json:"successUrl"`
	CancelUrl      string      `json:"cancelUrl"`
	Config         interface{} `json:"config"`
	Metadata       interface{} `json:"metadata"`
}

type CreateSessionRequest

type CreateSessionRequest struct {
}

type CreateTeamHandlerRequest

type CreateTeamHandlerRequest struct {
}

type CreateTeamRequest

type CreateTeamRequest struct {
	Description string `json:"description"`
	Name        string `json:"name"`
}

type CreateTemplateResponse

type CreateTemplateResponse struct {
	Template interface{} `json:"template"`
}

type CreateTemplateVersion_req

type CreateTemplateVersion_req struct {
	Changes string `json:"changes"`
}

type CreateTrainingRequest

type CreateTrainingRequest struct {
	Standard     ComplianceStandard `json:"standard"`
	TrainingType string             `json:"trainingType"`
	UserId       string             `json:"userId"`
}

type CreateTrainingResponse

type CreateTrainingResponse struct {
	Id string `json:"id"`
}

type CreateTraining_req

type CreateTraining_req struct {
	Standard     ComplianceStandard `json:"standard"`
	TrainingType string             `json:"trainingType"`
	UserId       string             `json:"userId"`
}

type CreateUserRequest

type CreateUserRequest struct {
	Username             string      `json:"username"`
	Email                string      `json:"email"`
	Email_verified       bool        `json:"email_verified"`
	Name                 string      `json:"name"`
	Role                 string      `json:"role"`
	User_organization_id ID          `json:"user_organization_id"`
	App_id               xid.ID      `json:"app_id"`
	Metadata             interface{} `json:"metadata"`
	Password             string      `json:"password"`
}

type CreateUserRequestDTO

type CreateUserRequestDTO struct {
	Role           string      `json:"role"`
	Username       string      `json:"username"`
	Email          string      `json:"email"`
	Email_verified bool        `json:"email_verified"`
	Metadata       interface{} `json:"metadata"`
	Name           string      `json:"name"`
	Password       string      `json:"password"`
}

type CreateVerificationRequest

type CreateVerificationRequest struct {
}

type CreateVerificationSessionRequest

type CreateVerificationSessionRequest struct {
	Provider       string      `json:"provider"`
	RequiredChecks []string    `json:"requiredChecks"`
	SuccessUrl     string      `json:"successUrl"`
	CancelUrl      string      `json:"cancelUrl"`
	Config         interface{} `json:"config"`
	Metadata       interface{} `json:"metadata"`
}

type CreateVerificationSessionResponse

type CreateVerificationSessionResponse struct {
	Session interface{} `json:"session"`
}

type CreateVerificationSession_req

type CreateVerificationSession_req struct {
	Config         interface{} `json:"config"`
	Metadata       interface{} `json:"metadata"`
	Provider       string      `json:"provider"`
	RequiredChecks []string    `json:"requiredChecks"`
	SuccessUrl     string      `json:"successUrl"`
	CancelUrl      string      `json:"cancelUrl"`
}

type DashboardConfig

type DashboardConfig struct {
	EnableImport   bool          `json:"enableImport"`
	EnableReveal   bool          `json:"enableReveal"`
	EnableTreeView bool          `json:"enableTreeView"`
	RevealTimeout  time.Duration `json:"revealTimeout"`
	EnableExport   bool          `json:"enableExport"`
}

type DashboardExtension

type DashboardExtension struct {
}

type DataDeletionConfig

type DataDeletionConfig struct {
	ArchivePath           string   `json:"archivePath"`
	RetentionExemptions   []string `json:"retentionExemptions"`
	AllowPartialDeletion  bool     `json:"allowPartialDeletion"`
	ArchiveBeforeDeletion bool     `json:"archiveBeforeDeletion"`
	AutoProcessAfterGrace bool     `json:"autoProcessAfterGrace"`
	Enabled               bool     `json:"enabled"`
	GracePeriodDays       int      `json:"gracePeriodDays"`
	NotifyBeforeDeletion  bool     `json:"notifyBeforeDeletion"`
	PreserveLegalData     bool     `json:"preserveLegalData"`
	RequireAdminApproval  bool     `json:"requireAdminApproval"`
}

type DataDeletionRequest

type DataDeletionRequest struct {
	ArchivePath     string    `json:"archivePath"`
	CompletedAt     Time      `json:"completedAt"`
	ExemptionReason string    `json:"exemptionReason"`
	RequestReason   string    `json:"requestReason"`
	UpdatedAt       time.Time `json:"updatedAt"`
	ApprovedAt      Time      `json:"approvedAt"`
	ApprovedBy      string    `json:"approvedBy"`
	ErrorMessage    string    `json:"errorMessage"`
	DeleteSections  []string  `json:"deleteSections"`
	IpAddress       string    `json:"ipAddress"`
	OrganizationId  string    `json:"organizationId"`
	RejectedAt      Time      `json:"rejectedAt"`
	RetentionExempt bool      `json:"retentionExempt"`
	UserId          string    `json:"userId"`
	CreatedAt       time.Time `json:"createdAt"`
	Id              xid.ID    `json:"id"`
	Status          string    `json:"status"`
}

type DataDeletionRequestInput

type DataDeletionRequestInput struct {
	DeleteSections []string `json:"deleteSections"`
	Reason         string   `json:"reason"`
}

type DataExportConfig

type DataExportConfig struct {
	MaxRequests     int           `json:"maxRequests"`
	StoragePath     string        `json:"storagePath"`
	CleanupInterval time.Duration `json:"cleanupInterval"`
	ExpiryHours     int           `json:"expiryHours"`
	MaxExportSize   int64         `json:"maxExportSize"`
	RequestPeriod   time.Duration `json:"requestPeriod"`
	AllowedFormats  []string      `json:"allowedFormats"`
	AutoCleanup     bool          `json:"autoCleanup"`
	DefaultFormat   string        `json:"defaultFormat"`
	Enabled         bool          `json:"enabled"`
	IncludeSections []string      `json:"includeSections"`
}

type DataExportRequest

type DataExportRequest struct {
	Status          string    `json:"status"`
	UpdatedAt       time.Time `json:"updatedAt"`
	ExportPath      string    `json:"exportPath"`
	Id              xid.ID    `json:"id"`
	IncludeSections []string  `json:"includeSections"`
	UserId          string    `json:"userId"`
	ExpiresAt       Time      `json:"expiresAt"`
	ExportSize      int64     `json:"exportSize"`
	IpAddress       string    `json:"ipAddress"`
	OrganizationId  string    `json:"organizationId"`
	CompletedAt     Time      `json:"completedAt"`
	ErrorMessage    string    `json:"errorMessage"`
	Format          string    `json:"format"`
	CreatedAt       time.Time `json:"createdAt"`
	ExportUrl       string    `json:"exportUrl"`
}

type DataExportRequestInput

type DataExportRequestInput struct {
	Format          string   `json:"format"`
	IncludeSections []string `json:"includeSections"`
}

type DataProcessingAgreement

type DataProcessingAgreement struct {
	CreatedAt        time.Time `json:"createdAt"`
	ExpiryDate       Time      `json:"expiryDate"`
	OrganizationId   string    `json:"organizationId"`
	SignedByTitle    string    `json:"signedByTitle"`
	Version          string    `json:"version"`
	IpAddress        string    `json:"ipAddress"`
	Metadata         JSONBMap  `json:"metadata"`
	SignedByName     string    `json:"signedByName"`
	Content          string    `json:"content"`
	DigitalSignature string    `json:"digitalSignature"`
	EffectiveDate    time.Time `json:"effectiveDate"`
	AgreementType    string    `json:"agreementType"`
	Id               xid.ID    `json:"id"`
	SignedBy         string    `json:"signedBy"`
	SignedByEmail    string    `json:"signedByEmail"`
	Status           string    `json:"status"`
	UpdatedAt        time.Time `json:"updatedAt"`
}

type DeclareABTestWinnerRequest

type DeclareABTestWinnerRequest struct {
}

type DeclareABTestWinner_req

type DeclareABTestWinner_req struct {
	AbTestGroup string `json:"abTestGroup"`
	WinnerId    string `json:"winnerId"`
}

type DeclineInvitationRequest

type DeclineInvitationRequest struct {
	Token string `json:"token"`
}

type DefaultProviderRegistry

type DefaultProviderRegistry struct {
}

type DeleteAPIKeyRequest

type DeleteAPIKeyRequest struct {
}

type DeleteAppRequest

type DeleteAppRequest struct {
}

type DeleteContentTypeRequest

type DeleteContentTypeRequest struct {
}

type DeleteEntryRequest

type DeleteEntryRequest struct {
}

type DeleteEvidenceResponse

type DeleteEvidenceResponse struct {
	Status string `json:"status"`
}

type DeleteFactorRequest

type DeleteFactorRequest struct {
}

type DeleteFieldRequest

type DeleteFieldRequest struct {
}

type DeleteOrganizationRequest

type DeleteOrganizationRequest struct {
}

type DeletePasskeyRequest

type DeletePasskeyRequest struct {
}

type DeletePolicyResponse

type DeletePolicyResponse struct {
	Status string `json:"status"`
}

type DeleteProfileResponse

type DeleteProfileResponse struct {
	Status string `json:"status"`
}

type DeleteProviderRequest

type DeleteProviderRequest struct {
}

type DeleteRequest

type DeleteRequest struct {
}

type DeleteResponse

type DeleteResponse struct {
	Data    interface{} `json:"data"`
	Message string      `json:"message"`
	Success bool        `json:"success"`
}

type DeleteSecretRequest

type DeleteSecretRequest struct {
}

type DeleteTeamRequest

type DeleteTeamRequest struct {
}

type DeleteTemplateRequest

type DeleteTemplateRequest struct {
}

type DeleteTemplateResponse

type DeleteTemplateResponse struct {
	Status string `json:"status"`
}

type DeleteUserRequestDTO

type DeleteUserRequestDTO struct {
}

type Device

type Device struct {
	LastUsedAt string  `json:"lastUsedAt"`
	IpAddress  *string `json:"ipAddress,omitempty"`
	UserAgent  *string `json:"userAgent,omitempty"`
	Id         string  `json:"id"`
	UserId     string  `json:"userId"`
	Name       *string `json:"name,omitempty"`
	Type       *string `json:"type,omitempty"`
}

Device represents User device

type DeviceInfo

type DeviceInfo struct {
	DeviceId string      `json:"deviceId"`
	Metadata interface{} `json:"metadata"`
	Name     string      `json:"name"`
}

type DevicesResponse

type DevicesResponse struct {
	Devices interface{} `json:"devices"`
	Count   int         `json:"count"`
}

type DisableRequest

type DisableRequest struct {
	User_id string `json:"user_id"`
}

type DiscoverProviderRequest

type DiscoverProviderRequest struct {
	Email string `json:"email"`
}

type DiscoveryResponse

type DiscoveryResponse struct {
	Revocation_endpoint_auth_methods_supported    []string `json:"revocation_endpoint_auth_methods_supported"`
	Subject_types_supported                       []string `json:"subject_types_supported"`
	Token_endpoint                                string   `json:"token_endpoint"`
	Claims_parameter_supported                    bool     `json:"claims_parameter_supported"`
	Grant_types_supported                         []string `json:"grant_types_supported"`
	Issuer                                        string   `json:"issuer"`
	Request_uri_parameter_supported               bool     `json:"request_uri_parameter_supported"`
	Require_request_uri_registration              bool     `json:"require_request_uri_registration"`
	Response_modes_supported                      []string `json:"response_modes_supported"`
	Response_types_supported                      []string `json:"response_types_supported"`
	Userinfo_endpoint                             string   `json:"userinfo_endpoint"`
	Authorization_endpoint                        string   `json:"authorization_endpoint"`
	Introspection_endpoint                        string   `json:"introspection_endpoint"`
	Introspection_endpoint_auth_methods_supported []string `json:"introspection_endpoint_auth_methods_supported"`
	Request_parameter_supported                   bool     `json:"request_parameter_supported"`
	Scopes_supported                              []string `json:"scopes_supported"`
	Code_challenge_methods_supported              []string `json:"code_challenge_methods_supported"`
	Id_token_signing_alg_values_supported         []string `json:"id_token_signing_alg_values_supported"`
	Registration_endpoint                         string   `json:"registration_endpoint"`
	Revocation_endpoint                           string   `json:"revocation_endpoint"`
	Token_endpoint_auth_methods_supported         []string `json:"token_endpoint_auth_methods_supported"`
	Claims_supported                              []string `json:"claims_supported"`
	Jwks_uri                                      string   `json:"jwks_uri"`
}

type DiscoveryService

type DiscoveryService struct {
}

type DocumentCheckConfig

type DocumentCheckConfig struct {
	ValidateExpiry          bool `json:"validateExpiry"`
	Enabled                 bool `json:"enabled"`
	ExtractData             bool `json:"extractData"`
	ValidateDataConsistency bool `json:"validateDataConsistency"`
}

type DocumentVerification

type DocumentVerification struct {
}

type DocumentVerificationConfig

type DocumentVerificationConfig struct {
	RequireSelfie       bool          `json:"requireSelfie"`
	RetentionPeriod     time.Duration `json:"retentionPeriod"`
	StorageProvider     string        `json:"storageProvider"`
	MinConfidenceScore  float64       `json:"minConfidenceScore"`
	RequireBothSides    bool          `json:"requireBothSides"`
	RequireManualReview bool          `json:"requireManualReview"`
	StoragePath         string        `json:"storagePath"`
	AcceptedDocuments   []string      `json:"acceptedDocuments"`
	Enabled             bool          `json:"enabled"`
	EncryptAtRest       bool          `json:"encryptAtRest"`
	EncryptionKey       string        `json:"encryptionKey"`
	Provider            string        `json:"provider"`
}

type DocumentVerificationRequest

type DocumentVerificationRequest struct {
}

type DocumentVerificationResult

type DocumentVerificationResult struct {
}

type DownloadDataExportResponse

type DownloadDataExportResponse struct {
	Content_type string `json:"content_type"`
	Data         []byte `json:"data"`
}

type DownloadReportResponse

type DownloadReportResponse struct {
	Content_type string `json:"content_type"`
	Data         []byte `json:"data"`
}

type Email

type Email struct {
}

type EmailConfig

type EmailConfig struct {
	Rate_limit          *RateLimitConfig `json:"rate_limit"`
	Template_id         string           `json:"template_id"`
	Code_expiry_minutes int              `json:"code_expiry_minutes"`
	Code_length         int              `json:"code_length"`
	Enabled             bool             `json:"enabled"`
	Provider            string           `json:"provider"`
}

type EmailFactorAdapter

type EmailFactorAdapter struct {
}

type EmailProviderConfig

type EmailProviderConfig struct {
	From_name string      `json:"from_name"`
	Provider  string      `json:"provider"`
	Reply_to  string      `json:"reply_to"`
	Config    interface{} `json:"config"`
	From      string      `json:"from"`
}

type EmailServiceAdapter

type EmailServiceAdapter struct {
}

type EmailVerificationConfig

type EmailVerificationConfig struct {
	CodeExpiry        time.Duration `json:"codeExpiry"`
	CodeLength        int           `json:"codeLength"`
	EmailTemplate     string        `json:"emailTemplate"`
	Enabled           bool          `json:"enabled"`
	FromAddress       string        `json:"fromAddress"`
	FromName          string        `json:"fromName"`
	MaxAttempts       int           `json:"maxAttempts"`
	RequireEmailProof bool          `json:"requireEmailProof"`
}

type EnableRequest

type EnableRequest struct {
}

type EnableRequest2FA

type EnableRequest2FA struct {
	Method  string `json:"method"`
	User_id string `json:"user_id"`
}

type EnableResponse

type EnableResponse struct {
	Status   string `json:"status"`
	Totp_uri string `json:"totp_uri"`
}

type EncryptionConfig

type EncryptionConfig struct {
	RotateKeyAfter time.Duration `json:"rotateKeyAfter"`
	TestOnStartup  bool          `json:"testOnStartup"`
	MasterKey      string        `json:"masterKey"`
}

type EncryptionService

type EncryptionService struct {
}

type EndImpersonationRequest

type EndImpersonationRequest struct {
	Impersonation_id string `json:"impersonation_id"`
	Reason           string `json:"reason"`
}

type EndImpersonationResponse

type EndImpersonationResponse struct {
	Ended_at string `json:"ended_at"`
	Status   string `json:"status"`
}

type EnrollFactorRequest

type EnrollFactorRequest struct {
	Metadata interface{}    `json:"metadata"`
	Name     string         `json:"name"`
	Priority FactorPriority `json:"priority"`
	Type     FactorType     `json:"type"`
}

type EnrollFactorResponse

type EnrollFactorResponse struct {
	ProvisioningData interface{}  `json:"provisioningData"`
	Status           FactorStatus `json:"status"`
	Type             FactorType   `json:"type"`
	FactorId         xid.ID       `json:"factorId"`
}

type Error

type Error struct {
	Message    string
	StatusCode int
	Code       string
}

Error represents an API error

func NewError

func NewError(statusCode int, message string) *Error

NewError creates an error from a status code and message

func (*Error) Error

func (e *Error) Error() string

type ErrorResponse

type ErrorResponse struct {
	Error   string `json:"error"`
	Message string `json:"message"`
}

type EvaluateRequest

type EvaluateRequest struct {
	Action       string      `json:"action"`
	Context      interface{} `json:"context"`
	Principal    interface{} `json:"principal"`
	Request      interface{} `json:"request"`
	Resource     interface{} `json:"resource"`
	ResourceId   string      `json:"resourceId"`
	ResourceType string      `json:"resourceType"`
}

type EvaluateResponse

type EvaluateResponse struct {
	Allowed           bool     `json:"allowed"`
	CacheHit          bool     `json:"cacheHit"`
	Error             string   `json:"error"`
	EvaluatedPolicies int      `json:"evaluatedPolicies"`
	EvaluationTimeMs  float64  `json:"evaluationTimeMs"`
	MatchedPolicies   []string `json:"matchedPolicies"`
	Reason            string   `json:"reason"`
}

type EvaluationContext

type EvaluationContext struct {
}

type EvaluationResult

type EvaluationResult struct {
	Can_remember         bool                 `json:"can_remember"`
	Grace_period_ends_at time.Time            `json:"grace_period_ends_at"`
	Matched_rules        []string             `json:"matched_rules"`
	Requirement_id       string               `json:"requirement_id"`
	Security_level       SecurityLevel        `json:"security_level"`
	Allowed_methods      []VerificationMethod `json:"allowed_methods"`
	Challenge_token      string               `json:"challenge_token"`
	Current_level        SecurityLevel        `json:"current_level"`
	Expires_at           time.Time            `json:"expires_at"`
	Metadata             interface{}          `json:"metadata"`
	Reason               string               `json:"reason"`
	Required             bool                 `json:"required"`
}

type FacialCheckConfig

type FacialCheckConfig struct {
	Enabled       bool   `json:"enabled"`
	MotionCapture bool   `json:"motionCapture"`
	Variant       string `json:"variant"`
}

type Factor

type Factor struct {
	Id         xid.ID         `json:"id"`
	LastUsedAt Time           `json:"lastUsedAt"`
	Name       string         `json:"name"`
	Priority   FactorPriority `json:"priority"`
	VerifiedAt Time           `json:"verifiedAt"`
	Metadata   interface{}    `json:"metadata"`
	Status     FactorStatus   `json:"status"`
	Type       FactorType     `json:"type"`
	UpdatedAt  time.Time      `json:"updatedAt"`
	UserId     xid.ID         `json:"userId"`
	CreatedAt  time.Time      `json:"createdAt"`
	ExpiresAt  Time           `json:"expiresAt"`
}

type FactorAdapterRegistry

type FactorAdapterRegistry struct {
}

type FactorEnrollmentRequest

type FactorEnrollmentRequest struct {
	Type     FactorType     `json:"type"`
	Metadata interface{}    `json:"metadata"`
	Name     string         `json:"name"`
	Priority FactorPriority `json:"priority"`
}

type FactorEnrollmentResponse

type FactorEnrollmentResponse struct {
	Status           FactorStatus `json:"status"`
	Type             FactorType   `json:"type"`
	FactorId         xid.ID       `json:"factorId"`
	ProvisioningData interface{}  `json:"provisioningData"`
}

type FactorInfo

type FactorInfo struct {
	FactorId xid.ID      `json:"factorId"`
	Metadata interface{} `json:"metadata"`
	Name     string      `json:"name"`
	Type     FactorType  `json:"type"`
}

type FactorPriority

type FactorPriority = string

Placeholder type aliases for undefined enum/custom types

type FactorStatus

type FactorStatus = string

Placeholder type aliases for undefined enum/custom types

type FactorType

type FactorType = string

Placeholder type aliases for undefined enum/custom types

type FactorVerificationRequest

type FactorVerificationRequest struct {
	Data     interface{} `json:"data"`
	FactorId xid.ID      `json:"factorId"`
	Code     string      `json:"code"`
}

type FactorsResponse

type FactorsResponse struct {
	Count   int         `json:"count"`
	Factors interface{} `json:"factors"`
}

type FinishLoginRequest

type FinishLoginRequest struct {
	Remember bool        `json:"remember"`
	Response interface{} `json:"response"`
}

type FinishRegisterRequest

type FinishRegisterRequest struct {
	Name     string      `json:"name"`
	Response interface{} `json:"response"`
	UserId   string      `json:"userId"`
}

type FinishRegisterResponse

type FinishRegisterResponse struct {
	CreatedAt    time.Time `json:"createdAt"`
	CredentialId string    `json:"credentialId"`
	Name         string    `json:"name"`
	PasskeyId    string    `json:"passkeyId"`
	Status       string    `json:"status"`
}

type ForgetDeviceResponse

type ForgetDeviceResponse struct {
	Message string `json:"message"`
	Success bool   `json:"success"`
}

type GenerateBackupCodesResponse

type GenerateBackupCodesResponse struct {
	Codes []string `json:"codes"`
}

type GenerateConsentReportResponse

type GenerateConsentReportResponse struct {
	Id string `json:"id"`
}

type GenerateRecoveryCodesRequest

type GenerateRecoveryCodesRequest struct {
	Count  int    `json:"count"`
	Format string `json:"format"`
}

type GenerateRecoveryCodesResponse

type GenerateRecoveryCodesResponse struct {
	Codes       []string  `json:"codes"`
	Count       int       `json:"count"`
	GeneratedAt time.Time `json:"generatedAt"`
	Warning     string    `json:"warning"`
}

type GenerateReportRequest

type GenerateReportRequest struct {
	Format     string             `json:"format"`
	Period     string             `json:"period"`
	ReportType string             `json:"reportType"`
	Standard   ComplianceStandard `json:"standard"`
}

type GenerateReportResponse

type GenerateReportResponse struct {
	Id string `json:"id"`
}

type GenerateReport_req

type GenerateReport_req struct {
	Standard   ComplianceStandard `json:"standard"`
	Format     string             `json:"format"`
	Period     string             `json:"period"`
	ReportType string             `json:"reportType"`
}

type GenerateTokenRequest

type GenerateTokenRequest struct {
	Audience    []string      `json:"audience"`
	ExpiresIn   time.Duration `json:"expiresIn"`
	Metadata    interface{}   `json:"metadata"`
	Permissions []string      `json:"permissions"`
	Scopes      []string      `json:"scopes"`
	SessionId   string        `json:"sessionId"`
	TokenType   string        `json:"tokenType"`
	UserId      string        `json:"userId"`
}

type GetABTestResultsRequest

type GetABTestResultsRequest struct {
}

type GetAPIKeyRequest

type GetAPIKeyRequest struct {
}

type GetAppProfileResponse

type GetAppProfileResponse struct {
	Id string `json:"id"`
}

type GetAppRequest

type GetAppRequest struct {
}

type GetAuditLogsRequestDTO

type GetAuditLogsRequestDTO struct {
}

type GetAuditLogsResponse

type GetAuditLogsResponse struct {
	Audit_logs []*interface{} `json:"audit_logs"`
}

type GetByIDResponse

type GetByIDResponse struct {
	Session Session `json:"session"`
	Token   string  `json:"token"`
}

type GetByPathRequest

type GetByPathRequest struct {
}

type GetByPathResponse

type GetByPathResponse struct {
	Code    string `json:"code"`
	Error   string `json:"error"`
	Message string `json:"message"`
}

type GetChallengeStatusRequest

type GetChallengeStatusRequest struct {
}

type GetChallengeStatusResponse

type GetChallengeStatusResponse struct {
	Attempts         int             `json:"attempts"`
	AvailableFactors []FactorInfo    `json:"availableFactors"`
	ChallengeId      xid.ID          `json:"challengeId"`
	FactorsRequired  int             `json:"factorsRequired"`
	FactorsVerified  int             `json:"factorsVerified"`
	MaxAttempts      int             `json:"maxAttempts"`
	Status           ChallengeStatus `json:"status"`
}

type GetCheckResponse

type GetCheckResponse struct {
	Id string `json:"id"`
}

type GetClientResponse

type GetClientResponse struct {
	ClientID                string   `json:"clientID"`
	Name                    string   `json:"name"`
	OrganizationID          string   `json:"organizationID"`
	PostLogoutRedirectURIs  []string `json:"postLogoutRedirectURIs"`
	RequirePKCE             bool     `json:"requirePKCE"`
	Contacts                []string `json:"contacts"`
	IsOrgLevel              bool     `json:"isOrgLevel"`
	TokenEndpointAuthMethod string   `json:"tokenEndpointAuthMethod"`
	TrustedClient           bool     `json:"trustedClient"`
	RequireConsent          bool     `json:"requireConsent"`
	CreatedAt               string   `json:"createdAt"`
	GrantTypes              []string `json:"grantTypes"`
	PolicyURI               string   `json:"policyURI"`
	RedirectURIs            []string `json:"redirectURIs"`
	UpdatedAt               string   `json:"updatedAt"`
	AllowedScopes           []string `json:"allowedScopes"`
	ApplicationType         string   `json:"applicationType"`
	LogoURI                 string   `json:"logoURI"`
	ResponseTypes           []string `json:"responseTypes"`
	TosURI                  string   `json:"tosURI"`
}

type GetComplianceStatusResponse

type GetComplianceStatusResponse struct {
	Status string `json:"status"`
}

type GetConsentAuditLogsResponse

type GetConsentAuditLogsResponse struct {
	Audit_logs []*interface{} `json:"audit_logs"`
}

type GetConsentPolicyResponse

type GetConsentPolicyResponse struct {
	Id string `json:"id"`
}

type GetConsentResponse

type GetConsentResponse struct {
	Id string `json:"id"`
}

type GetContentTypeRequest

type GetContentTypeRequest struct {
}

type GetCookieConsentResponse

type GetCookieConsentResponse struct {
	Preferences interface{} `json:"preferences"`
}

type GetCurrentResponse

type GetCurrentResponse struct {
	Session Session `json:"session"`
	Token   string  `json:"token"`
}

type GetDashboardResponse

type GetDashboardResponse struct {
	Metrics interface{} `json:"metrics"`
}

type GetDataDeletionResponse

type GetDataDeletionResponse struct {
	Id     string `json:"id"`
	Status string `json:"status"`
}

type GetDataExportResponse

type GetDataExportResponse struct {
	Id     string `json:"id"`
	Status string `json:"status"`
}

type GetDocumentVerificationRequest

type GetDocumentVerificationRequest struct {
	DocumentId xid.ID `json:"documentId"`
}

type GetDocumentVerificationResponse

type GetDocumentVerificationResponse struct {
	ConfidenceScore float64 `json:"confidenceScore"`
	DocumentId      xid.ID  `json:"documentId"`
	Message         string  `json:"message"`
	RejectionReason string  `json:"rejectionReason"`
	Status          string  `json:"status"`
	VerifiedAt      Time    `json:"verifiedAt"`
}

type GetEffectivePermissionsRequest

type GetEffectivePermissionsRequest struct {
}

type GetEntryRequest

type GetEntryRequest struct {
}

type GetEntryStatsRequest

type GetEntryStatsRequest struct {
}

type GetEvidenceResponse

type GetEvidenceResponse struct {
	Id string `json:"id"`
}

type GetFactorRequest

type GetFactorRequest struct {
}

type GetFactorResponse

type GetFactorResponse struct {
	VerifiedAt Time           `json:"verifiedAt"`
	CreatedAt  time.Time      `json:"createdAt"`
	Id         xid.ID         `json:"id"`
	LastUsedAt Time           `json:"lastUsedAt"`
	Metadata   interface{}    `json:"metadata"`
	Priority   FactorPriority `json:"priority"`
	UpdatedAt  time.Time      `json:"updatedAt"`
	UserId     xid.ID         `json:"userId"`
	ExpiresAt  Time           `json:"expiresAt"`
	Name       string         `json:"name"`
	Status     FactorStatus   `json:"status"`
	Type       FactorType     `json:"type"`
}

type GetImpersonationRequest

type GetImpersonationRequest struct {
}

type GetInvitationRequest

type GetInvitationRequest struct {
}

type GetMigrationStatusRequest

type GetMigrationStatusRequest struct {
}

type GetMigrationStatusResponse

type GetMigrationStatusResponse struct {
	HasMigratedPolicies bool   `json:"hasMigratedPolicies"`
	LastMigrationAt     string `json:"lastMigrationAt"`
	MigratedCount       int    `json:"migratedCount"`
	PendingRbacPolicies int    `json:"pendingRbacPolicies"`
}

type GetNotificationRequest

type GetNotificationRequest struct {
}

type GetNotificationResponse

type GetNotificationResponse struct {
	Notification interface{} `json:"notification"`
}

type GetOrganizationBySlugRequest

type GetOrganizationBySlugRequest struct {
}

type GetOrganizationRequest

type GetOrganizationRequest struct {
}

type GetPasskeyRequest

type GetPasskeyRequest struct {
}

type GetPolicyResponse

type GetPolicyResponse struct {
	Id string `json:"id"`
}

type GetPrivacySettingsResponse

type GetPrivacySettingsResponse struct {
	Settings interface{} `json:"settings"`
}

type GetProfileResponse

type GetProfileResponse struct {
	Id string `json:"id"`
}

type GetProviderRequest

type GetProviderRequest struct {
}

type GetRecoveryConfigResponse

type GetRecoveryConfigResponse struct {
	MinimumStepsRequired int              `json:"minimumStepsRequired"`
	RequireAdminReview   bool             `json:"requireAdminReview"`
	RequireMultipleSteps bool             `json:"requireMultipleSteps"`
	RiskScoreThreshold   float64          `json:"riskScoreThreshold"`
	EnabledMethods       []RecoveryMethod `json:"enabledMethods"`
}

type GetRecoveryStatsRequest

type GetRecoveryStatsRequest struct {
	EndDate        time.Time `json:"endDate"`
	OrganizationId string    `json:"organizationId"`
	StartDate      time.Time `json:"startDate"`
}

type GetRecoveryStatsResponse

type GetRecoveryStatsResponse struct {
	PendingRecoveries    int         `json:"pendingRecoveries"`
	TotalAttempts        int         `json:"totalAttempts"`
	AdminReviewsRequired int         `json:"adminReviewsRequired"`
	FailedRecoveries     int         `json:"failedRecoveries"`
	HighRiskAttempts     int         `json:"highRiskAttempts"`
	SuccessRate          float64     `json:"successRate"`
	SuccessfulRecoveries int         `json:"successfulRecoveries"`
	AverageRiskScore     float64     `json:"averageRiskScore"`
	MethodStats          interface{} `json:"methodStats"`
}

type GetReportResponse

type GetReportResponse struct {
	Id string `json:"id"`
}

type GetRequest

type GetRequest struct {
}

type GetRequirementResponse

type GetRequirementResponse struct {
	Id string `json:"id"`
}

type GetRevisionRequest

type GetRevisionRequest struct {
}

type GetRolesRequest

type GetRolesRequest struct {
}

type GetSecretRequest

type GetSecretRequest struct {
}

type GetSecurityQuestionsRequest

type GetSecurityQuestionsRequest struct {
	SessionId xid.ID `json:"sessionId"`
}

type GetSecurityQuestionsResponse

type GetSecurityQuestionsResponse struct {
	Questions []SecurityQuestionInfo `json:"questions"`
}

type GetSessionResponse

type GetSessionResponse struct {
	User    User    `json:"user"`
	Session Session `json:"session"`
}

type GetStatsRequestDTO

type GetStatsRequestDTO struct {
}

type GetStatsResponse

type GetStatsResponse struct {
	LocationCount  int     `json:"locationCount"`
	NewestSession  *string `json:"newestSession"`
	OldestSession  *string `json:"oldestSession"`
	TotalSessions  int     `json:"totalSessions"`
	ActiveSessions int     `json:"activeSessions"`
	DeviceCount    int     `json:"deviceCount"`
}

type GetStatusRequest

type GetStatusRequest struct {
	Device_id string `json:"device_id"`
	User_id   string `json:"user_id"`
}

type GetStatusResponse

type GetStatusResponse struct {
	Enabled         bool         `json:"enabled"`
	EnrolledFactors []FactorInfo `json:"enrolledFactors"`
	GracePeriod     Time         `json:"gracePeriod"`
	PolicyActive    bool         `json:"policyActive"`
	RequiredCount   int          `json:"requiredCount"`
	TrustedDevice   bool         `json:"trustedDevice"`
}

type GetTeamRequest

type GetTeamRequest struct {
}

type GetTemplateAnalyticsRequest

type GetTemplateAnalyticsRequest struct {
}

type GetTemplateDefaultsResponse

type GetTemplateDefaultsResponse struct {
	Templates []*interface{} `json:"templates"`
	Total     int            `json:"total"`
}

type GetTemplateRequest

type GetTemplateRequest struct {
}

type GetTemplateResponse

type GetTemplateResponse struct {
	Template interface{} `json:"template"`
}

type GetTemplateVersionRequest

type GetTemplateVersionRequest struct {
}

type GetTreeRequest

type GetTreeRequest struct {
}

type GetUserTrainingResponse

type GetUserTrainingResponse struct {
	User_id string `json:"user_id"`
}

type GetUserVerificationStatusResponse

type GetUserVerificationStatusResponse struct {
	Status interface{} `json:"status"`
}

type GetUserVerificationsResponse

type GetUserVerificationsResponse struct {
	Verifications []*interface{} `json:"verifications"`
}

type GetValueRequest

type GetValueRequest struct {
}

type GetVerificationResponse

type GetVerificationResponse struct {
	Verification interface{} `json:"verification"`
}

type GetVerificationSessionResponse

type GetVerificationSessionResponse struct {
	Session interface{} `json:"session"`
}

type GetVersionsRequest

type GetVersionsRequest struct {
}

type GetViolationResponse

type GetViolationResponse struct {
	Id string `json:"id"`
}

type HandleConsentRequest

type HandleConsentRequest struct {
	Code_challenge        string `json:"code_challenge"`
	Code_challenge_method string `json:"code_challenge_method"`
	Redirect_uri          string `json:"redirect_uri"`
	Response_type         string `json:"response_type"`
	Scope                 string `json:"scope"`
	State                 string `json:"state"`
	Action                string `json:"action"`
	Client_id             string `json:"client_id"`
}

type HandleUpdateSettings_updates

type HandleUpdateSettings_updates struct {
}

type HandleWebhookResponse

type HandleWebhookResponse struct {
	Status string `json:"status"`
}

type Handler

type Handler struct {
}

type HealthCheckResponse

type HealthCheckResponse struct {
	Version         string           `json:"version"`
	EnabledMethods  []RecoveryMethod `json:"enabledMethods"`
	Healthy         bool             `json:"healthy"`
	Message         string           `json:"message"`
	ProvidersStatus interface{}      `json:"providersStatus"`
}

type ID

type ID = xid.ID

Placeholder types for undefined/missing types

type IDTokenClaims

type IDTokenClaims struct {
	Email_verified     bool   `json:"email_verified"`
	Family_name        string `json:"family_name"`
	Name               string `json:"name"`
	Nonce              string `json:"nonce"`
	Auth_time          int64  `json:"auth_time"`
	Email              string `json:"email"`
	Given_name         string `json:"given_name"`
	Preferred_username string `json:"preferred_username"`
	Session_state      string `json:"session_state"`
}

type IDVerificationErrorResponse

type IDVerificationErrorResponse struct {
	Error string `json:"error"`
}

type IDVerificationListResponse

type IDVerificationListResponse struct {
	Verifications []*interface{} `json:"verifications"`
}

type IDVerificationResponse

type IDVerificationResponse struct {
	Verification interface{} `json:"verification"`
}

type IDVerificationSessionResponse

type IDVerificationSessionResponse struct {
	Session interface{} `json:"session"`
}

type IDVerificationStatusResponse

type IDVerificationStatusResponse struct {
	Status interface{} `json:"status"`
}

type IDVerificationWebhookResponse

type IDVerificationWebhookResponse struct {
	Status string `json:"status"`
}

type IPWhitelistConfig

type IPWhitelistConfig struct {
	Enabled     bool `json:"enabled"`
	Strict_mode bool `json:"strict_mode"`
}

type IdentityVerification

type IdentityVerification struct{}

Placeholder types for undefined/missing types

type IdentityVerificationSession

type IdentityVerificationSession struct{}

Placeholder types for undefined/missing types

type ImpersonateUserRequest

type ImpersonateUserRequest struct {
	Duration             time.Duration `json:"duration"`
	User_id              xid.ID        `json:"user_id"`
	User_organization_id ID            `json:"user_organization_id"`
	App_id               xid.ID        `json:"app_id"`
}

type ImpersonateUserRequestDTO

type ImpersonateUserRequestDTO struct {
	Duration time.Duration `json:"duration"`
}

type ImpersonationContext

type ImpersonationContext struct {
	Indicator_message string `json:"indicator_message"`
	Is_impersonating  bool   `json:"is_impersonating"`
	Target_user_id    ID     `json:"target_user_id"`
	Impersonation_id  ID     `json:"impersonation_id"`
	Impersonator_id   ID     `json:"impersonator_id"`
}

type ImpersonationEndResponse

type ImpersonationEndResponse struct {
	Ended_at string `json:"ended_at"`
	Status   string `json:"status"`
}

type ImpersonationErrorResponse

type ImpersonationErrorResponse struct {
	Error string `json:"error"`
}

type ImpersonationMiddleware

type ImpersonationMiddleware struct {
}

type ImpersonationSession

type ImpersonationSession struct {
}

type ImpersonationStartResponse

type ImpersonationStartResponse struct {
	Started_at      string `json:"started_at"`
	Target_user_id  string `json:"target_user_id"`
	Impersonator_id string `json:"impersonator_id"`
	Session_id      string `json:"session_id"`
}

type ImpersonationVerifyResponse

type ImpersonationVerifyResponse struct {
	Target_user_id   string `json:"target_user_id"`
	Impersonator_id  string `json:"impersonator_id"`
	Is_impersonating bool   `json:"is_impersonating"`
}

type InitiateChallengeRequest

type InitiateChallengeRequest struct {
	Context     string       `json:"context"`
	FactorTypes []FactorType `json:"factorTypes"`
	Metadata    interface{}  `json:"metadata"`
}

type InitiateChallengeResponse

type InitiateChallengeResponse struct {
	AvailableFactors []FactorInfo `json:"availableFactors"`
	ChallengeId      xid.ID       `json:"challengeId"`
	ExpiresAt        time.Time    `json:"expiresAt"`
	FactorsRequired  int          `json:"factorsRequired"`
	SessionId        xid.ID       `json:"sessionId"`
}

type InstantiateTemplateRequest

type InstantiateTemplateRequest struct {
	Description  string      `json:"description"`
	Enabled      bool        `json:"enabled"`
	Name         string      `json:"name"`
	NamespaceId  string      `json:"namespaceId"`
	Parameters   interface{} `json:"parameters"`
	Priority     int         `json:"priority"`
	ResourceType string      `json:"resourceType"`
	Actions      []string    `json:"actions"`
}

type IntrospectTokenRequest

type IntrospectTokenRequest struct {
	Client_id       string `json:"client_id"`
	Client_secret   string `json:"client_secret"`
	Token           string `json:"token"`
	Token_type_hint string `json:"token_type_hint"`
}

type IntrospectTokenResponse

type IntrospectTokenResponse struct {
	Active     bool     `json:"active"`
	Client_id  string   `json:"client_id"`
	Scope      string   `json:"scope"`
	Sub        string   `json:"sub"`
	Username   string   `json:"username"`
	Aud        []string `json:"aud"`
	Exp        int64    `json:"exp"`
	Iat        int64    `json:"iat"`
	Iss        string   `json:"iss"`
	Jti        string   `json:"jti"`
	Nbf        int64    `json:"nbf"`
	Token_type string   `json:"token_type"`
}

type IntrospectionService

type IntrospectionService struct {
}

type Invitation

type Invitation struct{}

Placeholder types for undefined/missing types

type InvitationResponse

type InvitationResponse struct {
	Invitation Invitation `json:"invitation"`
	Message    string     `json:"message"`
}

type InviteMemberHandlerRequest

type InviteMemberHandlerRequest struct {
}

type InviteMemberRequest

type InviteMemberRequest struct {
	Email string `json:"email"`
	Role  string `json:"role"`
}

type JSONBMap

type JSONBMap = map[string]interface{}

Placeholder type aliases for undefined enum/custom types

type JWK

type JWK struct {
	Alg string `json:"alg"`
	E   string `json:"e"`
	Kid string `json:"kid"`
	Kty string `json:"kty"`
	N   string `json:"n"`
	Use string `json:"use"`
}

type JWKS

type JWKS struct {
	Keys []JWK `json:"keys"`
}

type JWKSResponse

type JWKSResponse struct {
	Keys []JWK `json:"keys"`
}

type JWKSService

type JWKSService struct {
}

type JWTService

type JWTService struct {
}

type JumioConfig

type JumioConfig struct {
	EnableLiveness       bool     `json:"enableLiveness"`
	EnabledCountries     []string `json:"enabledCountries"`
	PresetId             string   `json:"presetId"`
	VerificationType     string   `json:"verificationType"`
	ApiToken             string   `json:"apiToken"`
	EnableAMLScreening   bool     `json:"enableAMLScreening"`
	Enabled              bool     `json:"enabled"`
	EnabledDocumentTypes []string `json:"enabledDocumentTypes"`
	ApiSecret            string   `json:"apiSecret"`
	CallbackUrl          string   `json:"callbackUrl"`
	DataCenter           string   `json:"dataCenter"`
	EnableExtraction     bool     `json:"enableExtraction"`
}

type JumioProvider

type JumioProvider struct {
}

type KeyPair

type KeyPair struct {
}

type KeyStats

type KeyStats struct {
}

type KeyStore

type KeyStore struct {
}

type LimitResult

type LimitResult struct {
}

type LinkAccountRequest

type LinkAccountRequest struct {
	Provider string   `json:"provider"`
	Scopes   []string `json:"scopes"`
}

type LinkAccountResponse

type LinkAccountResponse struct {
	Url string `json:"url"`
}

type LinkRequest

type LinkRequest struct {
	Email    string `json:"email"`
	Name     string `json:"name"`
	Password string `json:"password"`
}

type LinkResponse

type LinkResponse struct {
	Message string      `json:"message"`
	User    interface{} `json:"user"`
}

type ListAPIKeysRequest

type ListAPIKeysRequest struct {
}

type ListAppsRequest

type ListAppsRequest struct {
}

type ListAuditEventsRequest

type ListAuditEventsRequest struct {
}

type ListChecksFilter

type ListChecksFilter struct {
	AppId       *string `json:"appId"`
	CheckType   *string `json:"checkType"`
	ProfileId   *string `json:"profileId"`
	SinceBefore Time    `json:"sinceBefore"`
	Status      *string `json:"status"`
}

type ListChecksResponse

type ListChecksResponse struct {
	Checks []*interface{} `json:"checks"`
}

type ListClientsResponse

type ListClientsResponse struct {
	Clients    []ClientSummary `json:"clients"`
	Page       int             `json:"page"`
	PageSize   int             `json:"pageSize"`
	Total      int             `json:"total"`
	TotalPages int             `json:"totalPages"`
}

type ListContentTypesRequest

type ListContentTypesRequest struct {
}

type ListDevicesResponse

type ListDevicesResponse struct {
	Devices []*Device `json:"devices"`
}

type ListEntriesRequest

type ListEntriesRequest struct {
}

type ListEvidenceFilter

type ListEvidenceFilter struct {
	AppId        *string             `json:"appId"`
	ControlId    *string             `json:"controlId"`
	EvidenceType *string             `json:"evidenceType"`
	ProfileId    *string             `json:"profileId"`
	Standard     *ComplianceStandard `json:"standard"`
}

type ListEvidenceResponse

type ListEvidenceResponse struct {
	Evidence []*interface{} `json:"evidence"`
}

type ListFactorsRequest

type ListFactorsRequest struct {
}

type ListFactorsResponse

type ListFactorsResponse struct {
	Count   int      `json:"count"`
	Factors []Factor `json:"factors"`
}

type ListImpersonationsRequest

type ListImpersonationsRequest struct {
}

type ListJWTKeysRequest

type ListJWTKeysRequest struct {
}

type ListMembersRequest

type ListMembersRequest struct {
}

type ListNotificationsResponse

type ListNotificationsResponse struct {
	Notifications []*interface{} `json:"notifications"`
	Total         int            `json:"total"`
}

type ListOrganizationsRequest

type ListOrganizationsRequest struct {
}

type ListPasskeysRequest

type ListPasskeysRequest struct {
}

type ListPasskeysResponse

type ListPasskeysResponse struct {
	Count    int           `json:"count"`
	Passkeys []PasskeyInfo `json:"passkeys"`
}

type ListPendingRequirementsResponse

type ListPendingRequirementsResponse struct {
	Requirements []*interface{} `json:"requirements"`
}

type ListPoliciesFilter

type ListPoliciesFilter struct {
	PolicyType *string             `json:"policyType"`
	ProfileId  *string             `json:"profileId"`
	Standard   *ComplianceStandard `json:"standard"`
	Status     *string             `json:"status"`
	AppId      *string             `json:"appId"`
}

type ListPoliciesResponse

type ListPoliciesResponse struct {
	Policies []*interface{} `json:"policies"`
}

type ListProfilesFilter

type ListProfilesFilter struct {
	AppId    *string             `json:"appId"`
	Standard *ComplianceStandard `json:"standard"`
	Status   *string             `json:"status"`
}

type ListProvidersResponse

type ListProvidersResponse struct {
	Providers []string `json:"providers"`
}

type ListRecoverySessionsRequest

type ListRecoverySessionsRequest struct {
	Status         RecoveryStatus `json:"status"`
	OrganizationId string         `json:"organizationId"`
	Page           int            `json:"page"`
	PageSize       int            `json:"pageSize"`
	RequiresReview bool           `json:"requiresReview"`
}

type ListRecoverySessionsResponse

type ListRecoverySessionsResponse struct {
	Page       int                   `json:"page"`
	PageSize   int                   `json:"pageSize"`
	Sessions   []RecoverySessionInfo `json:"sessions"`
	TotalCount int                   `json:"totalCount"`
}

type ListRememberedDevicesResponse

type ListRememberedDevicesResponse struct {
	Devices interface{} `json:"devices"`
	Count   int         `json:"count"`
}

type ListReportsFilter

type ListReportsFilter struct {
	Format     *string             `json:"format"`
	ProfileId  *string             `json:"profileId"`
	ReportType *string             `json:"reportType"`
	Standard   *ComplianceStandard `json:"standard"`
	Status     *string             `json:"status"`
	AppId      *string             `json:"appId"`
}

type ListReportsResponse

type ListReportsResponse struct {
	Reports []*interface{} `json:"reports"`
}

type ListRequest

type ListRequest struct {
}

type ListResponse

type ListResponse struct {
	Webhooks []*Webhook `json:"webhooks"`
}

type ListRevisionsRequest

type ListRevisionsRequest struct {
}

type ListSecretsRequest

type ListSecretsRequest struct {
}

type ListSessionsRequest

type ListSessionsRequest struct {
	Page                 int    `json:"page"`
	User_id              ID     `json:"user_id"`
	User_organization_id ID     `json:"user_organization_id"`
	App_id               xid.ID `json:"app_id"`
	Limit                int    `json:"limit"`
}

type ListSessionsRequestDTO

type ListSessionsRequestDTO struct {
}

type ListSessionsResponse

type ListSessionsResponse struct {
	Limit       int     `json:"limit"`
	Page        int     `json:"page"`
	Sessions    Session `json:"sessions"`
	Total       int     `json:"total"`
	Total_pages int     `json:"total_pages"`
}

type ListTeamsRequest

type ListTeamsRequest struct {
}

type ListTemplatesResponse

type ListTemplatesResponse struct {
	Templates []*interface{} `json:"templates"`
	Total     int            `json:"total"`
}

type ListTrainingFilter

type ListTrainingFilter struct {
	ProfileId    *string             `json:"profileId"`
	Standard     *ComplianceStandard `json:"standard"`
	Status       *string             `json:"status"`
	TrainingType *string             `json:"trainingType"`
	UserId       *string             `json:"userId"`
	AppId        *string             `json:"appId"`
}

type ListTrainingResponse

type ListTrainingResponse struct {
	Training []*interface{} `json:"training"`
}

type ListTrustedContactsResponse

type ListTrustedContactsResponse struct {
	Count    int                  `json:"count"`
	Contacts []TrustedContactInfo `json:"contacts"`
}

type ListTrustedDevicesResponse

type ListTrustedDevicesResponse struct {
	Count   int             `json:"count"`
	Devices []TrustedDevice `json:"devices"`
}

type ListUsersRequest

type ListUsersRequest struct {
	Page                 int    `json:"page"`
	Role                 string `json:"role"`
	Search               string `json:"search"`
	Status               string `json:"status"`
	User_organization_id ID     `json:"user_organization_id"`
	App_id               xid.ID `json:"app_id"`
	Limit                int    `json:"limit"`
}

type ListUsersRequestDTO

type ListUsersRequestDTO struct {
}

type ListUsersResponse

type ListUsersResponse struct {
	Users       User `json:"users"`
	Limit       int  `json:"limit"`
	Page        int  `json:"page"`
	Total       int  `json:"total"`
	Total_pages int  `json:"total_pages"`
}

type ListVerificationsResponse

type ListVerificationsResponse struct {
	Verifications []*interface{} `json:"verifications"`
}

type ListViolationsFilter

type ListViolationsFilter struct {
	UserId        *string `json:"userId"`
	ViolationType *string `json:"violationType"`
	AppId         *string `json:"appId"`
	ProfileId     *string `json:"profileId"`
	Severity      *string `json:"severity"`
	Status        *string `json:"status"`
}

type ListViolationsResponse

type ListViolationsResponse struct {
	Violations []*interface{} `json:"violations"`
}

type LoginResponse

type LoginResponse struct {
	PasskeyUsed string      `json:"passkeyUsed"`
	Session     interface{} `json:"session"`
	Token       string      `json:"token"`
	User        interface{} `json:"user"`
}

type MFABypassResponse

type MFABypassResponse struct {
	Id        xid.ID    `json:"id"`
	Reason    string    `json:"reason"`
	UserId    xid.ID    `json:"userId"`
	ExpiresAt time.Time `json:"expiresAt"`
}

type MFAConfigResponse

type MFAConfigResponse struct {
	Allowed_factor_types  []string `json:"allowed_factor_types"`
	Enabled               bool     `json:"enabled"`
	Required_factor_count int      `json:"required_factor_count"`
}

type MFAPolicy

type MFAPolicy struct {
	MaxFailedAttempts      int          `json:"maxFailedAttempts"`
	OrganizationId         xid.ID       `json:"organizationId"`
	RequiredFactorCount    int          `json:"requiredFactorCount"`
	RequiredFactorTypes    []FactorType `json:"requiredFactorTypes"`
	StepUpRequired         bool         `json:"stepUpRequired"`
	TrustedDeviceDays      int          `json:"trustedDeviceDays"`
	AdaptiveMfaEnabled     bool         `json:"adaptiveMfaEnabled"`
	AllowedFactorTypes     []FactorType `json:"allowedFactorTypes"`
	CreatedAt              time.Time    `json:"createdAt"`
	GracePeriodDays        int          `json:"gracePeriodDays"`
	UpdatedAt              time.Time    `json:"updatedAt"`
	Id                     xid.ID       `json:"id"`
	LockoutDurationMinutes int          `json:"lockoutDurationMinutes"`
}

type MFAPolicyResponse

type MFAPolicyResponse struct {
	OrganizationId      ID       `json:"organizationId"`
	RequiredFactorCount int      `json:"requiredFactorCount"`
	AllowedFactorTypes  []string `json:"allowedFactorTypes"`
	AppId               xid.ID   `json:"appId"`
	Enabled             bool     `json:"enabled"`
	GracePeriodDays     int      `json:"gracePeriodDays"`
	Id                  xid.ID   `json:"id"`
}

type MFASession

type MFASession struct {
	FactorsRequired int         `json:"factorsRequired"`
	FactorsVerified int         `json:"factorsVerified"`
	IpAddress       string      `json:"ipAddress"`
	Metadata        interface{} `json:"metadata"`
	VerifiedFactors ID          `json:"verifiedFactors"`
	ExpiresAt       time.Time   `json:"expiresAt"`
	Id              xid.ID      `json:"id"`
	RiskLevel       RiskLevel   `json:"riskLevel"`
	SessionToken    string      `json:"sessionToken"`
	UserAgent       string      `json:"userAgent"`
	UserId          xid.ID      `json:"userId"`
	CompletedAt     Time        `json:"completedAt"`
	CreatedAt       time.Time   `json:"createdAt"`
}

type MFAStatus

type MFAStatus struct {
	TrustedDevice   bool         `json:"trustedDevice"`
	Enabled         bool         `json:"enabled"`
	EnrolledFactors []FactorInfo `json:"enrolledFactors"`
	GracePeriod     Time         `json:"gracePeriod"`
	PolicyActive    bool         `json:"policyActive"`
	RequiredCount   int          `json:"requiredCount"`
}

type Member

type Member struct{}

Placeholder types for undefined/missing types

type MemberHandler

type MemberHandler struct {
}

type MembersResponse

type MembersResponse struct {
	Members Member `json:"members"`
	Total   int    `json:"total"`
}

type MemoryChallengeStore

type MemoryChallengeStore struct {
}

type MemoryStateStore

type MemoryStateStore struct {
}

type MessageResponse

type MessageResponse struct {
	Message string `json:"message"`
}

MessageResponse represents Simple message response

type MetadataResponse

type MetadataResponse struct {
	Metadata string `json:"metadata"`
}

type Middleware

type Middleware struct {
}

type MigrateAllRequest

type MigrateAllRequest struct {
	DryRun           bool `json:"dryRun"`
	PreserveOriginal bool `json:"preserveOriginal"`
}

type MigrateAllResponse

type MigrateAllResponse struct {
	SkippedPolicies   int                      `json:"skippedPolicies"`
	CompletedAt       string                   `json:"completedAt"`
	DryRun            bool                     `json:"dryRun"`
	StartedAt         string                   `json:"startedAt"`
	TotalPolicies     int                      `json:"totalPolicies"`
	ConvertedPolicies []PolicyPreviewResponse  `json:"convertedPolicies"`
	Errors            []MigrationErrorResponse `json:"errors"`
	FailedPolicies    int                      `json:"failedPolicies"`
	MigratedPolicies  int                      `json:"migratedPolicies"`
}

type MigrateRBACRequest

type MigrateRBACRequest struct {
	DryRun              bool   `json:"dryRun"`
	KeepRbacPolicies    bool   `json:"keepRbacPolicies"`
	NamespaceId         string `json:"namespaceId"`
	ValidateEquivalence bool   `json:"validateEquivalence"`
}

type MigrateRolesRequest

type MigrateRolesRequest struct {
	DryRun bool `json:"dryRun"`
}

type MigrationErrorResponse

type MigrationErrorResponse struct {
	Error       string `json:"error"`
	PolicyIndex int    `json:"policyIndex"`
	Resource    string `json:"resource"`
	Subject     string `json:"subject"`
}

type MigrationHandler

type MigrationHandler struct {
}

type MigrationResponse

type MigrationResponse struct {
	Message     string    `json:"message"`
	MigrationId string    `json:"migrationId"`
	StartedAt   time.Time `json:"startedAt"`
	Status      string    `json:"status"`
}

type MigrationStatusResponse

type MigrationStatusResponse struct {
	StartedAt          time.Time `json:"startedAt"`
	UserOrganizationId *string   `json:"userOrganizationId"`
	ValidationPassed   bool      `json:"validationPassed"`
	CompletedAt        Time      `json:"completedAt"`
	Errors             []string  `json:"errors"`
	FailedCount        int       `json:"failedCount"`
	Progress           float64   `json:"progress"`
	Status             string    `json:"status"`
	TotalPolicies      int       `json:"totalPolicies"`
	AppId              string    `json:"appId"`
	EnvironmentId      string    `json:"environmentId"`
	MigratedCount      int       `json:"migratedCount"`
}

type MockAppService

type MockAppService struct {
}

type MockAuditService

type MockAuditService struct {
}

type MockEmailService

type MockEmailService struct {
}

type MockOrganizationUIExtension

type MockOrganizationUIExtension struct {
}

type MockRepository

type MockRepository struct {
}

type MockService

type MockService struct {
}

type MockSessionService

type MockSessionService struct {
}

type MockSocialAccountRepository

type MockSocialAccountRepository struct {
}

type MockStateStore

type MockStateStore struct {
}

type MockUserRepository

type MockUserRepository struct {
}

type MockUserService

type MockUserService struct {
}

type MultiSessionErrorResponse

type MultiSessionErrorResponse struct {
	Error string `json:"error"`
}

type MultiStepRecoveryConfig

type MultiStepRecoveryConfig struct {
	HighRiskSteps        []RecoveryMethod `json:"highRiskSteps"`
	LowRiskSteps         []RecoveryMethod `json:"lowRiskSteps"`
	MediumRiskSteps      []RecoveryMethod `json:"mediumRiskSteps"`
	MinimumSteps         int              `json:"minimumSteps"`
	SessionExpiry        time.Duration    `json:"sessionExpiry"`
	AllowStepSkip        bool             `json:"allowStepSkip"`
	AllowUserChoice      bool             `json:"allowUserChoice"`
	RequireAdminApproval bool             `json:"requireAdminApproval"`
	Enabled              bool             `json:"enabled"`
}

type NamespaceResponse

type NamespaceResponse struct {
	Id                 string    `json:"id"`
	Name               string    `json:"name"`
	ResourceCount      int       `json:"resourceCount"`
	UpdatedAt          time.Time `json:"updatedAt"`
	AppId              string    `json:"appId"`
	Description        string    `json:"description"`
	InheritPlatform    bool      `json:"inheritPlatform"`
	PolicyCount        int       `json:"policyCount"`
	TemplateId         *string   `json:"templateId"`
	UserOrganizationId *string   `json:"userOrganizationId"`
	ActionCount        int       `json:"actionCount"`
	CreatedAt          time.Time `json:"createdAt"`
	EnvironmentId      string    `json:"environmentId"`
}

type NamespacesListResponse

type NamespacesListResponse struct {
	Namespaces []*NamespaceResponse `json:"namespaces"`
	TotalCount int                  `json:"totalCount"`
}

type NoOpDocumentProvider

type NoOpDocumentProvider struct {
}

type NoOpEmailProvider

type NoOpEmailProvider struct {
}

type NoOpNotificationProvider

type NoOpNotificationProvider struct {
}

type NoOpSMSProvider

type NoOpSMSProvider struct {
}

type NoOpVideoProvider

type NoOpVideoProvider struct {
}

type NotificationChannels

type NotificationChannels struct {
	Webhook bool `json:"webhook"`
	Email   bool `json:"email"`
	Slack   bool `json:"slack"`
}

type NotificationErrorResponse

type NotificationErrorResponse struct {
	Error string `json:"error"`
}

type NotificationListResponse

type NotificationListResponse struct {
	Total         int            `json:"total"`
	Notifications []*interface{} `json:"notifications"`
}

type NotificationPreviewResponse

type NotificationPreviewResponse struct {
	Body    string `json:"body"`
	Subject string `json:"subject"`
}

type NotificationResponse

type NotificationResponse struct {
	Notification interface{} `json:"notification"`
}

type NotificationStatusResponse

type NotificationStatusResponse struct {
	Status string `json:"status"`
}

type NotificationTemplateListResponse

type NotificationTemplateListResponse struct {
	Total     int            `json:"total"`
	Templates []*interface{} `json:"templates"`
}

type NotificationTemplateResponse

type NotificationTemplateResponse struct {
	Template interface{} `json:"template"`
}

type NotificationType

type NotificationType = string

Placeholder types for undefined/missing types

type NotificationWebhookResponse

type NotificationWebhookResponse struct {
	Status string `json:"status"`
}

type NotificationsConfig

type NotificationsConfig struct {
	NotifyOnRecoveryFailed    bool     `json:"notifyOnRecoveryFailed"`
	NotifyOnRecoveryStart     bool     `json:"notifyOnRecoveryStart"`
	SecurityOfficerEmail      string   `json:"securityOfficerEmail"`
	Channels                  []string `json:"channels"`
	Enabled                   bool     `json:"enabled"`
	NotifyAdminOnHighRisk     bool     `json:"notifyAdminOnHighRisk"`
	NotifyAdminOnReviewNeeded bool     `json:"notifyAdminOnReviewNeeded"`
	NotifyOnRecoveryComplete  bool     `json:"notifyOnRecoveryComplete"`
}

type NotificationsResponse

type NotificationsResponse struct {
	Count         int         `json:"count"`
	Notifications interface{} `json:"notifications"`
}

type OAuthErrorResponse

type OAuthErrorResponse struct {
	Error             string `json:"error"`
	Error_description string `json:"error_description"`
	Error_uri         string `json:"error_uri"`
	State             string `json:"state"`
}

type OAuthState

type OAuthState struct {
	Redirect_url         string    `json:"redirect_url"`
	User_organization_id ID        `json:"user_organization_id"`
	App_id               xid.ID    `json:"app_id"`
	Created_at           time.Time `json:"created_at"`
	Extra_scopes         []string  `json:"extra_scopes"`
	Link_user_id         ID        `json:"link_user_id"`
	Provider             string    `json:"provider"`
}

type OIDCCallbackResponse

type OIDCCallbackResponse struct {
	Session Session `json:"session"`
	Token   string  `json:"token"`
	User    User    `json:"user"`
}

type OIDCLoginRequest

type OIDCLoginRequest struct {
	Nonce       string `json:"nonce"`
	RedirectUri string `json:"redirectUri"`
	Scope       string `json:"scope"`
	State       string `json:"state"`
}

type OIDCLoginResponse

type OIDCLoginResponse struct {
	AuthUrl    string `json:"authUrl"`
	Nonce      string `json:"nonce"`
	ProviderId string `json:"providerId"`
	State      string `json:"state"`
}

type OIDCState

type OIDCState struct {
}

type OTPSentResponse

type OTPSentResponse struct {
	Code   string `json:"code"`
	Status string `json:"status"`
}

type OnfidoConfig

type OnfidoConfig struct {
	DocumentCheck          DocumentCheckConfig `json:"documentCheck"`
	IncludeDocumentReport  bool                `json:"includeDocumentReport"`
	IncludeWatchlistReport bool                `json:"includeWatchlistReport"`
	WorkflowId             string              `json:"workflowId"`
	Enabled                bool                `json:"enabled"`
	FacialCheck            FacialCheckConfig   `json:"facialCheck"`
	IncludeFacialReport    bool                `json:"includeFacialReport"`
	Region                 string              `json:"region"`
	WebhookToken           string              `json:"webhookToken"`
	ApiToken               string              `json:"apiToken"`
}

type OnfidoProvider

type OnfidoProvider struct {
}

type Option

type Option func(*Client)

Option is a functional option for configuring the client

func WithAPIKey

func WithAPIKey(apiKey string) Option

WithAPIKey sets the API key for authentication

func WithAppContext

func WithAppContext(appID, envID string) Option

WithAppContext sets the app and environment context for requests

func WithCookieJar

func WithCookieJar(jar http.CookieJar) Option

WithCookieJar sets a cookie jar for session management

func WithHTTPClient

func WithHTTPClient(client *http.Client) Option

WithHTTPClient sets a custom HTTP client

func WithHeaders

func WithHeaders(headers map[string]string) Option

WithHeaders sets custom headers

func WithPlugins

func WithPlugins(plugins ...Plugin) Option

WithPlugins adds plugins to the client

func WithToken

func WithToken(token string) Option

WithToken sets the authentication token (session token)

type OrganizationAutoSendConfig

type OrganizationAutoSendConfig struct {
	Role_changed   bool `json:"role_changed"`
	Transfer       bool `json:"transfer"`
	Deleted        bool `json:"deleted"`
	Invite         bool `json:"invite"`
	Member_added   bool `json:"member_added"`
	Member_left    bool `json:"member_left"`
	Member_removed bool `json:"member_removed"`
}

type OrganizationHandler

type OrganizationHandler struct {
}

type OrganizationUIRegistry

type OrganizationUIRegistry struct {
}

type PasskeyInfo

type PasskeyInfo struct {
	Aaguid            string    `json:"aaguid"`
	CredentialId      string    `json:"credentialId"`
	Id                string    `json:"id"`
	IsResidentKey     bool      `json:"isResidentKey"`
	LastUsedAt        Time      `json:"lastUsedAt"`
	Name              string    `json:"name"`
	SignCount         uint      `json:"signCount"`
	AuthenticatorType string    `json:"authenticatorType"`
	CreatedAt         time.Time `json:"createdAt"`
}

type PhoneVerifyResponse

type PhoneVerifyResponse struct {
	Session Session `json:"session"`
	Token   string  `json:"token"`
	User    User    `json:"user"`
}

type Plugin

type Plugin interface {
	// ID returns the unique plugin identifier
	ID() string

	// Init initializes the plugin with the client
	Init(client *Client) error
}

Plugin defines the interface for client plugins

type PoliciesListResponse

type PoliciesListResponse struct {
	PageSize   int               `json:"pageSize"`
	Policies   []*PolicyResponse `json:"policies"`
	TotalCount int               `json:"totalCount"`
	Page       int               `json:"page"`
}

type PolicyEngine

type PolicyEngine struct {
}

type PolicyPreviewResponse

type PolicyPreviewResponse struct {
	ResourceType string   `json:"resourceType"`
	Actions      []string `json:"actions"`
	Description  string   `json:"description"`
	Expression   string   `json:"expression"`
	Name         string   `json:"name"`
}

type PolicyResponse

type PolicyResponse struct {
	Actions            []string  `json:"actions"`
	Name               string    `json:"name"`
	NamespaceId        string    `json:"namespaceId"`
	UpdatedAt          time.Time `json:"updatedAt"`
	UserOrganizationId *string   `json:"userOrganizationId"`
	Version            int       `json:"version"`
	CreatedBy          string    `json:"createdBy"`
	Description        string    `json:"description"`
	Id                 string    `json:"id"`
	AppId              string    `json:"appId"`
	CreatedAt          time.Time `json:"createdAt"`
	Enabled            bool      `json:"enabled"`
	EnvironmentId      string    `json:"environmentId"`
	Priority           int       `json:"priority"`
	Expression         string    `json:"expression"`
	ResourceType       string    `json:"resourceType"`
}

type PolicyStats

type PolicyStats struct {
	AllowCount      int64   `json:"allowCount"`
	AvgLatencyMs    float64 `json:"avgLatencyMs"`
	DenyCount       int64   `json:"denyCount"`
	EvaluationCount int64   `json:"evaluationCount"`
	PolicyId        string  `json:"policyId"`
	PolicyName      string  `json:"policyName"`
}

type PreviewConversionRequest

type PreviewConversionRequest struct {
	Condition string   `json:"condition"`
	Resource  string   `json:"resource"`
	Subject   string   `json:"subject"`
	Actions   []string `json:"actions"`
}

type PreviewConversionResponse

type PreviewConversionResponse struct {
	Success       bool   `json:"success"`
	CelExpression string `json:"celExpression"`
	Error         string `json:"error"`
	PolicyName    string `json:"policyName"`
	ResourceId    string `json:"resourceId"`
	ResourceType  string `json:"resourceType"`
}

type PreviewTemplateRequest

type PreviewTemplateRequest struct {
}

type PreviewTemplateResponse

type PreviewTemplateResponse struct {
	Body    string `json:"body"`
	Subject string `json:"subject"`
}

type PreviewTemplate_req

type PreviewTemplate_req struct {
	Variables interface{} `json:"variables"`
}

type PrivacySettings

type PrivacySettings struct {
	DataRetentionDays               int       `json:"dataRetentionDays"`
	Metadata                        JSONBMap  `json:"metadata"`
	OrganizationId                  string    `json:"organizationId"`
	RequireExplicitConsent          bool      `json:"requireExplicitConsent"`
	AnonymousConsentEnabled         bool      `json:"anonymousConsentEnabled"`
	AutoDeleteAfterDays             int       `json:"autoDeleteAfterDays"`
	ConsentRequired                 bool      `json:"consentRequired"`
	CookieConsentStyle              string    `json:"cookieConsentStyle"`
	DpoEmail                        string    `json:"dpoEmail"`
	ExportFormat                    []string  `json:"exportFormat"`
	Id                              xid.ID    `json:"id"`
	ContactPhone                    string    `json:"contactPhone"`
	CookieConsentEnabled            bool      `json:"cookieConsentEnabled"`
	RequireAdminApprovalForDeletion bool      `json:"requireAdminApprovalForDeletion"`
	CcpaMode                        bool      `json:"ccpaMode"`
	CreatedAt                       time.Time `json:"createdAt"`
	DeletionGracePeriodDays         int       `json:"deletionGracePeriodDays"`
	GdprMode                        bool      `json:"gdprMode"`
	UpdatedAt                       time.Time `json:"updatedAt"`
	AllowDataPortability            bool      `json:"allowDataPortability"`
	ContactEmail                    string    `json:"contactEmail"`
	DataExportExpiryHours           int       `json:"dataExportExpiryHours"`
}

type PrivacySettingsRequest

type PrivacySettingsRequest struct {
	ConsentRequired                 *bool    `json:"consentRequired"`
	DataRetentionDays               *int     `json:"dataRetentionDays"`
	DpoEmail                        string   `json:"dpoEmail"`
	RequireExplicitConsent          *bool    `json:"requireExplicitConsent"`
	AllowDataPortability            *bool    `json:"allowDataPortability"`
	AnonymousConsentEnabled         *bool    `json:"anonymousConsentEnabled"`
	ExportFormat                    []string `json:"exportFormat"`
	AutoDeleteAfterDays             *int     `json:"autoDeleteAfterDays"`
	CookieConsentEnabled            *bool    `json:"cookieConsentEnabled"`
	CookieConsentStyle              string   `json:"cookieConsentStyle"`
	DeletionGracePeriodDays         *int     `json:"deletionGracePeriodDays"`
	RequireAdminApprovalForDeletion *bool    `json:"requireAdminApprovalForDeletion"`
	CcpaMode                        *bool    `json:"ccpaMode"`
	ContactEmail                    string   `json:"contactEmail"`
	ContactPhone                    string   `json:"contactPhone"`
	DataExportExpiryHours           *int     `json:"dataExportExpiryHours"`
	GdprMode                        *bool    `json:"gdprMode"`
}

type ProviderCheckResult

type ProviderCheckResult struct {
}

type ProviderConfig

type ProviderConfig struct{}

Placeholder types for undefined/missing types

type ProviderConfigResponse

type ProviderConfigResponse struct {
	Provider string `json:"provider"`
	AppId    string `json:"appId"`
	Message  string `json:"message"`
}

type ProviderDetailResponse

type ProviderDetailResponse struct {
	AttributeMapping interface{} `json:"attributeMapping"`
	OidcClientID     string      `json:"oidcClientID"`
	OidcIssuer       string      `json:"oidcIssuer"`
	ProviderId       string      `json:"providerId"`
	SamlEntryPoint   string      `json:"samlEntryPoint"`
	SamlIssuer       string      `json:"samlIssuer"`
	Type             string      `json:"type"`
	UpdatedAt        string      `json:"updatedAt"`
	CreatedAt        string      `json:"createdAt"`
	Domain           string      `json:"domain"`
	HasSamlCert      bool        `json:"hasSamlCert"`
	OidcRedirectURI  string      `json:"oidcRedirectURI"`
}

type ProviderDiscoveredResponse

type ProviderDiscoveredResponse struct {
	Type       string `json:"type"`
	Found      bool   `json:"found"`
	ProviderId string `json:"providerId"`
}

type ProviderInfo

type ProviderInfo struct {
	CreatedAt  string `json:"createdAt"`
	Domain     string `json:"domain"`
	ProviderId string `json:"providerId"`
	Type       string `json:"type"`
}

type ProviderListResponse

type ProviderListResponse struct {
	Providers []ProviderInfo `json:"providers"`
	Total     int            `json:"total"`
}

type ProviderRegisteredResponse

type ProviderRegisteredResponse struct {
	Status     string `json:"status"`
	Type       string `json:"type"`
	ProviderId string `json:"providerId"`
}

type ProviderSession

type ProviderSession struct {
}

type ProviderSessionRequest

type ProviderSessionRequest struct {
}

type ProvidersAppResponse

type ProvidersAppResponse struct {
	AppId     string   `json:"appId"`
	Providers []string `json:"providers"`
}

type ProvidersConfig

type ProvidersConfig struct {
	Reddit    ProviderConfig `json:"reddit"`
	Apple     ProviderConfig `json:"apple"`
	Github    ProviderConfig `json:"github"`
	Spotify   ProviderConfig `json:"spotify"`
	Line      ProviderConfig `json:"line"`
	Microsoft ProviderConfig `json:"microsoft"`
	Twitch    ProviderConfig `json:"twitch"`
	Twitter   ProviderConfig `json:"twitter"`
	Dropbox   ProviderConfig `json:"dropbox"`
	Facebook  ProviderConfig `json:"facebook"`
	Gitlab    ProviderConfig `json:"gitlab"`
	Google    ProviderConfig `json:"google"`
	Notion    ProviderConfig `json:"notion"`
	Slack     ProviderConfig `json:"slack"`
	Bitbucket ProviderConfig `json:"bitbucket"`
	Discord   ProviderConfig `json:"discord"`
	Linkedin  ProviderConfig `json:"linkedin"`
}

type ProvidersResponse

type ProvidersResponse struct {
	Providers []string `json:"providers"`
}

type PublishContentTypeRequest

type PublishContentTypeRequest struct {
}

type PublishEntryRequest

type PublishEntryRequest struct {
}

type QueryEntriesRequest

type QueryEntriesRequest struct {
}

type RateLimit

type RateLimit struct {
}

type RateLimitConfig

type RateLimitConfig struct {
	Enabled bool          `json:"enabled"`
	Window  time.Duration `json:"window"`
}

type RateLimitRule

type RateLimitRule struct {
	Max    int           `json:"max"`
	Window time.Duration `json:"window"`
}

type RateLimiter

type RateLimiter struct {
}

type RateLimitingConfig

type RateLimitingConfig struct {
	ExponentialBackoff   bool          `json:"exponentialBackoff"`
	IpCooldownPeriod     time.Duration `json:"ipCooldownPeriod"`
	LockoutAfterAttempts int           `json:"lockoutAfterAttempts"`
	LockoutDuration      time.Duration `json:"lockoutDuration"`
	MaxAttemptsPerDay    int           `json:"maxAttemptsPerDay"`
	MaxAttemptsPerHour   int           `json:"maxAttemptsPerHour"`
	MaxAttemptsPerIp     int           `json:"maxAttemptsPerIp"`
	Enabled              bool          `json:"enabled"`
}

type RecordCookieConsentRequest

type RecordCookieConsentRequest struct {
	Analytics       bool   `json:"analytics"`
	BannerVersion   string `json:"bannerVersion"`
	Essential       bool   `json:"essential"`
	Functional      bool   `json:"functional"`
	Marketing       bool   `json:"marketing"`
	Personalization bool   `json:"personalization"`
	SessionId       string `json:"sessionId"`
	ThirdParty      bool   `json:"thirdParty"`
}

type RecordCookieConsentResponse

type RecordCookieConsentResponse struct {
	Preferences interface{} `json:"preferences"`
}

type RecoveryAttemptLog

type RecoveryAttemptLog struct {
}

type RecoveryCodeUsage

type RecoveryCodeUsage struct {
}

type RecoveryCodesConfig

type RecoveryCodesConfig struct {
	AllowPrint      bool   `json:"allowPrint"`
	AutoRegenerate  bool   `json:"autoRegenerate"`
	CodeCount       int    `json:"codeCount"`
	CodeLength      int    `json:"codeLength"`
	Enabled         bool   `json:"enabled"`
	Format          string `json:"format"`
	RegenerateCount int    `json:"regenerateCount"`
	AllowDownload   bool   `json:"allowDownload"`
}

type RecoveryConfiguration

type RecoveryConfiguration struct {
}

type RecoveryMethod

type RecoveryMethod = string

Placeholder type aliases for undefined enum/custom types

type RecoverySession

type RecoverySession struct {
}

type RecoverySessionInfo

type RecoverySessionInfo struct {
	CompletedAt    Time           `json:"completedAt"`
	CreatedAt      time.Time      `json:"createdAt"`
	CurrentStep    int            `json:"currentStep"`
	ExpiresAt      time.Time      `json:"expiresAt"`
	Id             xid.ID         `json:"id"`
	RequiresReview bool           `json:"requiresReview"`
	TotalSteps     int            `json:"totalSteps"`
	UserEmail      string         `json:"userEmail"`
	Method         RecoveryMethod `json:"method"`
	RiskScore      float64        `json:"riskScore"`
	Status         RecoveryStatus `json:"status"`
	UserId         xid.ID         `json:"userId"`
}

type RecoveryStatus

type RecoveryStatus = string

Placeholder type aliases for undefined enum/custom types

type RedisChallengeStore

type RedisChallengeStore struct {
}

type RedisStateStore

type RedisStateStore struct {
}

type RefreshResponse

type RefreshResponse struct {
	Session Session `json:"session"`
	Token   string  `json:"token"`
}

type RefreshSessionRequest

type RefreshSessionRequest struct {
	RefreshToken string `json:"refreshToken"`
}

type RefreshSessionResponse

type RefreshSessionResponse struct {
	AccessToken      string      `json:"accessToken"`
	RefreshToken     string      `json:"refreshToken"`
	ExpiresAt        string      `json:"expiresAt"`
	RefreshExpiresAt string      `json:"refreshExpiresAt"`
	Session          interface{} `json:"session"`
}

type RegenerateCodesRequest

type RegenerateCodesRequest struct {
	Count   int    `json:"count"`
	User_id string `json:"user_id"`
}

type RegisterClientRequest

type RegisterClientRequest struct {
	Client_name                string   `json:"client_name"`
	Contacts                   []string `json:"contacts"`
	Logo_uri                   string   `json:"logo_uri"`
	Tos_uri                    string   `json:"tos_uri"`
	Trusted_client             bool     `json:"trusted_client"`
	Grant_types                []string `json:"grant_types"`
	Require_pkce               bool     `json:"require_pkce"`
	Policy_uri                 string   `json:"policy_uri"`
	Redirect_uris              []string `json:"redirect_uris"`
	Require_consent            bool     `json:"require_consent"`
	Scope                      string   `json:"scope"`
	Token_endpoint_auth_method string   `json:"token_endpoint_auth_method"`
	Application_type           string   `json:"application_type"`
	Post_logout_redirect_uris  []string `json:"post_logout_redirect_uris"`
	Response_types             []string `json:"response_types"`
}

type RegisterClientResponse

type RegisterClientResponse struct {
	Contacts                   []string `json:"contacts"`
	Grant_types                []string `json:"grant_types"`
	Tos_uri                    string   `json:"tos_uri"`
	Application_type           string   `json:"application_type"`
	Client_secret              string   `json:"client_secret"`
	Response_types             []string `json:"response_types"`
	Scope                      string   `json:"scope"`
	Client_id                  string   `json:"client_id"`
	Client_name                string   `json:"client_name"`
	Client_secret_expires_at   int64    `json:"client_secret_expires_at"`
	Policy_uri                 string   `json:"policy_uri"`
	Post_logout_redirect_uris  []string `json:"post_logout_redirect_uris"`
	Redirect_uris              []string `json:"redirect_uris"`
	Client_id_issued_at        int64    `json:"client_id_issued_at"`
	Logo_uri                   string   `json:"logo_uri"`
	Token_endpoint_auth_method string   `json:"token_endpoint_auth_method"`
}

type RegisterProviderRequest

type RegisterProviderRequest struct {
	ProviderId       string      `json:"providerId"`
	SamlCert         string      `json:"samlCert"`
	SamlEntryPoint   string      `json:"samlEntryPoint"`
	Domain           string      `json:"domain"`
	OidcClientID     string      `json:"oidcClientID"`
	OidcClientSecret string      `json:"oidcClientSecret"`
	OidcRedirectURI  string      `json:"oidcRedirectURI"`
	SamlIssuer       string      `json:"samlIssuer"`
	Type             string      `json:"type"`
	AttributeMapping interface{} `json:"attributeMapping"`
	OidcIssuer       string      `json:"oidcIssuer"`
}

type RegisterProviderResponse

type RegisterProviderResponse struct {
	ProviderId string `json:"providerId"`
	Status     string `json:"status"`
	Type       string `json:"type"`
}

type RegistrationService

type RegistrationService struct {
}

type RejectRecoveryRequest

type RejectRecoveryRequest struct {
	SessionId xid.ID `json:"sessionId"`
	Notes     string `json:"notes"`
	Reason    string `json:"reason"`
}

type RejectRecoveryResponse

type RejectRecoveryResponse struct {
	SessionId  xid.ID    `json:"sessionId"`
	Message    string    `json:"message"`
	Reason     string    `json:"reason"`
	Rejected   bool      `json:"rejected"`
	RejectedAt time.Time `json:"rejectedAt"`
}

type RemoveMemberRequest

type RemoveMemberRequest struct {
}

type RemoveTeamMemberRequest

type RemoveTeamMemberRequest struct {
}

type RemoveTrustedContactRequest

type RemoveTrustedContactRequest struct {
	ContactId xid.ID `json:"contactId"`
}

type RemoveTrustedContactResponse

type RemoveTrustedContactResponse struct {
	Status string `json:"status"`
}

type RenderTemplateRequest

type RenderTemplateRequest struct {
}

type RenderTemplateResponse

type RenderTemplateResponse struct {
	Body    string `json:"body"`
	Subject string `json:"subject"`
}

type RenderTemplate_req

type RenderTemplate_req struct {
	Variables interface{} `json:"variables"`
	Template  string      `json:"template"`
}

type ReorderFieldsRequest

type ReorderFieldsRequest struct {
}

type ReportsConfig

type ReportsConfig struct {
	Enabled         bool     `json:"enabled"`
	Formats         []string `json:"formats"`
	IncludeEvidence bool     `json:"includeEvidence"`
	RetentionDays   int      `json:"retentionDays"`
	Schedule        string   `json:"schedule"`
	StoragePath     string   `json:"storagePath"`
}

type RequestDataDeletionRequest

type RequestDataDeletionRequest struct {
	DeleteSections []string `json:"deleteSections"`
	Reason         string   `json:"reason"`
}

type RequestDataDeletionResponse

type RequestDataDeletionResponse struct {
	Id     string `json:"id"`
	Status string `json:"status"`
}

type RequestDataExportRequest

type RequestDataExportRequest struct {
	Format          string   `json:"format"`
	IncludeSections []string `json:"includeSections"`
}

type RequestDataExportResponse

type RequestDataExportResponse struct {
	Id     string `json:"id"`
	Status string `json:"status"`
}

type RequestEmailChangeRequest

type RequestEmailChangeRequest struct {
	NewEmail string `json:"newEmail"`
}

type RequestEmailChangeResponse

type RequestEmailChangeResponse struct {
	Message string `json:"message"`
}

type RequestPasswordResetRequest

type RequestPasswordResetRequest struct {
	Email string `json:"email"`
}

type RequestPasswordResetResponse

type RequestPasswordResetResponse struct {
	Message string `json:"message"`
}

type RequestReverificationRequest

type RequestReverificationRequest struct {
	Reason string `json:"reason"`
}

type RequestReverificationResponse

type RequestReverificationResponse struct {
	Session interface{} `json:"session"`
}

type RequestReverification_req

type RequestReverification_req struct {
	Reason string `json:"reason"`
}

type RequestTrustedContactVerificationRequest

type RequestTrustedContactVerificationRequest struct {
	ContactId xid.ID `json:"contactId"`
	SessionId xid.ID `json:"sessionId"`
}

type RequestTrustedContactVerificationResponse

type RequestTrustedContactVerificationResponse struct {
	ContactId   xid.ID    `json:"contactId"`
	ContactName string    `json:"contactName"`
	ExpiresAt   time.Time `json:"expiresAt"`
	Message     string    `json:"message"`
	NotifiedAt  time.Time `json:"notifiedAt"`
}

type RequirementsResponse

type RequirementsResponse struct {
	Count        int         `json:"count"`
	Requirements interface{} `json:"requirements"`
}

type ResendNotificationRequest

type ResendNotificationRequest struct {
}

type ResendNotificationResponse

type ResendNotificationResponse struct {
	Notification interface{} `json:"notification"`
}

type ResendRequest

type ResendRequest struct {
	Email string `json:"email"`
}

type ResendResponse

type ResendResponse struct {
	Status string `json:"status"`
}

type ResetAllTemplatesResponse

type ResetAllTemplatesResponse struct {
	Status string `json:"status"`
}

type ResetPasswordRequest

type ResetPasswordRequest struct {
	Token       string `json:"token"`
	NewPassword string `json:"newPassword"`
}

type ResetPasswordResponse

type ResetPasswordResponse struct {
	Message string `json:"message"`
}

type ResetTemplateRequest

type ResetTemplateRequest struct {
}

type ResetTemplateResponse

type ResetTemplateResponse struct {
	Status string `json:"status"`
}

type ResetUserMFARequest

type ResetUserMFARequest struct {
	Reason string `json:"reason"`
}

type ResetUserMFAResponse

type ResetUserMFAResponse struct {
	DevicesRevoked int    `json:"devicesRevoked"`
	FactorsReset   int    `json:"factorsReset"`
	Message        string `json:"message"`
	Success        bool   `json:"success"`
}

type ResolveViolationRequest

type ResolveViolationRequest struct {
	Notes      string `json:"notes"`
	Resolution string `json:"resolution"`
}

type ResolveViolationResponse

type ResolveViolationResponse struct {
	Status string `json:"status"`
}

type ResourceAttributeRequest

type ResourceAttributeRequest struct {
	Required    bool        `json:"required"`
	Type        string      `json:"type"`
	Default     interface{} `json:"default"`
	Description string      `json:"description"`
	Name        string      `json:"name"`
}

type ResourceResponse

type ResourceResponse struct {
	NamespaceId string            `json:"namespaceId"`
	Type        string            `json:"type"`
	Attributes  ResourceAttribute `json:"attributes"`
	CreatedAt   time.Time         `json:"createdAt"`
	Description string            `json:"description"`
	Id          string            `json:"id"`
}

type ResourceRule

type ResourceRule struct {
	Description    string        `json:"description"`
	Org_id         string        `json:"org_id"`
	Resource_type  string        `json:"resource_type"`
	Security_level SecurityLevel `json:"security_level"`
	Sensitivity    string        `json:"sensitivity"`
	Action         string        `json:"action"`
}

type ResourceTypeStats

type ResourceTypeStats struct {
	AvgLatencyMs    float64 `json:"avgLatencyMs"`
	EvaluationCount int64   `json:"evaluationCount"`
	ResourceType    string  `json:"resourceType"`
	AllowRate       float64 `json:"allowRate"`
}

type ResourcesListResponse

type ResourcesListResponse struct {
	Resources  []*ResourceResponse `json:"resources"`
	TotalCount int                 `json:"totalCount"`
}

type RestoreEntryRequest

type RestoreEntryRequest struct {
}

type RestoreRevisionRequest

type RestoreRevisionRequest struct {
}

type RestoreTemplateVersionRequest

type RestoreTemplateVersionRequest struct {
}

type RetentionConfig

type RetentionConfig struct {
	ArchiveBeforePurge bool   `json:"archiveBeforePurge"`
	ArchivePath        string `json:"archivePath"`
	Enabled            bool   `json:"enabled"`
	GracePeriodDays    int    `json:"gracePeriodDays"`
	PurgeSchedule      string `json:"purgeSchedule"`
}

type ReverifyRequest

type ReverifyRequest struct {
	Reason string `json:"reason"`
}

type ReviewDocumentRequest

type ReviewDocumentRequest struct {
	Notes           string `json:"notes"`
	RejectionReason string `json:"rejectionReason"`
	Approved        bool   `json:"approved"`
	DocumentId      xid.ID `json:"documentId"`
}

type ReviewDocumentResponse

type ReviewDocumentResponse struct {
	Status string `json:"status"`
}

type RevisionHandler

type RevisionHandler struct {
}

type RevokeAllRequest

type RevokeAllRequest struct {
	IncludeCurrentSession bool `json:"includeCurrentSession"`
}

type RevokeAllResponse

type RevokeAllResponse struct {
	RevokedCount int    `json:"revokedCount"`
	Status       string `json:"status"`
}

type RevokeConsentRequest

type RevokeConsentRequest struct {
	Granted  *bool       `json:"granted"`
	Metadata interface{} `json:"metadata"`
	Reason   string      `json:"reason"`
}

type RevokeConsentResponse

type RevokeConsentResponse struct {
	Status string `json:"status"`
}

type RevokeDeviceRequest

type RevokeDeviceRequest struct {
	Fingerprint string `json:"fingerprint"`
}

type RevokeDeviceResponse

type RevokeDeviceResponse struct {
	Status string `json:"status"`
}

type RevokeOthersResponse

type RevokeOthersResponse struct {
	RevokedCount int    `json:"revokedCount"`
	Status       string `json:"status"`
}

type RevokeResponse

type RevokeResponse struct {
	Status       string `json:"status"`
	RevokedCount int    `json:"revokedCount"`
}

type RevokeSessionRequestDTO

type RevokeSessionRequestDTO struct {
}

type RevokeTokenRequest

type RevokeTokenRequest struct {
	Token_type_hint string `json:"token_type_hint"`
	Client_id       string `json:"client_id"`
	Client_secret   string `json:"client_secret"`
	Token           string `json:"token"`
}

type RevokeTokenService

type RevokeTokenService struct {
}

type RevokeTrustedDeviceRequest

type RevokeTrustedDeviceRequest struct {
}

type RiskAssessment

type RiskAssessment struct {
	Metadata    interface{}  `json:"metadata"`
	Recommended []FactorType `json:"recommended"`
	Score       float64      `json:"score"`
	Factors     []string     `json:"factors"`
	Level       RiskLevel    `json:"level"`
}

type RiskAssessmentConfig

type RiskAssessmentConfig struct {
	BlockHighRisk       bool    `json:"blockHighRisk"`
	Enabled             bool    `json:"enabled"`
	MediumRiskThreshold float64 `json:"mediumRiskThreshold"`
	NewDeviceWeight     float64 `json:"newDeviceWeight"`
	RequireReviewAbove  float64 `json:"requireReviewAbove"`
	VelocityWeight      float64 `json:"velocityWeight"`
	HighRiskThreshold   float64 `json:"highRiskThreshold"`
	HistoryWeight       float64 `json:"historyWeight"`
	LowRiskThreshold    float64 `json:"lowRiskThreshold"`
	NewIpWeight         float64 `json:"newIpWeight"`
	NewLocationWeight   float64 `json:"newLocationWeight"`
}

type RiskContext

type RiskContext struct {
}

type RiskEngine

type RiskEngine struct {
}

type RiskFactor

type RiskFactor struct {
}

type RiskLevel

type RiskLevel = string

Placeholder type aliases for undefined enum/custom types

type Role

type Role struct{}

Placeholder types for undefined/missing types

type RolesResponse

type RolesResponse struct {
	Roles Role `json:"roles"`
}

type RollbackRequest

type RollbackRequest struct {
	Reason string `json:"reason"`
}

type RotateAPIKeyRequest

type RotateAPIKeyRequest struct {
}

type RotateAPIKeyResponse

type RotateAPIKeyResponse struct {
	Api_key APIKey `json:"api_key"`
	Message string `json:"message"`
}

type RoundTripperMiddleware

type RoundTripperMiddleware struct {
	// contains filtered or unexported fields
}

RoundTripperMiddleware wraps http.RoundTripper with auth injection Use this to automatically inject authentication headers and context into all HTTP requests made by a standard http.Client

func (*RoundTripperMiddleware) RoundTrip

func (m *RoundTripperMiddleware) RoundTrip(req *http.Request) (*http.Response, error)

RoundTrip implements http.RoundTripper interface

type RouteRule

type RouteRule struct {
	Security_level SecurityLevel `json:"security_level"`
	Description    string        `json:"description"`
	Method         string        `json:"method"`
	Org_id         string        `json:"org_id"`
	Pattern        string        `json:"pattern"`
}

type RunCheckRequest

type RunCheckRequest struct {
	CheckType string `json:"checkType"`
}

type RunCheckResponse

type RunCheckResponse struct {
	Id string `json:"id"`
}

type RunCheck_req

type RunCheck_req struct {
	CheckType string `json:"checkType"`
}

type SAMLCallbackResponse

type SAMLCallbackResponse struct {
	Token   string  `json:"token"`
	User    User    `json:"user"`
	Session Session `json:"session"`
}

type SAMLLoginRequest

type SAMLLoginRequest struct {
	RelayState string `json:"relayState"`
}

type SAMLLoginResponse

type SAMLLoginResponse struct {
	RedirectUrl string `json:"redirectUrl"`
	RequestId   string `json:"requestId"`
	ProviderId  string `json:"providerId"`
}

type SAMLSPMetadataResponse

type SAMLSPMetadataResponse struct {
	Metadata string `json:"metadata"`
}

type SMSConfig

type SMSConfig struct {
	Provider            string           `json:"provider"`
	Rate_limit          *RateLimitConfig `json:"rate_limit"`
	Template_id         string           `json:"template_id"`
	Code_expiry_minutes int              `json:"code_expiry_minutes"`
	Code_length         int              `json:"code_length"`
	Enabled             bool             `json:"enabled"`
}

type SMSFactorAdapter

type SMSFactorAdapter struct {
}

type SMSProviderConfig

type SMSProviderConfig struct {
	Config   interface{} `json:"config"`
	From     string      `json:"from"`
	Provider string      `json:"provider"`
}

type SMSVerificationConfig

type SMSVerificationConfig struct {
	Provider        string        `json:"provider"`
	CodeExpiry      time.Duration `json:"codeExpiry"`
	CodeLength      int           `json:"codeLength"`
	CooldownPeriod  time.Duration `json:"cooldownPeriod"`
	Enabled         bool          `json:"enabled"`
	MaxAttempts     int           `json:"maxAttempts"`
	MaxSmsPerDay    int           `json:"maxSmsPerDay"`
	MessageTemplate string        `json:"messageTemplate"`
}

type SSOAuthResponse

type SSOAuthResponse struct {
	Session Session `json:"session"`
	Token   string  `json:"token"`
	User    User    `json:"user"`
}

type SaveBuilderTemplate_req

type SaveBuilderTemplate_req struct {
	TemplateKey string   `json:"templateKey"`
	Document    Document `json:"document"`
	Name        string   `json:"name"`
	Subject     string   `json:"subject"`
	TemplateId  *string  `json:"templateId,omitempty"`
}

type SaveNotificationSettings_req

type SaveNotificationSettings_req struct {
	RetryDelay      string `json:"retryDelay"`
	AutoSendWelcome bool   `json:"autoSendWelcome"`
	CleanupAfter    string `json:"cleanupAfter"`
	RetryAttempts   int    `json:"retryAttempts"`
}

type ScheduleVideoSessionRequest

type ScheduleVideoSessionRequest struct {
	TimeZone    string    `json:"timeZone"`
	ScheduledAt time.Time `json:"scheduledAt"`
	SessionId   xid.ID    `json:"sessionId"`
}

type ScheduleVideoSessionResponse

type ScheduleVideoSessionResponse struct {
	Instructions   string    `json:"instructions"`
	JoinUrl        string    `json:"joinUrl"`
	Message        string    `json:"message"`
	ScheduledAt    time.Time `json:"scheduledAt"`
	VideoSessionId xid.ID    `json:"videoSessionId"`
}

type SchemaValidator

type SchemaValidator struct {
}

type ScopeDefinition

type ScopeDefinition struct {
}

type ScopeInfo

type ScopeInfo struct {
}

type ScopeResolver

type ScopeResolver struct {
}

type SecretsConfigSource

type SecretsConfigSource struct {
}

type SecurityLevel

type SecurityLevel = string

Placeholder type aliases for undefined enum/custom types

type SecurityQuestion

type SecurityQuestion struct {
}

type SecurityQuestionInfo

type SecurityQuestionInfo struct {
	QuestionId   int    `json:"questionId"`
	QuestionText string `json:"questionText"`
	Id           xid.ID `json:"id"`
	IsCustom     bool   `json:"isCustom"`
}

type SecurityQuestionsConfig

type SecurityQuestionsConfig struct {
	RequireMinLength     int           `json:"requireMinLength"`
	AllowCustomQuestions bool          `json:"allowCustomQuestions"`
	CaseSensitive        bool          `json:"caseSensitive"`
	MaxAttempts          int           `json:"maxAttempts"`
	PredefinedQuestions  []string      `json:"predefinedQuestions"`
	RequiredToRecover    int           `json:"requiredToRecover"`
	Enabled              bool          `json:"enabled"`
	ForbidCommonAnswers  bool          `json:"forbidCommonAnswers"`
	LockoutDuration      time.Duration `json:"lockoutDuration"`
	MaxAnswerLength      int           `json:"maxAnswerLength"`
	MinimumQuestions     int           `json:"minimumQuestions"`
}

type SendCodeRequest

type SendCodeRequest struct {
	Phone string `json:"phone"`
}

type SendCodeResponse

type SendCodeResponse struct {
	Status   string `json:"status"`
	Dev_code string `json:"dev_code"`
}

type SendNotificationResponse

type SendNotificationResponse struct {
	Notification interface{} `json:"notification"`
}

type SendOTPRequest

type SendOTPRequest struct {
	User_id string `json:"user_id"`
}

type SendOTPResponse

type SendOTPResponse struct {
	Code   string `json:"code"`
	Status string `json:"status"`
}

type SendRequest

type SendRequest struct {
	Email string `json:"email"`
}

type SendResponse

type SendResponse struct {
	DevToken string `json:"devToken"`
	Status   string `json:"status"`
}

type SendVerificationCodeRequest

type SendVerificationCodeRequest struct {
	Method    RecoveryMethod `json:"method"`
	SessionId xid.ID         `json:"sessionId"`
	Target    string         `json:"target"`
}

type SendVerificationCodeResponse

type SendVerificationCodeResponse struct {
	ExpiresAt    time.Time `json:"expiresAt"`
	MaskedTarget string    `json:"maskedTarget"`
	Message      string    `json:"message"`
	Sent         bool      `json:"sent"`
}

type SendWithTemplateRequest

type SendWithTemplateRequest struct {
	TemplateKey string           `json:"templateKey"`
	Type        NotificationType `json:"type"`
	Variables   interface{}      `json:"variables"`
	AppId       xid.ID           `json:"appId"`
	Language    string           `json:"language"`
	Metadata    interface{}      `json:"metadata"`
	Recipient   string           `json:"recipient"`
}

type Service

type Service struct {
}

type Session

type Session struct {
	ExpiresAt string  `json:"expiresAt"`
	IpAddress *string `json:"ipAddress,omitempty"`
	UserAgent *string `json:"userAgent,omitempty"`
	CreatedAt string  `json:"createdAt"`
	Id        string  `json:"id"`
	UserId    string  `json:"userId"`
	Token     string  `json:"token"`
}

Session represents User session

func GetSessionFromContext

func GetSessionFromContext(ctx context.Context) (*Session, bool)

GetSessionFromContext retrieves session from Forge context

func GetUserFromContext

func GetUserFromContext(ctx context.Context) (*Session, bool)

GetUserFromContext retrieves user ID from Forge context

type SessionAutoSendConfig

type SessionAutoSendConfig struct {
	New_location     bool `json:"new_location"`
	Suspicious_login bool `json:"suspicious_login"`
	All_revoked      bool `json:"all_revoked"`
	Device_removed   bool `json:"device_removed"`
	New_device       bool `json:"new_device"`
}

type SessionStats

type SessionStats struct {
}

type SessionStatsResponse

type SessionStatsResponse struct {
	ActiveSessions int     `json:"activeSessions"`
	DeviceCount    int     `json:"deviceCount"`
	LocationCount  int     `json:"locationCount"`
	NewestSession  *string `json:"newestSession"`
	OldestSession  *string `json:"oldestSession"`
	TotalSessions  int     `json:"totalSessions"`
}

type SessionTokenResponse

type SessionTokenResponse struct {
	Session Session `json:"session"`
	Token   string  `json:"token"`
}

type SetActiveRequest

type SetActiveRequest struct {
	Id string `json:"id"`
}

type SetActiveResponse

type SetActiveResponse struct {
	Session Session `json:"session"`
	Token   string  `json:"token"`
}

type SetUserRoleRequest

type SetUserRoleRequest struct {
	User_id              xid.ID `json:"user_id"`
	User_organization_id ID     `json:"user_organization_id"`
	App_id               xid.ID `json:"app_id"`
	Role                 string `json:"role"`
}

type SetUserRoleRequestDTO

type SetUserRoleRequestDTO struct {
	Role string `json:"role"`
}

type SetupSecurityQuestionRequest

type SetupSecurityQuestionRequest struct {
	CustomText string `json:"customText"`
	QuestionId int    `json:"questionId"`
	Answer     string `json:"answer"`
}

type SetupSecurityQuestionsRequest

type SetupSecurityQuestionsRequest struct {
	Questions []SetupSecurityQuestionRequest `json:"questions"`
}

type SetupSecurityQuestionsResponse

type SetupSecurityQuestionsResponse struct {
	Count   int       `json:"count"`
	Message string    `json:"message"`
	SetupAt time.Time `json:"setupAt"`
}

type SignInRequest

type SignInRequest struct {
	RedirectUrl string   `json:"redirectUrl"`
	Scopes      []string `json:"scopes"`
	Provider    string   `json:"provider"`
}

type SignInResponse

type SignInResponse struct {
	Session interface{} `json:"session"`
	Token   string      `json:"token"`
	User    interface{} `json:"user"`
}

type SignOutResponse

type SignOutResponse struct {
	Success bool `json:"success"`
}

type SignUpRequest

type SignUpRequest struct {
	Username string `json:"username"`
	Password string `json:"password"`
}

type SignUpResponse

type SignUpResponse struct {
	Message string `json:"message"`
	Status  string `json:"status"`
}

type SocialAccount

type SocialAccount struct{}

Placeholder types for undefined/missing types

type StartImpersonationRequest

type StartImpersonationRequest struct {
	Reason           string `json:"reason"`
	Target_user_id   string `json:"target_user_id"`
	Ticket_number    string `json:"ticket_number"`
	Duration_minutes int    `json:"duration_minutes"`
}

type StartImpersonationResponse

type StartImpersonationResponse struct {
	Impersonator_id string `json:"impersonator_id"`
	Session_id      string `json:"session_id"`
	Started_at      string `json:"started_at"`
	Target_user_id  string `json:"target_user_id"`
}

type StartRecoveryRequest

type StartRecoveryRequest struct {
	UserId          string         `json:"userId"`
	DeviceId        string         `json:"deviceId"`
	Email           string         `json:"email"`
	PreferredMethod RecoveryMethod `json:"preferredMethod"`
}

type StartRecoveryResponse

type StartRecoveryResponse struct {
	RiskScore        float64          `json:"riskScore"`
	SessionId        xid.ID           `json:"sessionId"`
	Status           RecoveryStatus   `json:"status"`
	AvailableMethods []RecoveryMethod `json:"availableMethods"`
	CompletedSteps   int              `json:"completedSteps"`
	ExpiresAt        time.Time        `json:"expiresAt"`
	RequiredSteps    int              `json:"requiredSteps"`
	RequiresReview   bool             `json:"requiresReview"`
}

type StartVideoSessionRequest

type StartVideoSessionRequest struct {
	VideoSessionId xid.ID `json:"videoSessionId"`
}

type StartVideoSessionResponse

type StartVideoSessionResponse struct {
	Message        string    `json:"message"`
	SessionUrl     string    `json:"sessionUrl"`
	StartedAt      time.Time `json:"startedAt"`
	VideoSessionId xid.ID    `json:"videoSessionId"`
	ExpiresAt      time.Time `json:"expiresAt"`
}

type StateStorageConfig

type StateStorageConfig struct {
	RedisAddr     string        `json:"redisAddr"`
	RedisDb       int           `json:"redisDb"`
	RedisPassword string        `json:"redisPassword"`
	StateTtl      time.Duration `json:"stateTtl"`
	UseRedis      bool          `json:"useRedis"`
}

type StateStore

type StateStore struct {
}

type StatsResponse

type StatsResponse struct {
	Active_sessions int    `json:"active_sessions"`
	Active_users    int    `json:"active_users"`
	Banned_users    int    `json:"banned_users"`
	Timestamp       string `json:"timestamp"`
	Total_sessions  int    `json:"total_sessions"`
	Total_users     int    `json:"total_users"`
}

type Status

type Status struct {
}

type StatusResponse

type StatusResponse struct {
	Status string `json:"status"`
}

StatusResponse represents Status response

type StepUpAttempt

type StepUpAttempt struct {
	Failure_reason string             `json:"failure_reason"`
	Org_id         string             `json:"org_id"`
	Requirement_id string             `json:"requirement_id"`
	Success        bool               `json:"success"`
	User_agent     string             `json:"user_agent"`
	User_id        string             `json:"user_id"`
	Created_at     time.Time          `json:"created_at"`
	Id             string             `json:"id"`
	Ip             string             `json:"ip"`
	Method         VerificationMethod `json:"method"`
}

type StepUpAuditLog

type StepUpAuditLog struct {
	User_agent string      `json:"user_agent"`
	Event_data interface{} `json:"event_data"`
	Event_type string      `json:"event_type"`
	Org_id     string      `json:"org_id"`
	User_id    string      `json:"user_id"`
	Created_at time.Time   `json:"created_at"`
	Id         string      `json:"id"`
	Ip         string      `json:"ip"`
	Severity   string      `json:"severity"`
}

type StepUpAuditLogsResponse

type StepUpAuditLogsResponse struct {
	Audit_logs []*interface{} `json:"audit_logs"`
}

type StepUpDevicesResponse

type StepUpDevicesResponse struct {
	Count   int         `json:"count"`
	Devices interface{} `json:"devices"`
}

type StepUpErrorResponse

type StepUpErrorResponse struct {
	Error string `json:"error"`
}

type StepUpEvaluationResponse

type StepUpEvaluationResponse struct {
	Required bool   `json:"required"`
	Reason   string `json:"reason"`
}

type StepUpPoliciesResponse

type StepUpPoliciesResponse struct {
	Policies []*interface{} `json:"policies"`
}

type StepUpPolicy

type StepUpPolicy struct {
	Id          string      `json:"id"`
	User_id     string      `json:"user_id"`
	Created_at  time.Time   `json:"created_at"`
	Description string      `json:"description"`
	Metadata    interface{} `json:"metadata"`
	Name        string      `json:"name"`
	Org_id      string      `json:"org_id"`
	Priority    int         `json:"priority"`
	Rules       interface{} `json:"rules"`
	Updated_at  time.Time   `json:"updated_at"`
	Enabled     bool        `json:"enabled"`
}

type StepUpPolicyResponse

type StepUpPolicyResponse struct {
	Id string `json:"id"`
}

type StepUpRememberedDevice

type StepUpRememberedDevice struct {
	Security_level SecurityLevel `json:"security_level"`
	User_agent     string        `json:"user_agent"`
	Device_id      string        `json:"device_id"`
	Device_name    string        `json:"device_name"`
	Expires_at     time.Time     `json:"expires_at"`
	Id             string        `json:"id"`
	Ip             string        `json:"ip"`
	Org_id         string        `json:"org_id"`
	Remembered_at  time.Time     `json:"remembered_at"`
	User_id        string        `json:"user_id"`
	Created_at     time.Time     `json:"created_at"`
	Last_used_at   time.Time     `json:"last_used_at"`
}

type StepUpRequirement

type StepUpRequirement struct {
	User_agent      string        `json:"user_agent"`
	Amount          float64       `json:"amount"`
	Fulfilled_at    Time          `json:"fulfilled_at"`
	Challenge_token string        `json:"challenge_token"`
	Current_level   SecurityLevel `json:"current_level"`
	Expires_at      time.Time     `json:"expires_at"`
	Ip              string        `json:"ip"`
	Metadata        interface{}   `json:"metadata"`
	Resource_type   string        `json:"resource_type"`
	User_id         string        `json:"user_id"`
	Created_at      time.Time     `json:"created_at"`
	Currency        string        `json:"currency"`
	Id              string        `json:"id"`
	Org_id          string        `json:"org_id"`
	Required_level  SecurityLevel `json:"required_level"`
	Risk_score      float64       `json:"risk_score"`
	Route           string        `json:"route"`
	Rule_name       string        `json:"rule_name"`
	Method          string        `json:"method"`
	Reason          string        `json:"reason"`
	Resource_action string        `json:"resource_action"`
	Session_id      string        `json:"session_id"`
	Status          string        `json:"status"`
}

type StepUpRequirementResponse

type StepUpRequirementResponse struct {
	Id string `json:"id"`
}

type StepUpRequirementsResponse

type StepUpRequirementsResponse struct {
	Requirements []*interface{} `json:"requirements"`
}

type StepUpStatusResponse

type StepUpStatusResponse struct {
	Status string `json:"status"`
}

type StepUpVerification

type StepUpVerification struct {
	Verified_at    time.Time          `json:"verified_at"`
	Ip             string             `json:"ip"`
	Reason         string             `json:"reason"`
	Security_level SecurityLevel      `json:"security_level"`
	User_id        string             `json:"user_id"`
	Device_id      string             `json:"device_id"`
	Id             string             `json:"id"`
	Metadata       interface{}        `json:"metadata"`
	Method         VerificationMethod `json:"method"`
	Org_id         string             `json:"org_id"`
	Session_id     string             `json:"session_id"`
	Expires_at     time.Time          `json:"expires_at"`
	User_agent     string             `json:"user_agent"`
	Created_at     time.Time          `json:"created_at"`
	Rule_name      string             `json:"rule_name"`
}

type StepUpVerificationResponse

type StepUpVerificationResponse struct {
	Expires_at string `json:"expires_at"`
	Verified   bool   `json:"verified"`
}

type StepUpVerificationsResponse

type StepUpVerificationsResponse struct {
	Verifications []*interface{} `json:"verifications"`
}

type StripeIdentityConfig

type StripeIdentityConfig struct {
	Enabled               bool     `json:"enabled"`
	RequireLiveCapture    bool     `json:"requireLiveCapture"`
	RequireMatchingSelfie bool     `json:"requireMatchingSelfie"`
	ReturnUrl             string   `json:"returnUrl"`
	UseMock               bool     `json:"useMock"`
	WebhookSecret         string   `json:"webhookSecret"`
	AllowedTypes          []string `json:"allowedTypes"`
	ApiKey                string   `json:"apiKey"`
}

type StripeIdentityProvider

type StripeIdentityProvider struct {
}

type SuccessResponse

type SuccessResponse struct {
	Success bool `json:"success"`
}

SuccessResponse represents Success boolean response

type TOTPConfig

type TOTPConfig struct {
	Window_size int    `json:"window_size"`
	Algorithm   string `json:"algorithm"`
	Digits      int    `json:"digits"`
	Enabled     bool   `json:"enabled"`
	Issuer      string `json:"issuer"`
	Period      int    `json:"period"`
}

type TOTPFactorAdapter

type TOTPFactorAdapter struct {
}

type TOTPSecret

type TOTPSecret struct {
}

type Team

type Team struct{}

Placeholder types for undefined/missing types

type TeamHandler

type TeamHandler struct {
}

type TeamsResponse

type TeamsResponse struct {
	Teams Team `json:"teams"`
	Total int  `json:"total"`
}

type TemplateDefault

type TemplateDefault struct {
}

type TemplateEngine

type TemplateEngine struct {
}

type TemplateResponse

type TemplateResponse struct {
	Category    string            `json:"category"`
	Description string            `json:"description"`
	Examples    []string          `json:"examples"`
	Expression  string            `json:"expression"`
	Id          string            `json:"id"`
	Name        string            `json:"name"`
	Parameters  TemplateParameter `json:"parameters"`
}

type TemplateService

type TemplateService struct {
}

type TemplatesListResponse

type TemplatesListResponse struct {
	TotalCount int                 `json:"totalCount"`
	Categories []string            `json:"categories"`
	Templates  []*TemplateResponse `json:"templates"`
}

type TemplatesResponse

type TemplatesResponse struct {
	Count     int         `json:"count"`
	Templates interface{} `json:"templates"`
}

type TestCase

type TestCase struct {
	Action    string      `json:"action"`
	Expected  bool        `json:"expected"`
	Name      string      `json:"name"`
	Principal interface{} `json:"principal"`
	Request   interface{} `json:"request"`
	Resource  interface{} `json:"resource"`
}

type TestCaseResult

type TestCaseResult struct {
	Expected         bool    `json:"expected"`
	Name             string  `json:"name"`
	Passed           bool    `json:"passed"`
	Actual           bool    `json:"actual"`
	Error            string  `json:"error"`
	EvaluationTimeMs float64 `json:"evaluationTimeMs"`
}

type TestPolicyRequest

type TestPolicyRequest struct {
	Expression   string     `json:"expression"`
	ResourceType string     `json:"resourceType"`
	TestCases    []TestCase `json:"testCases"`
	Actions      []string   `json:"actions"`
}

type TestPolicyResponse

type TestPolicyResponse struct {
	FailedCount int              `json:"failedCount"`
	Passed      bool             `json:"passed"`
	PassedCount int              `json:"passedCount"`
	Results     []TestCaseResult `json:"results"`
	Total       int              `json:"total"`
	Error       string           `json:"error"`
}

type TestProvider_req

type TestProvider_req struct {
	ProviderName  string `json:"providerName"`
	ProviderType  string `json:"providerType"`
	TestRecipient string `json:"testRecipient"`
}

type TestSendTemplate_req

type TestSendTemplate_req struct {
	Recipient string      `json:"recipient"`
	Variables interface{} `json:"variables"`
}

type Time

type Time = time.Time

Placeholder types for undefined/missing types

type TimeBasedRule

type TimeBasedRule struct {
	Operation      string        `json:"operation"`
	Org_id         string        `json:"org_id"`
	Security_level SecurityLevel `json:"security_level"`
	Description    string        `json:"description"`
	Max_age        time.Duration `json:"max_age"`
}

type TokenIntrospectionRequest

type TokenIntrospectionRequest struct {
	Client_secret   string `json:"client_secret"`
	Token           string `json:"token"`
	Token_type_hint string `json:"token_type_hint"`
	Client_id       string `json:"client_id"`
}

type TokenIntrospectionResponse

type TokenIntrospectionResponse struct {
	Client_id  string   `json:"client_id"`
	Exp        int64    `json:"exp"`
	Iat        int64    `json:"iat"`
	Scope      string   `json:"scope"`
	Token_type string   `json:"token_type"`
	Iss        string   `json:"iss"`
	Jti        string   `json:"jti"`
	Nbf        int64    `json:"nbf"`
	Sub        string   `json:"sub"`
	Username   string   `json:"username"`
	Active     bool     `json:"active"`
	Aud        []string `json:"aud"`
}

type TokenRequest

type TokenRequest struct {
	Audience      string `json:"audience"`
	Client_id     string `json:"client_id"`
	Code_verifier string `json:"code_verifier"`
	Grant_type    string `json:"grant_type"`
	Scope         string `json:"scope"`
	Client_secret string `json:"client_secret"`
	Code          string `json:"code"`
	Redirect_uri  string `json:"redirect_uri"`
	Refresh_token string `json:"refresh_token"`
}

type TokenResponse

type TokenResponse struct {
	Token_type    string `json:"token_type"`
	Access_token  string `json:"access_token"`
	Expires_in    int    `json:"expires_in"`
	Id_token      string `json:"id_token"`
	Refresh_token string `json:"refresh_token"`
	Scope         string `json:"scope"`
}

type TokenRevocationRequest

type TokenRevocationRequest struct {
	Client_id       string `json:"client_id"`
	Client_secret   string `json:"client_secret"`
	Token           string `json:"token"`
	Token_type_hint string `json:"token_type_hint"`
}

type TrackNotificationEvent_req

type TrackNotificationEvent_req struct {
	Event          string       `json:"event"`
	EventData      *interface{} `json:"eventData,omitempty"`
	NotificationId string       `json:"notificationId"`
	OrganizationId *string      `json:"organizationId,omitempty"`
	TemplateId     string       `json:"templateId"`
}

type TrustDeviceRequest

type TrustDeviceRequest struct {
	DeviceId string      `json:"deviceId"`
	Metadata interface{} `json:"metadata"`
	Name     string      `json:"name"`
}

type TrustedContact

type TrustedContact struct {
}

type TrustedContactInfo

type TrustedContactInfo struct {
	Active       bool   `json:"active"`
	Email        string `json:"email"`
	Id           xid.ID `json:"id"`
	Name         string `json:"name"`
	Phone        string `json:"phone"`
	Relationship string `json:"relationship"`
	Verified     bool   `json:"verified"`
	VerifiedAt   Time   `json:"verifiedAt"`
}

type TrustedContactsConfig

type TrustedContactsConfig struct {
	AllowEmailContacts     bool          `json:"allowEmailContacts"`
	AllowPhoneContacts     bool          `json:"allowPhoneContacts"`
	Enabled                bool          `json:"enabled"`
	MaxNotificationsPerDay int           `json:"maxNotificationsPerDay"`
	MaximumContacts        int           `json:"maximumContacts"`
	MinimumContacts        int           `json:"minimumContacts"`
	VerificationExpiry     time.Duration `json:"verificationExpiry"`
	CooldownPeriod         time.Duration `json:"cooldownPeriod"`
	RequireVerification    bool          `json:"requireVerification"`
	RequiredToRecover      int           `json:"requiredToRecover"`
}

type TrustedDevice

type TrustedDevice struct {
	Metadata   interface{} `json:"metadata"`
	UserAgent  string      `json:"userAgent"`
	UserId     xid.ID      `json:"userId"`
	CreatedAt  time.Time   `json:"createdAt"`
	DeviceId   string      `json:"deviceId"`
	ExpiresAt  time.Time   `json:"expiresAt"`
	Id         xid.ID      `json:"id"`
	IpAddress  string      `json:"ipAddress"`
	Name       string      `json:"name"`
	LastUsedAt Time        `json:"lastUsedAt"`
}

type TrustedDevicesConfig

type TrustedDevicesConfig struct {
	Default_expiry_days  int  `json:"default_expiry_days"`
	Enabled              bool `json:"enabled"`
	Max_devices_per_user int  `json:"max_devices_per_user"`
	Max_expiry_days      int  `json:"max_expiry_days"`
}

type TwoFABackupCodesResponse

type TwoFABackupCodesResponse struct {
	Codes []string `json:"codes"`
}

type TwoFAEnableResponse

type TwoFAEnableResponse struct {
	Status   string `json:"status"`
	Totp_uri string `json:"totp_uri"`
}

type TwoFAErrorResponse

type TwoFAErrorResponse struct {
	Error string `json:"error"`
}

type TwoFARequiredResponse

type TwoFARequiredResponse struct {
	Device_id     string `json:"device_id"`
	Require_twofa bool   `json:"require_twofa"`
	User          User   `json:"user"`
}

type TwoFASendOTPResponse

type TwoFASendOTPResponse struct {
	Code   string `json:"code"`
	Status string `json:"status"`
}

type TwoFAStatusDetailResponse

type TwoFAStatusDetailResponse struct {
	Enabled bool   `json:"enabled"`
	Method  string `json:"method"`
	Trusted bool   `json:"trusted"`
}

type TwoFAStatusResponse

type TwoFAStatusResponse struct {
	Enabled bool   `json:"enabled"`
	Method  string `json:"method"`
	Trusted bool   `json:"trusted"`
}

type UnassignRoleRequest

type UnassignRoleRequest struct {
}

type UnbanUserRequest

type UnbanUserRequest struct {
	Reason               string `json:"reason"`
	User_id              xid.ID `json:"user_id"`
	User_organization_id ID     `json:"user_organization_id"`
	App_id               xid.ID `json:"app_id"`
}

type UnbanUserRequestDTO

type UnbanUserRequestDTO struct {
	Reason string `json:"reason"`
}

type UnblockUserRequest

type UnblockUserRequest struct {
}

type UnpublishContentTypeRequest

type UnpublishContentTypeRequest struct {
}

type UnpublishEntryRequest

type UnpublishEntryRequest struct {
}

type UpdateAPIKeyRequest

type UpdateAPIKeyRequest struct {
	Metadata    interface{} `json:"metadata"`
	Name        *string     `json:"name"`
	Permissions interface{} `json:"permissions"`
	Rate_limit  *int        `json:"rate_limit"`
	Scopes      []string    `json:"scopes"`
	Allowed_ips []string    `json:"allowed_ips"`
	Description *string     `json:"description"`
}

type UpdateAppRequest

type UpdateAppRequest struct {
}

type UpdateClientRequest

type UpdateClientRequest struct {
	Require_consent            *bool    `json:"require_consent"`
	Response_types             []string `json:"response_types"`
	Trusted_client             *bool    `json:"trusted_client"`
	Allowed_scopes             []string `json:"allowed_scopes"`
	Contacts                   []string `json:"contacts"`
	Name                       string   `json:"name"`
	Require_pkce               *bool    `json:"require_pkce"`
	Token_endpoint_auth_method string   `json:"token_endpoint_auth_method"`
	Tos_uri                    string   `json:"tos_uri"`
	Grant_types                []string `json:"grant_types"`
	Logo_uri                   string   `json:"logo_uri"`
	Policy_uri                 string   `json:"policy_uri"`
	Post_logout_redirect_uris  []string `json:"post_logout_redirect_uris"`
	Redirect_uris              []string `json:"redirect_uris"`
}

type UpdateClientResponse

type UpdateClientResponse struct {
	Contacts                []string `json:"contacts"`
	CreatedAt               string   `json:"createdAt"`
	LogoURI                 string   `json:"logoURI"`
	PostLogoutRedirectURIs  []string `json:"postLogoutRedirectURIs"`
	RequirePKCE             bool     `json:"requirePKCE"`
	UpdatedAt               string   `json:"updatedAt"`
	ApplicationType         string   `json:"applicationType"`
	Name                    string   `json:"name"`
	PolicyURI               string   `json:"policyURI"`
	RequireConsent          bool     `json:"requireConsent"`
	TokenEndpointAuthMethod string   `json:"tokenEndpointAuthMethod"`
	TosURI                  string   `json:"tosURI"`
	TrustedClient           bool     `json:"trustedClient"`
	AllowedScopes           []string `json:"allowedScopes"`
	ClientID                string   `json:"clientID"`
	GrantTypes              []string `json:"grantTypes"`
	OrganizationID          string   `json:"organizationID"`
	RedirectURIs            []string `json:"redirectURIs"`
	ResponseTypes           []string `json:"responseTypes"`
	IsOrgLevel              bool     `json:"isOrgLevel"`
}

type UpdateConsentRequest

type UpdateConsentRequest struct {
	Granted  *bool       `json:"granted"`
	Metadata interface{} `json:"metadata"`
	Reason   string      `json:"reason"`
}

type UpdateConsentResponse

type UpdateConsentResponse struct {
	Id string `json:"id"`
}

type UpdateContentTypeRequest

type UpdateContentTypeRequest struct {
}

type UpdateEntryRequest

type UpdateEntryRequest struct {
}

type UpdateFactorRequest

type UpdateFactorRequest struct {
	Metadata interface{}     `json:"metadata"`
	Name     *string         `json:"name"`
	Priority *FactorPriority `json:"priority"`
	Status   *FactorStatus   `json:"status"`
}

type UpdateFieldRequest

type UpdateFieldRequest struct {
}

type UpdateMemberHandlerRequest

type UpdateMemberHandlerRequest struct {
}

type UpdateMemberRequest

type UpdateMemberRequest struct {
	Role string `json:"role"`
}

type UpdateMemberRoleRequest

type UpdateMemberRoleRequest struct {
	Role string `json:"role"`
}

type UpdateNamespaceRequest

type UpdateNamespaceRequest struct {
	InheritPlatform *bool  `json:"inheritPlatform"`
	Name            string `json:"name"`
	Description     string `json:"description"`
}

type UpdateOrganizationHandlerRequest

type UpdateOrganizationHandlerRequest struct {
}

type UpdatePasskeyRequest

type UpdatePasskeyRequest struct {
	Name string `json:"name"`
}

type UpdatePasskeyResponse

type UpdatePasskeyResponse struct {
	Name      string    `json:"name"`
	PasskeyId string    `json:"passkeyId"`
	UpdatedAt time.Time `json:"updatedAt"`
}

type UpdatePolicyRequest

type UpdatePolicyRequest struct {
	ValidityPeriod *int        `json:"validityPeriod"`
	Active         *bool       `json:"active"`
	Content        string      `json:"content"`
	Description    string      `json:"description"`
	Metadata       interface{} `json:"metadata"`
	Name           string      `json:"name"`
	Renewable      *bool       `json:"renewable"`
	Required       *bool       `json:"required"`
}

type UpdatePolicyResponse

type UpdatePolicyResponse struct {
	Id string `json:"id"`
}

type UpdatePolicy_req

type UpdatePolicy_req struct {
	Content *string `json:"content"`
	Status  *string `json:"status"`
	Title   *string `json:"title"`
	Version *string `json:"version"`
}

type UpdatePrivacySettingsRequest

type UpdatePrivacySettingsRequest struct {
	ContactPhone                    string   `json:"contactPhone"`
	CookieConsentStyle              string   `json:"cookieConsentStyle"`
	AutoDeleteAfterDays             *int     `json:"autoDeleteAfterDays"`
	ContactEmail                    string   `json:"contactEmail"`
	CcpaMode                        *bool    `json:"ccpaMode"`
	ConsentRequired                 *bool    `json:"consentRequired"`
	CookieConsentEnabled            *bool    `json:"cookieConsentEnabled"`
	DataExportExpiryHours           *int     `json:"dataExportExpiryHours"`
	DataRetentionDays               *int     `json:"dataRetentionDays"`
	RequireAdminApprovalForDeletion *bool    `json:"requireAdminApprovalForDeletion"`
	RequireExplicitConsent          *bool    `json:"requireExplicitConsent"`
	AnonymousConsentEnabled         *bool    `json:"anonymousConsentEnabled"`
	DpoEmail                        string   `json:"dpoEmail"`
	GdprMode                        *bool    `json:"gdprMode"`
	DeletionGracePeriodDays         *int     `json:"deletionGracePeriodDays"`
	ExportFormat                    []string `json:"exportFormat"`
	AllowDataPortability            *bool    `json:"allowDataPortability"`
}

type UpdatePrivacySettingsResponse

type UpdatePrivacySettingsResponse struct {
	Settings interface{} `json:"settings"`
}

type UpdateProfileRequest

type UpdateProfileRequest struct {
	MfaRequired   *bool   `json:"mfaRequired"`
	Name          *string `json:"name"`
	RetentionDays *int    `json:"retentionDays"`
	Status        *string `json:"status"`
}

type UpdateProfileResponse

type UpdateProfileResponse struct {
	Id string `json:"id"`
}

type UpdateProviderRequest

type UpdateProviderRequest struct {
}

type UpdateProvider_req

type UpdateProvider_req struct {
	Config    interface{} `json:"config"`
	IsActive  bool        `json:"isActive"`
	IsDefault bool        `json:"isDefault"`
}

type UpdateRecoveryConfigRequest

type UpdateRecoveryConfigRequest struct {
	RiskScoreThreshold   float64          `json:"riskScoreThreshold"`
	EnabledMethods       []RecoveryMethod `json:"enabledMethods"`
	MinimumStepsRequired int              `json:"minimumStepsRequired"`
	RequireAdminReview   bool             `json:"requireAdminReview"`
	RequireMultipleSteps bool             `json:"requireMultipleSteps"`
}

type UpdateRecoveryConfigResponse

type UpdateRecoveryConfigResponse struct {
	Config interface{} `json:"config"`
}

type UpdateRequest

type UpdateRequest struct {
	Description string      `json:"description"`
	Metadata    interface{} `json:"metadata"`
	Tags        []string    `json:"tags"`
	Value       interface{} `json:"value"`
}

type UpdateResponse

type UpdateResponse struct {
	Webhook Webhook `json:"webhook"`
}

type UpdateSecretRequest

type UpdateSecretRequest struct {
	Description string      `json:"description"`
	Metadata    interface{} `json:"metadata"`
	Tags        []string    `json:"tags"`
	Value       interface{} `json:"value"`
}

type UpdateTeamHandlerRequest

type UpdateTeamHandlerRequest struct {
}

type UpdateTeamRequest

type UpdateTeamRequest struct {
	Description string `json:"description"`
	Name        string `json:"name"`
}

type UpdateTemplateRequest

type UpdateTemplateRequest struct {
}

type UpdateTemplateResponse

type UpdateTemplateResponse struct {
	Template interface{} `json:"template"`
}

type UpdateUserRequest

type UpdateUserRequest struct {
	Name  *string `json:"name,omitempty"`
	Email *string `json:"email,omitempty"`
}

type UpdateUserResponse

type UpdateUserResponse struct {
	User User `json:"user"`
}

type UploadDocumentRequest

type UploadDocumentRequest struct {
	BackImage    string `json:"backImage"`
	DocumentType string `json:"documentType"`
	FrontImage   string `json:"frontImage"`
	Selfie       string `json:"selfie"`
	SessionId    xid.ID `json:"sessionId"`
}

type UploadDocumentResponse

type UploadDocumentResponse struct {
	DocumentId     xid.ID    `json:"documentId"`
	Message        string    `json:"message"`
	ProcessingTime string    `json:"processingTime"`
	Status         string    `json:"status"`
	UploadedAt     time.Time `json:"uploadedAt"`
}

type User

type User struct {
	CreatedAt      string  `json:"createdAt"`
	UpdatedAt      string  `json:"updatedAt"`
	OrganizationId *string `json:"organizationId,omitempty"`
	Id             string  `json:"id"`
	Email          string  `json:"email"`
	Name           *string `json:"name,omitempty"`
	EmailVerified  bool    `json:"emailVerified"`
}

User represents User account

type UserAdapter

type UserAdapter struct {
}

type UserInfoResponse

type UserInfoResponse struct {
	Phone_number_verified bool   `json:"phone_number_verified"`
	Picture               string `json:"picture"`
	Email                 string `json:"email"`
	Family_name           string `json:"family_name"`
	Given_name            string `json:"given_name"`
	Phone_number          string `json:"phone_number"`
	Updated_at            int64  `json:"updated_at"`
	Email_verified        bool   `json:"email_verified"`
	Middle_name           string `json:"middle_name"`
	Sub                   string `json:"sub"`
	Birthdate             string `json:"birthdate"`
	Gender                string `json:"gender"`
	Locale                string `json:"locale"`
	Nickname              string `json:"nickname"`
	Profile               string `json:"profile"`
	Zoneinfo              string `json:"zoneinfo"`
	Name                  string `json:"name"`
	Preferred_username    string `json:"preferred_username"`
	Website               string `json:"website"`
}

type UserServiceAdapter

type UserServiceAdapter struct {
}

type UserVerificationStatus

type UserVerificationStatus = string

Placeholder types for undefined/missing types

type UserVerificationStatusResponse

type UserVerificationStatusResponse struct {
	Status UserVerificationStatus `json:"status"`
}

type ValidateContentTypeRequest

type ValidateContentTypeRequest struct {
}

type ValidatePolicyRequest

type ValidatePolicyRequest struct {
	ResourceType string `json:"resourceType"`
	Expression   string `json:"expression"`
}

type ValidatePolicyResponse

type ValidatePolicyResponse struct {
	Message    string   `json:"message"`
	Valid      bool     `json:"valid"`
	Warnings   []string `json:"warnings"`
	Complexity int      `json:"complexity"`
	Error      string   `json:"error"`
	Errors     []string `json:"errors"`
}

type ValidateResetTokenResponse

type ValidateResetTokenResponse struct {
	Valid bool `json:"valid"`
}

type VerificationListResponse

type VerificationListResponse struct {
	Limit         int                  `json:"limit"`
	Offset        int                  `json:"offset"`
	Total         int                  `json:"total"`
	Verifications IdentityVerification `json:"verifications"`
}

type VerificationMethod

type VerificationMethod = string

Placeholder type aliases for undefined enum/custom types

type VerificationRepository

type VerificationRepository struct {
}

type VerificationRequest

type VerificationRequest struct {
	FactorId       xid.ID      `json:"factorId"`
	RememberDevice bool        `json:"rememberDevice"`
	ChallengeId    xid.ID      `json:"challengeId"`
	Code           string      `json:"code"`
	Data           interface{} `json:"data"`
	DeviceInfo     *DeviceInfo `json:"deviceInfo"`
}

type VerificationResponse

type VerificationResponse struct {
	Verification IdentityVerification `json:"verification"`
}

type VerificationResult

type VerificationResult struct {
}

type VerificationSessionResponse

type VerificationSessionResponse struct {
	Session IdentityVerificationSession `json:"session"`
}

type VerificationsResponse

type VerificationsResponse struct {
	Count         int         `json:"count"`
	Verifications interface{} `json:"verifications"`
}

type VerifyAPIKeyRequest

type VerifyAPIKeyRequest struct {
	Key string `json:"key"`
}

type VerifyChallengeRequest

type VerifyChallengeRequest struct {
	ChallengeId    xid.ID      `json:"challengeId"`
	Code           string      `json:"code"`
	Data           interface{} `json:"data"`
	DeviceInfo     *DeviceInfo `json:"deviceInfo"`
	FactorId       xid.ID      `json:"factorId"`
	RememberDevice bool        `json:"rememberDevice"`
}

type VerifyChallengeResponse

type VerifyChallengeResponse struct {
	FactorsRemaining int    `json:"factorsRemaining"`
	SessionComplete  bool   `json:"sessionComplete"`
	Success          bool   `json:"success"`
	Token            string `json:"token"`
	ExpiresAt        Time   `json:"expiresAt"`
}

type VerifyCodeRequest

type VerifyCodeRequest struct {
	Code      string `json:"code"`
	SessionId xid.ID `json:"sessionId"`
}

type VerifyCodeResponse

type VerifyCodeResponse struct {
	AttemptsLeft int    `json:"attemptsLeft"`
	Message      string `json:"message"`
	Valid        bool   `json:"valid"`
}

type VerifyEnrolledFactorRequest

type VerifyEnrolledFactorRequest struct {
	Code string      `json:"code"`
	Data interface{} `json:"data"`
}

type VerifyImpersonationRequest

type VerifyImpersonationRequest struct {
}

type VerifyImpersonationResponse

type VerifyImpersonationResponse struct {
	Impersonator_id  string `json:"impersonator_id"`
	Is_impersonating bool   `json:"is_impersonating"`
	Target_user_id   string `json:"target_user_id"`
}

type VerifyRecoveryCodeRequest

type VerifyRecoveryCodeRequest struct {
	Code      string `json:"code"`
	SessionId xid.ID `json:"sessionId"`
}

type VerifyRecoveryCodeResponse

type VerifyRecoveryCodeResponse struct {
	Message        string `json:"message"`
	RemainingCodes int    `json:"remainingCodes"`
	Valid          bool   `json:"valid"`
}

type VerifyRequest

type VerifyRequest struct {
}

type VerifyRequest2FA

type VerifyRequest2FA struct {
	Code            string `json:"code"`
	Device_id       string `json:"device_id"`
	Remember_device bool   `json:"remember_device"`
	User_id         string `json:"user_id"`
}

type VerifyResponse

type VerifyResponse struct {
	Session Session `json:"session"`
	Success bool    `json:"success"`
	Token   string  `json:"token"`
	User    User    `json:"user"`
}

type VerifySecurityAnswersRequest

type VerifySecurityAnswersRequest struct {
	Answers   interface{} `json:"answers"`
	SessionId xid.ID      `json:"sessionId"`
}

type VerifySecurityAnswersResponse

type VerifySecurityAnswersResponse struct {
	Valid           bool   `json:"valid"`
	AttemptsLeft    int    `json:"attemptsLeft"`
	CorrectAnswers  int    `json:"correctAnswers"`
	Message         string `json:"message"`
	RequiredAnswers int    `json:"requiredAnswers"`
}

type VerifyTokenRequest

type VerifyTokenRequest struct {
	Token     string   `json:"token"`
	TokenType string   `json:"tokenType"`
	Audience  []string `json:"audience"`
}

type VerifyTrustedContactRequest

type VerifyTrustedContactRequest struct {
	Token string `json:"token"`
}

type VerifyTrustedContactResponse

type VerifyTrustedContactResponse struct {
	ContactId  xid.ID    `json:"contactId"`
	Message    string    `json:"message"`
	Verified   bool      `json:"verified"`
	VerifiedAt time.Time `json:"verifiedAt"`
}

type VersioningConfig

type VersioningConfig struct {
	AutoCleanup     bool          `json:"autoCleanup"`
	CleanupInterval time.Duration `json:"cleanupInterval"`
	MaxVersions     int           `json:"maxVersions"`
	RetentionDays   int           `json:"retentionDays"`
}

type VideoSessionInfo

type VideoSessionInfo struct {
}

type VideoSessionResult

type VideoSessionResult struct {
}

type VideoVerificationConfig

type VideoVerificationConfig struct {
	LivenessThreshold    float64       `json:"livenessThreshold"`
	RequireAdminReview   bool          `json:"requireAdminReview"`
	RequireScheduling    bool          `json:"requireScheduling"`
	SessionDuration      time.Duration `json:"sessionDuration"`
	Enabled              bool          `json:"enabled"`
	MinScheduleAdvance   time.Duration `json:"minScheduleAdvance"`
	Provider             string        `json:"provider"`
	RecordSessions       bool          `json:"recordSessions"`
	RecordingRetention   time.Duration `json:"recordingRetention"`
	RequireLivenessCheck bool          `json:"requireLivenessCheck"`
}

type VideoVerificationSession

type VideoVerificationSession struct {
}

type WebAuthnConfig

type WebAuthnConfig struct {
	Rp_origins              []string    `json:"rp_origins"`
	Timeout                 int         `json:"timeout"`
	Attestation_preference  string      `json:"attestation_preference"`
	Authenticator_selection interface{} `json:"authenticator_selection"`
	Enabled                 bool        `json:"enabled"`
	Rp_display_name         string      `json:"rp_display_name"`
	Rp_id                   string      `json:"rp_id"`
}

type WebAuthnFactorAdapter

type WebAuthnFactorAdapter struct {
}

type WebAuthnWrapper

type WebAuthnWrapper struct {
}

type Webhook

type Webhook struct {
	Secret         string   `json:"secret"`
	Enabled        bool     `json:"enabled"`
	CreatedAt      string   `json:"createdAt"`
	Id             string   `json:"id"`
	OrganizationId string   `json:"organizationId"`
	Url            string   `json:"url"`
	Events         []string `json:"events"`
}

Webhook represents Webhook configuration

type WebhookConfig

type WebhookConfig struct {
	Notify_on_created    bool     `json:"notify_on_created"`
	Notify_on_deleted    bool     `json:"notify_on_deleted"`
	Notify_on_expiring   bool     `json:"notify_on_expiring"`
	Notify_on_rate_limit bool     `json:"notify_on_rate_limit"`
	Notify_on_rotated    bool     `json:"notify_on_rotated"`
	Webhook_urls         []string `json:"webhook_urls"`
	Enabled              bool     `json:"enabled"`
	Expiry_warning_days  int      `json:"expiry_warning_days"`
}

type WebhookPayload

type WebhookPayload struct {
}

type WebhookResponse

type WebhookResponse struct {
	Received bool   `json:"received"`
	Status   string `json:"status"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL