openapi

package
v1.0.9 Latest Latest
Warning

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

Go to latest
Published: Feb 16, 2026 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Overview

Package openapi provides http request and response structs

Index

Constants

View Source
const (
	// MinImpersonationReasonLength is the minimum length for impersonation reason
	MinImpersonationReasonLength = 10
	// MaxImpersonationReasonLength is the maximum length for impersonation reason
	MaxImpersonationReasonLength = 500
)

Variables

View Source
var ExampleAccountAccessReply = AccountAccessReply{
	Reply:   rout.Reply{Success: true},
	Allowed: true,
}

ExampleAccountAccessReply is an example of a successful `/account/access` response for OpenAPI documentation

View Source
var ExampleAccountAccessRequest = AccountAccessRequest{
	Relation:   "can_view",
	ObjectType: "organization",
	ObjectID:   "01J4EXD5MM60CX4YNYN0DEE3Y1",
}

ExampleAccountAccessRequest is an example of a successful `/account/access` request for OpenAPI documentation

View Source
var ExampleAccountFeaturesReply = AccountFeaturesReply{
	Reply: rout.Reply{Success: true},
	Features: []string{
		"policy-and-procedure-module",
		"centralized-audit-documentation",
		"risk-management",
		"compliance-module",
	},
	OrganizationID: "01J4HMNDSZCCQBTY93BF9CBF5D",
}

ExampleAccountFeaturesReply is an example of a successful `/account/features` response for OpenAPI documentation

View Source
var ExampleAccountFeaturesRequest = AccountFeaturesRequest{
	ID: "01J4HMNDSZCCQBTY93BF9CBF5D",
}

ExampleAccountFeaturesRequest is an example of a successful `/account/features` request for OpenAPI documentation

View Source
var ExampleAccountRolesOrganizationReply = AccountRolesOrganizationReply{
	Reply:          rout.Reply{Success: true},
	Roles:          []string{"can_view", "can_edit", "audit_log_viewer"},
	OrganizationID: "01J4HMNDSZCCQBTY93BF9CBF5D",
}

ExampleAccountRolesOrganizationReply is an example of a successful `/account/roles/organization` response for OpenAPI documentation

View Source
var ExampleAccountRolesOrganizationRequest = AccountRolesOrganizationRequest{
	ID: "01J4HMNDSZCCQBTY93BF9CBF5D",
}

ExampleAccountRolesOrganizationRequest is an example of a successful `/account/roles/organization` request for OpenAPI documentation

View Source
var ExampleAccountRolesReply = AccountRolesReply{
	Reply: rout.Reply{Success: true},
	Roles: []string{"can_view", "can_edit", "audit_log_viewer"},
}

ExampleAccountRolesReply is an example of a successful `/account/roles` response for OpenAPI documentation

View Source
var ExampleAccountRolesRequest = AccountRolesRequest{
	ObjectType: "organization",
	ObjectID:   "01J4EXD5MM60CX4YNYN0DEE3Y1",
}

ExampleAccountRolesRequest is an example of a successful `/account/roles` request for OpenAPI documentation

View Source
var ExampleAcmeSolverRequest = AcmeSolverRequest{
	Path: "01J4HMNDSZCCQBTY93BF9CBF5D",
}

ExampleAcmeSolverRequest is an example ACME solver request for OpenAPI documentation

View Source
var ExampleAvailableAuthTypeRequest = LoginRequest{
	Username: "sfunky@theopenlane.io",
}

ExampleAvailableAuthTypeRequest is an example of a successful available auth type check for OpenAPI documentation

View Source
var ExampleAvailableAuthTypeSuccessResponse = AvailableAuthTypeReply{
	Reply: rout.Reply{
		Success: true,
	},
	Methods: []enums.AuthProvider{
		enums.AuthProviderCredentials,
		enums.AuthProviderWebauthn,
	},
}

ExampleAvailableAuthTypeSuccessResponse is an example of a successful available auth methods check response for OpenAPI documentation

View Source
var ExampleCreateTrustCenterAnonymousJWTResponse = CreateTrustCenterAnonymousJWTResponse{
	AuthData: AuthData{
		AccessToken:  "access_token_here",
		RefreshToken: "refresh_token_here",
	},
}

ExampleCreateTrustCenterAnonymousJWTResponse is an example trust center anonymous JWT response for OpenAPI documentation

View Source
var ExampleDisconnectIntegrationRequest = DisconnectIntegrationRequest{
	Provider: "github",
}

ExampleDisconnectIntegrationRequest provides an example disconnect request for OpenAPI documentation

View Source
var ExampleEndImpersonationReply = EndImpersonationReply{
	Reply:   rout.Reply{Success: true},
	Message: "Impersonation session ended successfully",
}

ExampleEndImpersonationReply is an example response for OpenAPI documentation

View Source
var ExampleEndImpersonationRequest = EndImpersonationRequest{
	SessionID: exampleULID("session"),
	Reason:    "Support task completed",
}

ExampleEndImpersonationRequest is an example request for OpenAPI documentation

View Source
var ExampleExampleCSVRequest = ExampleCSVRequest{
	Filename: "actionplan",
}

ExampleLoginSuccessRequest is an example of a successful tfa validation request for OpenAPI documentation

View Source
var ExampleFileDownloadRequest = FileDownload{
	Token: "token",
}

ExampleVerifySuccessRequest is an example of a successful verify request for OpenAPI documentation

View Source
var ExampleForgotPasswordSuccessRequest = ForgotPasswordRequest{
	Email: "example@theopenlane.io",
}

ExampleForgotPasswordSuccessRequest is an example of a successful forgot password request for OpenAPI documentation

View Source
var ExampleForgotPasswordSuccessResponse = ForgotPasswordReply{
	Reply: rout.Reply{
		Success: true,
	},
	Message: "We've received your request to have the password associated with this email reset. Please check your email.",
}

ExampleForgotPasswordSuccessResponse is an example of a successful forgot password response for OpenAPI documentation

View Source
var ExampleGetQuestionnaireResponse = GetQuestionnaireResponse{
	Jsonconfig: map[string]any{
		"title":       "Sample Questionnaire",
		"description": "A sample questionnaire template",
	},
}

ExampleGetQuestionnaireResponse is an example questionnaire response for OpenAPI documentation

View Source
var ExampleGitHubAppInstallCallbackRequest = GitHubAppInstallCallbackRequest{
	InstallationID: "12345678",
	SetupAction:    "install",
	State:          "eyJvcmdJRCI6IjAxSE...",
}

ExampleGitHubAppInstallCallbackRequest is an example GitHub App callback request.

View Source
var ExampleGitHubAppInstallCallbackResponse = GitHubAppInstallCallbackResponse{
	Reply:   rout.Reply{Success: true},
	Message: "GitHub App integration connected",
}

ExampleGitHubAppInstallCallbackResponse is an example GitHub App callback response.

View Source
var ExampleGitHubAppInstallRequest = GitHubAppInstallRequest{}

ExampleGitHubAppInstallRequest is an example GitHub App install request.

View Source
var ExampleGitHubAppInstallResponse = GitHubAppInstallResponse{
	Reply:      rout.Reply{Success: true},
	InstallURL: "https://github.com/apps/openlane/installations/new?state=eyJvcmdJRCI6IjAxSE...",
	State:      "eyJvcmdJRCI6IjAxSE...",
}

ExampleGitHubAppInstallResponse is an example GitHub App install response.

View Source
var ExampleIntegrationConfigParams = IntegrationConfigParams{
	Provider: "gcp_scc",
}

ExampleIntegrationConfigParams is an example of the path parameters for integration configuration.

View Source
var ExampleIntegrationConfigPayload = IntegrationConfigPayload{
	IntegrationConfigParams: IntegrationConfigParams{Provider: "gcp_scc"},
	Body: IntegrationConfigRequest{
		ServiceAccountEmail:      "scc-runner@example.iam.gserviceaccount.com",
		Audience:                 "//iam.googleapis.com/projects/123456789/locations/global/workloadIdentityPools/pool/providers/provider",
		ProjectID:                "sample-project",
		OrganizationID:           "1234567890",
		WorkloadIdentityProvider: "projects/123456789/locations/global/workloadIdentityPools/pool/providers/provider",
		Additional: map[string]any{
			"serviceAccountKey": "{ \"type\": \"service_account\", ... }",
		},
	},
}

ExampleIntegrationConfigPayload demonstrates a full integration configuration request.

View Source
var ExampleIntegrationConfigRequest = IntegrationConfigRequest{
	ServiceAccountEmail:      "scc-runner@example.iam.gserviceaccount.com",
	Audience:                 "//iam.googleapis.com/projects/123456789/locations/global/workloadIdentityPools/pool/providers/provider",
	ProjectID:                "sample-project",
	OrganizationID:           "1234567890",
	WorkloadIdentityProvider: "projects/123456789/locations/global/workloadIdentityPools/pool/providers/provider",
}

ExampleIntegrationConfigRequest is an example configuration payload for OpenAPI documentation.

View Source
var ExampleIntegrationOperationPayload = IntegrationOperationPayload{
	IntegrationOperationParams: IntegrationOperationParams{Provider: "gcp_scc"},
	Body: IntegrationOperationRequest{
		Operation: "findings.collect",
		Config: map[string]any{
			"sourceId": "organizations/123/sources/456",
			"filter":   `severity="HIGH"`,
		},
		Force: true,
	},
}

ExampleIntegrationOperationPayload demonstrates a sample operation request.

View Source
var ExampleInviteRequest = InviteRequest{
	Token: "token",
}

ExampleInviteRequest is an example of a successful invite request for OpenAPI documentation

View Source
var ExampleInviteResponse = InviteReply{
	Reply:       rout.Reply{Success: true},
	ID:          "1234",
	Email:       "",
	JoinedOrgID: "1234",
	Role:        "admin",
	Message:     "Welcome to your new organization!",
	AuthData: AuthData{
		AccessToken:  "access_token",
		RefreshToken: "refresh_token",
		Session:      "session",
		TokenType:    "bearer",
	},
}

ExampleInviteResponse is an example of a successful invite response for OpenAPI documentation

View Source
var ExampleJobRunnerRegistrationRequest = JobRunnerRegistrationRequest{
	IPAddress: "192.168.0.1",
	Name:      "ubuntu-eu-west-2",
	Token:     "registration_tokenhere",
	Tags:      []string{"self-hosted", "eu-west-2", "gcp", "kubernetes"},
}

ExampleJobRunnerRegistrationRequest is an example of a successful job runner registration request

View Source
var ExampleJobRunnerRegistrationResponse = JobRunnerRegistrationReply{
	Reply:   rout.Reply{Success: true},
	Message: "Job runner node registered",
}

ExampleJobRunnerRegistrationResponse is an example of a successful job runner registration response

View Source
var ExampleLoginSuccessRequest = LoginRequest{
	Username: "sfunky@theopenlane.io",
	Password: "mitb!",
}

ExampleLoginSuccessRequest is an example of a successful login request for OpenAPI documentation

View Source
var ExampleLoginSuccessResponse = LoginReply{
	Reply: rout.Reply{
		Success: true,
	},
	TFAEnabled: true,
	AuthData: AuthData{
		AccessToken:  "access_token",
		RefreshToken: "refresh_token",
		Session:      "session",
		TokenType:    "bearer",
	},
}

ExampleLoginSuccessResponse is an example of a successful login response for OpenAPI documentation

View Source
var ExampleOAuthCallbackRequest = OAuthCallbackRequest{
	Provider: "github",
	Code:     "4/0AQlEz8xY...",
	State:    "eyJvcmdJRCI6IjAxSE...",
}

ExampleOAuthCallbackRequest is an example OAuth callback request for OpenAPI documentation

View Source
var ExampleOAuthCallbackResponse = OAuthCallbackResponse{
	Reply:   rout.Reply{Success: true},
	Success: true,
	Message: "Successfully connected GitHub integration",
}

ExampleOAuthCallbackResponse is an example OAuth callback response for OpenAPI documentation

View Source
var ExampleOAuthFlowRequest = OAuthFlowRequest{
	Provider:    "github",
	RedirectURI: "https://app.example.com/integrations",
	Scopes:      []string{"repo", "gist"},
}

ExampleOAuthFlowRequest is an example OAuth flow request for OpenAPI documentation

View Source
var ExampleOAuthFlowResponse = OAuthFlowResponse{
	Reply:         rout.Reply{Success: true},
	AuthURL:       "https://github.com/login/oauth/authorize?client_id=...&state=eyJvcmdJRCI6IjAxSE...",
	State:         "eyJvcmdJRCI6IjAxSE...",
	Message:       "",
	RequiresLogin: false,
}

ExampleOAuthFlowResponse is an example OAuth flow response for OpenAPI documentation

View Source
var ExampleOauthTokenRequest = OauthTokenRequest{
	Name:             "Jon Snow",
	Email:            "jsnow@example.com",
	AuthProvider:     "google",
	ExternalUserID:   "1234567890",
	ExternalUserName: "jsnow",
	ClientToken:      "example-client-token-12345",
	Image:            "https://example.com/avatar.jpg",
}

ExampleOauthTokenRequest is an example OAuth token request for OpenAPI documentation

View Source
var ExampleProductCatalogReply = ProductCatalogReply{
	Reply: rout.Reply{Success: true},
	Catalog: models.Catalog{
		Addons:  map[string]models.Feature{},
		Version: "v0.0.1",
		SHA:     "12a4a1212888e9316a16826ba074b37230b4b7ba903cd8d7e627e4a8d03a6211",
		Modules: map[string]models.Feature{
			string(models.CatalogComplianceModule): models.Feature{
				Audience: "public",
				Billing: models.Billing{Prices: []models.ItemPrice{models.ItemPrice{
					Interval:   "month",
					LookupKey:  "price_compliance_monthly",
					Nickname:   "price_compliance_monthly",
					PriceID:    "price_1S3qX6JIzM4Pa2ZcRtuinRdG",
					UnitAmount: int64(45000),
				}, models.ItemPrice{
					Interval:   "year",
					LookupKey:  "price_compliance_annually",
					Nickname:   "price_compliance_annually",
					PriceID:    "price_1S3qX7JIzM4Pa2ZchMVxiS1l",
					UnitAmount: int64(500000),
				}}},
				Description:          "Core Compliance Automation and Standards Library",
				DisplayName:          "Core Compliance Module",
				IncludeWithTrial:     true,
				LookupKey:            "compliance_module",
				MarketingDescription: "Automate evidence collection and task tracking to simplify SOC 2, ISO 27001, and other certification workflows",
				ProductID:            "prod_SzqDyAvxP2D7fA",
				Usage:                &models.Usage{EvidenceStorageGB: int64(25000)},
			},
		}},
}

ExampleProductCatalogReply is an example of a successful `/products` response for OpenAPI documentation

View Source
var ExampleProductCatalogRequest = ProductCatalogRequest{
	IncludeBeta:    false,
	IncludePrivate: false,
}

ExampleProductCatalogRequest is an example of a successful `/products` request for OpenAPI documentation

View Source
var ExampleRefreshIntegrationTokenRequest = RefreshIntegrationTokenRequest{
	Provider: "github",
}

ExampleRefreshIntegrationTokenRequest is an example refresh integration token request for OpenAPI documentation

View Source
var ExampleRefreshRequest = RefreshRequest{
	RefreshToken: "token",
}

ExampleRefreshRequest is an example of a successful refresh request for OpenAPI documentation

View Source
var ExampleRefreshSuccessResponse = RefreshReply{
	Reply:   rout.Reply{Success: true},
	Message: "success",
	AuthData: AuthData{
		AccessToken:  "access_token",
		RefreshToken: "refresh_token",
		Session:      "session",
		TokenType:    "bearer",
	},
}

ExampleRefreshSuccessResponse is an example of a successful refresh response for OpenAPI documentation

View Source
var ExampleRegisterSuccessRequest = RegisterRequest{
	FirstName: "Sarah",
	LastName:  "Funk",
	Email:     "sfunky@theopenlane.io",
	Password:  "mitb!",
	Token:     stringPtr("invite_token_example"),
}

ExampleRegisterSuccessRequest is an example of a successful register request for OpenAPI documentation

View Source
var ExampleRegisterSuccessResponse = RegisterReply{
	Reply:   rout.Reply{Success: true},
	ID:      "1234",
	Email:   "",
	Message: "Welcome to Openlane!",
}

ExampleRegisterSuccessResponse is an example of a successful register response for OpenAPI documentation

View Source
var ExampleResendEmailSuccessRequest = ResendRequest{
	Email: "cercei.lannister@theopenlane.io",
}

ExampleResendEmailSuccessRequest is an example of a successful resend email request for OpenAPI documentation

View Source
var ExampleResendEmailSuccessResponse = ResendReply{
	Reply: rout.Reply{
		Success: true,
	},
	Message: "Email has been resent",
}

ExampleResendEmailSuccessResponse is an example of a successful resend email response for OpenAPI documentation

View Source
var ExampleResetPasswordSuccessRequest = ResetPasswordRequest{
	Password: "mitb!",
	Token:    "token",
}

ExampleResetPasswordSuccessRequest is an example of a successful reset password request for OpenAPI documentation

View Source
var ExampleResetPasswordSuccessResponse = ResetPasswordReply{
	Reply: rout.Reply{
		Success: true,
	},
	Message: "Password has been reset",
}

ExampleResetPasswordSuccessResponse is an example of a successful reset password response for OpenAPI documentation

View Source
var ExampleSSOCallbackRequest = SSOCallbackRequest{
	Code:           "code",
	State:          "state",
	OrganizationID: exampleULID("organization"),
}

ExampleSSOCallbackRequest is an example request for OpenAPI documentation

View Source
var ExampleSSOLoginRequest = SSOLoginRequest{
	OrganizationID: exampleULID("organization"),
	ReturnURL:      "https://app.sitb.com",
}

ExampleSSOLoginRequest is an example request for OpenAPI documentation

View Source
var ExampleSSOStatusReply = SSOStatusReply{
	Reply:          rout.Reply{Success: true},
	Enforced:       true,
	Provider:       enums.SSOProviderOkta,
	DiscoveryURL:   "https://id.example.com/.well-known/openid-configuration",
	SAMLSignInURL:  "https://id.example.com/saml/signin",
	OrganizationID: exampleULID("organization_alt"),
	OrgTFAEnforced: true,
	UserTFAEnabled: false,
}

ExampleSSOStatusReply is an example response for OpenAPI documentation

View Source
var ExampleSSOStatusRequest = SSOStatusRequest{
	Resource: "acct:mitb@theopenlane.io",
}

ExampleSSOStatusRequest is an example request for OpenAPI documentation

View Source
var ExampleSSOTokenAuthorizeReply = SSOTokenAuthorizeReply{
	Reply:          rout.Reply{Success: true},
	OrganizationID: exampleULID("organization"),
	TokenID:        exampleULID("token"),
	Message:        "success",
}

ExampleSSOTokenAuthorizeReply is an example response for OpenAPI documentation

View Source
var ExampleSSOTokenAuthorizeRequest = SSOTokenAuthorizeRequest{
	OrganizationID: exampleULID("organization"),
	TokenID:        exampleULID("token"),
	TokenType:      "api",
}

ExampleSSOTokenAuthorizeRequest is an example request for OpenAPI documentation

View Source
var ExampleSSOTokenCallbackRequest = SSOTokenCallbackRequest{
	Code:  "code",
	State: "state",
}

ExampleSSOTokenCallbackRequest is an example request for OpenAPI documentation

View Source
var ExampleSnapshotSuccessRequest = SnapshotRequest{
	URL:             "https://www.example.com",
	WaitForSelector: "img#main-image",
}

ExampleSnapshotSuccessRequest is an example of a successful snapshot request for OpenAPI documentation

View Source
var ExampleSnapshotSuccessResponse = SnapshotReply{
	Reply:    rout.Reply{Success: true},
	Message:  "Snapshot taken successfully",
	Image:    "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO3Zf6kAAAAASUVORK5CYII=",
	MIMEType: "image/png",
}

ExampleSnapshotSuccessResponse is an example of a successful snapshot response for OpenAPI documentation

View Source
var ExampleStartImpersonationReply = StartImpersonationReply{
	Reply:     rout.Reply{Success: true},
	Token:     "imp_" + exampleULID("token"),
	ExpiresAt: exampleTime(time.Hour),
	SessionID: exampleULID("session"),
	Message:   "Impersonation session started successfully",
}

ExampleStartImpersonationReply is an example response for OpenAPI documentation

View Source
var ExampleStartImpersonationRequest = StartImpersonationRequest{
	TargetUserID: exampleULID("user_alt"),
	Type:         "support",
	Reason:       "Customer support assistance for account recovery",
	Duration:     nil,
}

ExampleStartImpersonationRequest is an example request for OpenAPI documentation

View Source
var ExampleSubmitQuestionnaireRequest = SubmitQuestionnaireRequest{
	Data: map[string]any{
		"q1": "Answer to question 1",
		"q2": "Answer to question 2",
		"q3": map[string]any{
			"nested": "data",
		},
	},
}

ExampleSubmitQuestionnaireRequest is an example questionnaire submission request for OpenAPI documentation

View Source
var ExampleSubmitQuestionnaireResponse = SubmitQuestionnaireResponse{
	DocumentDataID: "01JCQR8Z9X1A2B3C4D5E6F7G8H",
	Status:         "COMPLETED",
	CompletedAt:    "2024-01-01T12:00:00Z",
}

ExampleSubmitQuestionnaireResponse is an example questionnaire submission response for OpenAPI documentation

View Source
var ExampleSwitchSuccessReply = SwitchOrganizationReply{
	Reply: rout.Reply{
		Success: true,
	},
	AuthData: AuthData{
		AccessToken:  "access_token",
		RefreshToken: "refresh_token",
		Session:      "session",
		TokenType:    "bearer",
	},
}

ExampleSwitchSuccessReply is an example of a successful switch organization response for OpenAPI documentation

View Source
var ExampleSwitchSuccessRequest = SwitchOrganizationRequest{
	TargetOrganizationID: exampleULID("organization"),
}

ExampleSwitchSuccessRequest is an example of a successful switch organization request for OpenAPI documentation

View Source
var ExampleTFASSuccessResponse = TFAReply{
	Reply: rout.Reply{
		Success: true,
	},
}

ExampleLoginSuccessResponse is an example of a successful tfa validation response for OpenAPI documentation

View Source
var ExampleTFASuccessRequest = TFARequest{
	TOTPCode: "113371",
}

ExampleLoginSuccessRequest is an example of a successful tfa validation request for OpenAPI documentation

View Source
var ExampleUploadFileRequest = UploadFilesRequest{
	UploadFile: multipart.FileHeader{
		Filename: "file.txt",
		Size:     1024,
		Header: textproto.MIMEHeader{
			"Content-Type": []string{"text/plain"},
		},
	},
}

ExampleUploadFileRequest is an example of a successful upload request for OpenAPI documentation

View Source
var ExampleUploadFilesSuccessResponse = UploadFilesReply{
	Reply: rout.Reply{
		Success: true,
	},
	Message:   "file(s) uploaded successfully",
	FileCount: 1,
	Files: []File{
		{
			ID:           "1234",
			OriginalName: "file.txt",
			MD5:          []byte("1234"),
			CreatedAt:    exampleTime(-time.Hour),
			UpdatedAt:    exampleTime(0),
		},
	},
}

ExampleUploadFilesSuccessResponse is an example of a successful upload response for OpenAPI documentation

View Source
var ExampleUserInfoSuccessResponse = UserInfoReply{
	Reply:           rout.Reply{Success: true},
	ID:              "01J4EXD5MM60CX4YNYN0DEE3Y1",
	Email:           "jsnow@example.com",
	FirstName:       "Jon",
	LastName:        "Snow",
	DisplayName:     "Jon Snow",
	AvatarRemoteURL: stringPtr("https://example.com/avatar.jpg"),
	LastSeen:        stringPtr("2023-01-01T00:00:00Z"),
	Role:            "ADMIN",
	Sub:             "user123",
}

ExampleUserInfoSuccessResponse is an example of a successful userinfo response for OpenAPI documentation

View Source
var ExampleVerifySubscriptionResponse = VerifySubscribeReply{
	Reply:   rout.Reply{Success: true},
	Message: "Subscription confirmed, looking forward to sending you updates!",
}

ExampleVerifySubscriptionResponse is an example of a successful verify subscription response for OpenAPI documentation

View Source
var ExampleVerifySubscriptionSuccessRequest = VerifySubscribeRequest{
	Token: "token",
}

ExampleVerifySubscriptionSuccessRequest is an example of a successful verify subscription request for OpenAPI documentation

View Source
var ExampleVerifySuccessRequest = VerifyRequest{
	Token: "token",
}

ExampleVerifySuccessRequest is an example of a successful verify request for OpenAPI documentation

View Source
var ExampleVerifySuccessResponse = VerifyReply{
	Reply: rout.Reply{
		Success: true,
	},
	ID:      exampleULID("user_alt"),
	Email:   "gregor.clegane@theopenlane.io",
	Message: "Email has been verified",
	AuthData: AuthData{
		AccessToken:  "access_token",
		RefreshToken: "refresh_token",
		Session:      "session",
		TokenType:    "bearer",
	},
}

ExampleVerifySuccessResponse is an example of a successful verify response for OpenAPI documentation

View Source
var ExampleWebauthnBeginLoginResponse = WebauthnBeginLoginResponse{
	Reply:   rout.Reply{Success: true},
	Session: "session123",
}

ExampleWebauthnBeginLoginResponse is an example WebAuthn begin login response for OpenAPI documentation

View Source
var ExampleWebauthnBeginRegistrationRequest = WebauthnRegistrationRequest{
	Email: "sarahisthebest@sarahsthebest.com",
	Name:  "Sarah Funk",
}
View Source
var ExampleWebauthnBeginRegistrationResponse = WebauthnBeginRegistrationResponse{
	Reply: rout.Reply{Success: true},
	CredentialCreation: &protocol.CredentialCreation{
		Response: protocol.PublicKeyCredentialCreationOptions{
			RelyingParty: protocol.RelyingPartyEntity{
				CredentialEntity: protocol.CredentialEntity{
					Name: "Openlane",
				},
				ID: "theopenlane.io",
			},
			User: protocol.UserEntity{
				CredentialEntity: protocol.CredentialEntity{
					Name: "Sarah Funk",
				},
				DisplayName: "sarahfunk",
				ID:          []byte("user-id-12345"),
			},
			Challenge: protocol.URLEncodedBase64("cmFuZG9tLWNoYWxsZW5nZS1zdHJpbmc="),
			Timeout:   60000,
		}},
	Session: "example-session-id",
}
View Source
var ExampleWebauthnLoginFinishRequest = WebauthnLoginFinishRequest{
	ID:                      "JBqvfKoo_U-McTi9NxkpDTncmL2Lg6fczz6PD7WesCHQPg",
	RawID:                   "JBqvfKoo_U-McTi9NxkpDTncmL2Lg6fczz6PD7WesCHQPg",
	Type:                    "public-key",
	AuthenticatorAttachment: "platform",
	ClientExtensionResults:  map[string]interface{}{},
	Response: struct {
		AuthenticatorData string `json:"authenticatorData" description:"The authenticator data"`
		ClientDataJSON    string `json:"clientDataJSON" description:"The client data JSON"`
		Signature         string `json:"signature" description:"The assertion signature"`
		UserHandle        string `json:"userHandle,omitempty" description:"The user handle"`
	}{
		AuthenticatorData: "SZYN5YgOjGh0NBcPZHZgW4_krrmihjLHmVzzuoMdl2NdAAAAALraVWanqkAfvZZFYZpVEg0AIiQar3yqKP1PjHE4vTcZKQ053Ji9i4On3M8-jw-1nrAh0D6lAQIDJiABIVggldWfMY_HYjHCZuSgBcDj-Zqcnipy1SJVNlhvmZBxvpciWCDh1UJNz9Uyr6jqeQhApJ3krQCvDNoeXaH0ffa9KapYdw",
		ClientDataJSON:    "eyJ0eXBlIjoid2ViYXV0aG4uZ2V0IiwiY2hhbGxlbmdlIjoiTWZlN1l6aS0zUU9rMDM4VHh3dVVvaTBaaURIZEdaOGlGNVhXc09UTTVnbyIsIm9yaWdpbiI6Imh0dHA6Ly9sb2NhbGhvc3Q6MzAwMSIsImNyb3NzT3JpZ2luIjpmYWxzZX0",
		Signature:         "MEUCIQDKIueQAhZmGtPTmzp7QQRjZU_XLUqHdGj3QKRMOxRNbwIgF1hkJJ5y7cA3RGZe9x4n9vXq_L9x8eR1r9cE4w1uJ_A",
		UserHandle:        "dXNlci1pZC0xMjM0NQ",
	},
}

ExampleWebauthnLoginFinishRequest is an example WebAuthn login finish request for OpenAPI documentation

View Source
var ExampleWebauthnLoginRequest = WebauthnLoginRequest{
	Email: "",
}

ExampleWebauthnLoginRequest is an example WebAuthn login request for OpenAPI documentation

View Source
var ExampleWebauthnLoginResponse = WebauthnLoginResponse{
	Reply:   rout.Reply{Success: true},
	Message: "Authentication successful",
	AuthData: AuthData{
		AccessToken:  "access_token_here",
		RefreshToken: "refresh_token_here",
	},
}

ExampleWebauthnLoginResponse is an example WebAuthn login response for OpenAPI documentation

View Source
var ExampleWebauthnRegistrationFinishRequest = WebauthnRegistrationFinishRequest{
	ID:                      "JBqvfKoo_U-McTi9NxkpDTncmL2Lg6fczz6PD7WesCHQPg",
	RawID:                   "JBqvfKoo_U-McTi9NxkpDTncmL2Lg6fczz6PD7WesCHQPg",
	Type:                    "public-key",
	AuthenticatorAttachment: "platform",
	ClientExtensionResults:  map[string]interface{}{},
	Response: struct {
		AttestationObject  string   `json:"attestationObject" description:"The attestation object"`
		ClientDataJSON     string   `json:"clientDataJSON" description:"The client data JSON"`
		PublicKey          string   `json:"publicKey,omitempty" description:"The public key"`
		PublicKeyAlgorithm int      `json:"publicKeyAlgorithm,omitempty" description:"The public key algorithm"`
		Transports         []string `json:"transports,omitempty" description:"Available transports"`
		AuthenticatorData  string   `json:"authenticatorData,omitempty" description:"The authenticator data"`
	}{
		AttestationObject:  "o2NmbXRkbm9uZWdhdHRTdG10oGhhdXRoRGF0YVimSZYN5YgOjGh0NBcPZHZgW4_krrmihjLHmVzzuoMdl2NdAAAAALraVWanqkAfvZZFYZpVEg0AIiQar3yqKP1PjHE4vTcZKQ053Ji9i4On3M8-jw-1nrAh0D6lAQIDJiABIVggldWfMY_HYjHCZuSgBcDj-Zqcnipy1SJVNlhvmZBxvpciWCDh1UJNz9Uyr6jqeQhApJ3krQCvDNoeXaH0ffa9KapYdw",
		ClientDataJSON:     "eyJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIiwiY2hhbGxlbmdlIjoiTWZlN1l6aS0zUU9rMDM4VHh3dVVvaTBaaURIZEdaOGlGNVhXc09UTTVnbyIsIm9yaWdpbiI6Imh0dHA6Ly9sb2NhbGhvc3Q6MzAwMSIsImNyb3NzT3JpZ2luIjpmYWxzZX0",
		PublicKey:          "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEldWfMY_HYjHCZuSgBcDj-Zqcnipy1SJVNlhvmZBxvpfh1UJNz9Uyr6jqeQhApJ3krQCvDNoeXaH0ffa9KapYdw",
		PublicKeyAlgorithm: -7,
		Transports:         []string{"internal", "hybrid"},
		AuthenticatorData:  "SZYN5YgOjGh0NBcPZHZgW4_krrmihjLHmVzzuoMdl2NdAAAAALraVWanqkAfvZZFYZpVEg0AIiQar3yqKP1PjHE4vTcZKQ053Ji9i4On3M8-jw-1nrAh0D6lAQIDJiABIVggldWfMY_HYjHCZuSgBcDj-Zqcnipy1SJVNlhvmZBxvpciWCDh1UJNz9Uyr6jqeQhApJ3krQCvDNoeXaH0ffa9KapYdw",
	},
}

ExampleWebauthnRegistrationFinishRequest is an example WebAuthn registration finish request for OpenAPI documentation

View Source
var ExampleWebauthnRegistrationResponse = WebauthnRegistrationResponse{
	Reply:   rout.Reply{Success: true},
	Message: "Registration successful",
	AuthData: AuthData{
		AccessToken:  "access_token_here",
		RefreshToken: "refresh_token_here",
	},
}

ExampleWebauthnRegistrationResponse is an example WebAuthn registration response for OpenAPI documentation

View Source
var ExampleWebfingerRequest = WebfingerRequest{
	Resource: "acct:sarah@funkyhous.info",
}

ExampleWebfingerRequest is an example request for OpenAPI documentation

Functions

This section is empty.

Types

type AccountAccessReply

type AccountAccessReply struct {
	// Reply is the reply value.
	rout.Reply
	// Allowed is the allowed value.
	Allowed bool `json:"allowed"`
}

AccountAccessReply holds the fields that are sent on a response to the `/account/access` endpoint

func (*AccountAccessReply) ExampleResponse

func (r *AccountAccessReply) ExampleResponse() any

ExampleResponse returns an example AccountAccessReply for OpenAPI documentation

type AccountAccessRequest

type AccountAccessRequest struct {
	// ObjectID is the object_id value.
	ObjectID string `json:"object_id" description:"The ID of the object to check access for" example:"01J4EXD5MM60CX4YNYN0DEE3Y1"`
	// ObjectType is the object_type value.
	ObjectType string `` /* 138-byte string literal not displayed */
	// Relation is the relation value.
	Relation string `json:"relation" description:"The relation to check access for, e.g. can_view, can_edit" example:"can_view"`
	// SubjectType is the subject_type value.
	SubjectType string `json:"subject_type,omitempty" description:"The type of subject to check access for, e.g. service, user" example:"user"`
}

AccountAccessRequest contains organization ID for checking access permissions

func (*AccountAccessRequest) Validate

func (r *AccountAccessRequest) Validate() error

Validate ensures the required fields are set on the AccountAccessRequest

type AccountFeaturesReply

type AccountFeaturesReply struct {
	// Reply is the reply value.
	rout.Reply
	// Features is the features value.
	Features []string `` /* 138-byte string literal not displayed */
	// OrganizationID is the organization_id value.
	OrganizationID string `json:"organization_id" description:"The ID of the organization the user has features in" example:"01J4HMNDSZCCQBTY93BF9CBF5D"`
}

AccountFeaturesReply holds the fields that are sent on a response to the `/account/features` endpoint

func (*AccountFeaturesReply) ExampleResponse

func (r *AccountFeaturesReply) ExampleResponse() any

ExampleResponse returns an example AccountFeaturesReply for OpenAPI documentation

type AccountFeaturesRequest

type AccountFeaturesRequest struct {
	// ID is the id value.
	ID string `param:"id" description:"The ID of the organization to check roles for" example:"01J4HMNDSZCCQBTY93BF9CBF5D"`
}

AccountFeaturesRequest contains organization ID for retrieving available features

func (*AccountFeaturesRequest) Validate

func (r *AccountFeaturesRequest) Validate() error

Validate ensures the required fields are set on the AccountFeaturesRequest

type AccountRolesOrganizationReply

type AccountRolesOrganizationReply struct {
	// Reply is the reply value.
	rout.Reply
	// Roles is the roles value.
	Roles []string `json:"roles" description:"The roles the user has in the organization, e.g. can_view, can_edit"`
	// OrganizationID is the organization_id value.
	OrganizationID string `json:"organization_id" description:"The ID of the organization the user has roles in" example:"01J4HMNDSZCCQBTY93BF9CBF5D"`
}

AccountRolesOrganizationReply holds the fields that are sent on a response to the `/account/roles/organization` endpoint

func (*AccountRolesOrganizationReply) ExampleResponse

func (r *AccountRolesOrganizationReply) ExampleResponse() any

ExampleResponse returns an example AccountRolesOrganizationReply for OpenAPI documentation

type AccountRolesOrganizationRequest

type AccountRolesOrganizationRequest struct {
	// ID is the id value.
	ID string `param:"id" description:"The ID of the organization to check roles for" example:"01J4HMNDSZCCQBTY93BF9CBF5D"`
}

AccountRolesOrganizationRequest contains organization ID for retrieving organization-specific roles

func (*AccountRolesOrganizationRequest) Validate

func (r *AccountRolesOrganizationRequest) Validate() error

Validate ensures the required fields are set on the AccountRolesOrganizationRequest

type AccountRolesReply

type AccountRolesReply struct {
	// Reply is the reply value.
	rout.Reply
	// Roles is a list of roles the user has for the specified object(s)
	// @deprecated use ObjectRoles instead, may be removed in a future release
	Roles []string `json:"roles" description:" @deprecated use ObjectRoles instead. A list of roles the subject has for the specified object"`
	// ObjectRoles is a map of object IDs to the roles the user has for each object ID
	ObjectRoles map[string][]string `json:"object_roles,omitempty" description:"A map of object IDs to the roles the subject has for each object ID"`
}

AccountRolesReply holds the fields that are sent on a response to the `/account/roles` endpoint

func (*AccountRolesReply) ExampleResponse

func (r *AccountRolesReply) ExampleResponse() any

ExampleResponse returns an example AccountRolesReply for OpenAPI documentation

type AccountRolesRequest

type AccountRolesRequest struct {
	// @deprecated use ObjectIDs instead, may be removed in a future release
	ObjectID string `` /* 153-byte string literal not displayed */
	// ObjectIDs is the object_ids value.
	ObjectIDs []string `` // example:"["01J4EXD5MM60CX4YNYN0DEE3Y1", "01J4EXD5MM60CX4YNYN0DEE3Y2"]"
	/* 132-byte string literal not displayed */
	// ObjectType is the object_type value.
	ObjectType string `` /* 137-byte string literal not displayed */
	// SubjectType is the subject_type value.
	SubjectType string `json:"subject_type,omitempty" description:"The type of subject to check roles for, e.g. service, user" example:"user"`
	// Relations is the relations value.
	Relations []string `json:"relations,omitempty" description:"The relations to check roles for, e.g. can_view, can_edit"`
}

AccountRolesRequest contains object IDs for retrieving roles associated with them

func (*AccountRolesRequest) Validate

func (r *AccountRolesRequest) Validate() error

Validate ensures the required fields are set on the AccountAccessRequest

type AcmeSolverRequest

type AcmeSolverRequest struct {
	// Path is the path value.
	Path string `param:"path" description:"The path to the acme challenge" example:"01J4HMNDSZCCQBTY93BF9CBF5D"`
}

AcmeSolverRequest is the request to solve an acme challenge

type AuthData

type AuthData struct {
	// AccessToken is the access_token value.
	AccessToken string `json:"access_token" description:"The access token to be used for authentication"`
	// RefreshToken is the refresh_token value.
	RefreshToken string `json:"refresh_token,omitempty" description:"The refresh token to be used to refresh the access token after it expires"`
	// Session is the session value.
	Session string `json:"session,omitempty" description:"The short-lived session token required for authentication"`
	// TokenType is the token_type value.
	TokenType string `json:"token_type,omitempty" description:"The type of token being returned" example:"bearer"`
}

type AvailableAuthTypeLoginRequest

type AvailableAuthTypeLoginRequest struct {
	// Username is the username value.
	Username string `json:"username" description:"The email address associated with the existing account" example:"jsnow@example.com"`
}

AvailableAuthTypeLoginRequest holds the payload for checking the auth types available to a user passkeys? or both passkeys and credentials or just credentials

func (*AvailableAuthTypeLoginRequest) Validate

func (r *AvailableAuthTypeLoginRequest) Validate() error

Validate ensures the required fields are set on the AvailableAuthTypeLoginRequest request

type AvailableAuthTypeReply

type AvailableAuthTypeReply struct {
	// Reply is the reply value.
	rout.Reply
	// Methods is the methods value.
	Methods []enums.AuthProvider `json:"methods,omitempty"`
}

AvailableAuthTypeReply holds the response to AvailableAuthTypeLoginRequest

func (*AvailableAuthTypeReply) ExampleResponse

func (r *AvailableAuthTypeReply) ExampleResponse() any

ExampleResponse returns an example AvailableAuthTypeReply for OpenAPI documentation

type CreateTrustCenterAnonymousJWTResponse

type CreateTrustCenterAnonymousJWTResponse struct {
	// AuthData is the authdata value.
	AuthData
}

CreateTrustCenterAnonymousJWTResponse is the response to a request to create a trust center anonymous JWT

func (*CreateTrustCenterAnonymousJWTResponse) ExampleResponse

func (r *CreateTrustCenterAnonymousJWTResponse) ExampleResponse() any

ExampleResponse returns an example CreateTrustCenterAnonymousJWTResponse for OpenAPI documentation

type DeleteIntegrationRequest

type DeleteIntegrationRequest struct {
	// ID is the id value.
	ID string `param:"id" description:"Integration ID" example:"01J4HMNDSZCCQBTY93BF9CBF5D"`
}

DeleteIntegrationRequest is the request for deleting an integration

func (*DeleteIntegrationRequest) Validate

func (r *DeleteIntegrationRequest) Validate() error

Validate validates the DeleteIntegrationRequest

type DeleteIntegrationResponse

type DeleteIntegrationResponse struct {
	// Reply is the reply value.
	rout.Reply
	// Message is the message value.
	Message string `json:"message"`
	// DeletedID is the deletedId value.
	DeletedID string `json:"deletedId,omitempty"`
}

DeleteIntegrationResponse is the response for deleting an integration

type DisconnectIntegrationRequest

type DisconnectIntegrationRequest struct {
	// Provider is the provider value.
	Provider string `param:"provider" description:"Integration provider key" example:"github"`
	// IntegrationID is the integrationid value.
	IntegrationID string `query:"integration_id,omitempty" description:"Specific integration ID to delete"`
}

DisconnectIntegrationRequest is the request payload for disconnecting an integration

type EndImpersonationReply

type EndImpersonationReply struct {
	// Reply is the reply value.
	rout.Reply
	// Message is the message value.
	Message string `json:"message" description:"Success message"`
}

EndImpersonationReply represents the response when ending impersonation

func (*EndImpersonationReply) ExampleResponse

func (r *EndImpersonationReply) ExampleResponse() any

ExampleResponse returns an example EndImpersonationReply for OpenAPI documentation

type EndImpersonationRequest

type EndImpersonationRequest struct {
	// SessionID is the session_id value.
	SessionID string `json:"session_id" validate:"required" description:"The session ID to end"`
	// Reason is the reason value.
	Reason string `json:"reason,omitempty" description:"Optional reason for ending the session"`
}

EndImpersonationRequest represents a request to end an impersonation session

func (*EndImpersonationRequest) Validate

func (r *EndImpersonationRequest) Validate() error

Validate ensures the required fields are set on the EndImpersonationRequest

type ExampleCSVRequest

type ExampleCSVRequest struct {
	// Filename is the filename value.
	Filename string `json:"filename" description:"the file name to check for" example:"actionplan"`
}

ExampleCSVRequest holds the payload for serving example CSV files

func (*ExampleCSVRequest) Validate

func (r *ExampleCSVRequest) Validate() error

Validate ensures the required fields are set on the ExampleCSVRequest request

type ExampleProvider

type ExampleProvider interface {
	ExampleResponse() any
}

ExampleProvider interface allows response models to provide their own examples This eliminates the need for separate Example* variables and static switch statements

type File

type File = storagetypes.File

type FileDownload

type FileDownload struct {
	// ID is the id value.
	ID string `param:"id" description:"the file ID" example:"01J4HMNDSZCCQBTY93BF9CBF5D"`
	// Token is the token value.
	Token string `query:"token" description:"The token to be used to verify the email address, token is sent via email"`
}

func (*FileDownload) Validate

func (r *FileDownload) Validate() error

Validate ensures the required fields are set on the VerifyRequest request

type FileDownloadReply

type FileDownloadReply struct {
	// Reply is the reply value.
	rout.Reply
	// Message is the message value.
	Message string `json:"message,omitempty"`
	// File is the file value.
	File File `json:"file" description:"The files that were uploaded"`
}

UploadFilesReply holds the fields that are sent on a response to the `/upload` endpoint

func (*FileDownloadReply) ExampleResponse

func (r *FileDownloadReply) ExampleResponse() any

ExampleResponse returns an example UploadFilesReply for OpenAPI documentation

type ForgotPasswordReply

type ForgotPasswordReply struct {
	// Reply is the reply value.
	rout.Reply
	// Message is the message value.
	Message string `json:"message,omitempty"`
}

ForgotPasswordReply contains fields for a forgot password response

func (*ForgotPasswordReply) ExampleResponse

func (r *ForgotPasswordReply) ExampleResponse() any

ExampleResponse returns an example ForgotPasswordReply for OpenAPI documentation

type ForgotPasswordRequest

type ForgotPasswordRequest struct {
	// Email is the email value.
	Email string `` /* 136-byte string literal not displayed */
}

ForgotPasswordRequest contains fields for a forgot password request

func (*ForgotPasswordRequest) Validate

func (r *ForgotPasswordRequest) Validate() error

Validate ensures the required fields are set on the ForgotPasswordRequest request

type GetIntegrationStatusRequest

type GetIntegrationStatusRequest struct {
	// Provider is the provider value.
	Provider string `param:"provider" description:"OAuth provider (github, slack, etc.)" example:"github"`
}

GetIntegrationStatusRequest is the request for checking integration status

func (*GetIntegrationStatusRequest) Validate

func (r *GetIntegrationStatusRequest) Validate() error

Validate validates the GetIntegrationStatusRequest

type GetIntegrationTokenRequest

type GetIntegrationTokenRequest struct {
	// Provider is the provider value.
	Provider string `param:"provider" description:"OAuth provider (github, slack, etc.)" example:"github"`
}

GetIntegrationTokenRequest is the request for getting integration tokens

func (*GetIntegrationTokenRequest) Validate

func (r *GetIntegrationTokenRequest) Validate() error

Validate validates the GetIntegrationTokenRequest

type GetQuestionnaireResponse

type GetQuestionnaireResponse struct {
	// Jsonconfig is the jsonconfig value.
	Jsonconfig map[string]any `json:"jsonconfig,omitempty"`
	// UISchema is the uischema value.
	UISchema map[string]any `json:"uischema,omitempty"`
	// SavedData is the previously saved draft data, if any.
	SavedData map[string]any `json:"saved_data,omitempty"`
}

GetQuestionnaireResponse is the response containing the questionnaire template's JSON configuration

func (*GetQuestionnaireResponse) ExampleResponse

func (r *GetQuestionnaireResponse) ExampleResponse() any

ExampleResponse returns an example GetQuestionnaireResponse for OpenAPI documentation

type GitHubAppInstallCallbackRequest added in v1.0.9

type GitHubAppInstallCallbackRequest struct {
	// InstallationID is the installation_id value.
	InstallationID string `json:"installation_id" query:"installation_id" description:"GitHub App installation ID" example:"12345678"`
	// SetupAction is the setup_action value.
	SetupAction string `json:"setup_action,omitempty" query:"setup_action" description:"GitHub setup action" example:"install"`
	// State is the state value.
	State string `` /* 131-byte string literal not displayed */
}

GitHubAppInstallCallbackRequest represents query params for the GitHub App callback.

func (*GitHubAppInstallCallbackRequest) Validate added in v1.0.9

func (r *GitHubAppInstallCallbackRequest) Validate() error

Validate ensures required callback fields are set.

type GitHubAppInstallCallbackResponse added in v1.0.9

type GitHubAppInstallCallbackResponse struct {
	// Reply is the reply value.
	rout.Reply
	// Message is the message value.
	Message string `json:"message,omitempty" description:"Success or error message"`
}

GitHubAppInstallCallbackResponse contains the callback result.

func (*GitHubAppInstallCallbackResponse) ExampleResponse added in v1.0.9

func (r *GitHubAppInstallCallbackResponse) ExampleResponse() any

ExampleResponse returns an example GitHubAppInstallCallbackResponse.

type GitHubAppInstallRequest added in v1.0.9

type GitHubAppInstallRequest struct{}

GitHubAppInstallRequest represents the GitHub App installation start request.

func (*GitHubAppInstallRequest) Validate added in v1.0.9

func (r *GitHubAppInstallRequest) Validate() error

Validate ensures the GitHubAppInstallRequest is valid.

type GitHubAppInstallResponse added in v1.0.9

type GitHubAppInstallResponse struct {
	// Reply is the reply value.
	rout.Reply
	// InstallURL is the installUrl value.
	InstallURL string `` /* 164-byte string literal not displayed */
	// State is the state value.
	State string `` /* 127-byte string literal not displayed */
	// Message is the message value.
	Message string `json:"message,omitempty" description:"Optional message"`
}

GitHubAppInstallResponse contains the GitHub App installation URL and state.

func (*GitHubAppInstallResponse) ExampleResponse added in v1.0.9

func (r *GitHubAppInstallResponse) ExampleResponse() any

ExampleResponse returns an example GitHubAppInstallResponse.

type GitHubAppWebhookResponse added in v1.0.9

type GitHubAppWebhookResponse struct {
	// Reply is the reply value.
	rout.Reply
	// Persisted is the persisted value.
	Persisted map[string]any `json:"persisted,omitempty" description:"Summary of persisted alerts"`
}

GitHubAppWebhookResponse acknowledges GitHub App webhooks.

func (*GitHubAppWebhookResponse) ExampleResponse added in v1.0.9

func (r *GitHubAppWebhookResponse) ExampleResponse() any

ExampleResponse returns an example GitHubAppWebhookResponse.

type IntegrationConfig added in v1.0.8

type IntegrationConfig struct {
	// OperationsTemplates holds saved operation templates for the IntegrationConfig
	OperationTemplates map[string]IntegrationOperationTemplate `json:"operationTemplates,omitempty"`
	// EnabledOperations lists which operations are enabled
	EnabledOperations []string `json:"enabledOperations,omitempty"`
	// ClientConfig holds provider-specific client configuration
	ClientConfig map[string]any `json:"clientConfig,omitempty"`
	// CollectionStrategy defines how data is collected from the provider
	CollectionStrategy string `json:"collectionStrategy,omitempty"`
	// Schedule defines the integration schedule
	Schedule string `json:"schedule,omitempty"`
	// PollInterval defines how often to poll the provider for new data
	PollInterval time.Duration `json:"pollInterval,omitempty"`
	// MappingOverrides holds the mapping overrides
	MappingOverrides map[string]IntegrationMappingOverride `json:"mappingOverrides,omitempty"`
	// RetentionPolicy definesw the data retention policy
	RetentionPolicy *IntegrationRetentionPolicy `json:"retentionPolicy,omitempty"`
}

IntegrationConfig stores runtime configuration for an integration instance.

type IntegrationConfigParams

type IntegrationConfigParams struct {
	// Provider is the provider value.
	Provider string `param:"provider" description:"Integration provider identifier" example:"gcp_scc"`
}

IntegrationConfigParams captures path parameters for the integration config endpoint.

type IntegrationConfigPayload

type IntegrationConfigPayload struct {
	// IntegrationConfigParams is the integrationconfigparams value.
	IntegrationConfigParams
	// Body is the payload value.
	Body IntegrationConfigRequest `json:"payload"`
}

IntegrationConfigPayload wraps path parameters with the request payload.

type IntegrationConfigRequest

type IntegrationConfigRequest struct {
	// ServiceAccountEmail is the serviceAccountEmail value.
	ServiceAccountEmail string `json:"serviceAccountEmail,omitempty"`
	// Audience is the audience value.
	Audience string `json:"audience,omitempty"`
	// ProjectID is the projectId value.
	ProjectID string `json:"projectId,omitempty"`
	// OrganizationID is the organizationId value.
	OrganizationID string `json:"organizationId,omitempty"`
	// WorkloadIdentityProvider is the workloadIdentityProvider value.
	WorkloadIdentityProvider string `json:"workloadIdentityProvider,omitempty"`
	// FindingFilter is the findingFilter value.
	FindingFilter string `json:"findingFilter,omitempty"`
	// Additional is the additional value.
	Additional map[string]any `json:"-"`
}

IntegrationConfigRequest represents arbitrary credential configuration submitted for a provider.

func (IntegrationConfigRequest) ToMap

func (r IntegrationConfigRequest) ToMap() map[string]any

ToMap flattens the request into a map for schema validation and keystore.

func (*IntegrationConfigRequest) UnmarshalJSON

func (r *IntegrationConfigRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON captures known fields and preserves additional properties.

type IntegrationConfigResponse

type IntegrationConfigResponse struct {
	// Reply is the reply value.
	rout.Reply
	// Provider is the provider value.
	Provider string `json:"provider"`
}

IntegrationConfigResponse is returned after persisting provider configuration.

func (*IntegrationConfigResponse) ExampleResponse

func (r *IntegrationConfigResponse) ExampleResponse() any

ExampleResponse returns an example IntegrationConfigResponse for OpenAPI documentation.

type IntegrationGitHubState added in v1.0.8

type IntegrationGitHubState = state.GitHubState

IntegrationGitHubState captures GitHub App installation details for an integration.

type IntegrationMappingOverride added in v1.0.8

type IntegrationMappingOverride struct {
	// Version is the version of the IntegrationMappingOverride
	Version string `json:"version,omitempty"`
	// FilterExpr is the filter expression for the IntegrationMappingOverride
	FilterExpr string `json:"filterExpr,omitempty"`
	// MapExpr is the mapping expression for the IntegrationMappingOverride
	MapExpr string `json:"mapExpr,omitempty"`
}

IntegrationMappingOverride customizes how provider payloads map into system types.

type IntegrationOAuthMetadata

type IntegrationOAuthMetadata struct {
	// AuthURL is the authUrl value.
	AuthURL string `json:"authUrl,omitempty"`
	// TokenURL is the tokenUrl value.
	TokenURL string `json:"tokenUrl,omitempty"`
	// RedirectURI is the redirectUri value.
	RedirectURI string `json:"redirectUri,omitempty"`
	// Scopes is the scopes value.
	Scopes []string `json:"scopes,omitempty"`
	// UsePKCE is the usePkce value.
	UsePKCE bool `json:"usePkce,omitempty"`
	// AuthParams is the authParams value.
	AuthParams map[string]string `json:"authParams,omitempty"`
	// TokenParams is the tokenParams value.
	TokenParams map[string]string `json:"tokenParams,omitempty"`
}

IntegrationOAuthMetadata captures OAuth-specific metadata for integrations.

type IntegrationOperationMetadata

type IntegrationOperationMetadata struct {
	// Name is the name value.
	Name string `json:"name"`
	// Kind is the kind value.
	Kind string `json:"kind"`
	// Description is the description value.
	Description string `json:"description,omitempty"`
	// Client is the client value.
	Client string `json:"client,omitempty"`
	// ConfigSchema is the configSchema value.
	ConfigSchema map[string]any `json:"configSchema,omitempty"`
}

IntegrationOperationMetadata describes an operation published by a provider.

type IntegrationOperationParams

type IntegrationOperationParams struct {
	// Provider is the provider value.
	Provider string `param:"provider" description:"Integration provider identifier" example:"gcp_scc"`
}

IntegrationOperationParams captures path parameters for operation requests.

type IntegrationOperationPayload

type IntegrationOperationPayload struct {
	// IntegrationOperationParams is the integrationoperationparams value.
	IntegrationOperationParams
	// Body is the payload value.
	Body IntegrationOperationRequest `json:"payload"`
}

IntegrationOperationPayload wraps the params with the operation body.

type IntegrationOperationRequest

type IntegrationOperationRequest struct {
	// Operation is the operation value.
	Operation string `json:"operation" validate:"required"`
	// Config is the config value.
	Config map[string]any `json:"config,omitempty"`
	// Force is the force value.
	Force bool `json:"force,omitempty"`
}

IntegrationOperationRequest describes a provider operation to run.

type IntegrationOperationResponse

type IntegrationOperationResponse struct {
	// Reply is the reply value.
	rout.Reply
	// Provider is the provider value.
	Provider string `json:"provider"`
	// Operation is the operation value.
	Operation string `json:"operation"`
	// Status is the status value.
	Status string `json:"status"`
	// Summary is the summary value.
	Summary string `json:"summary"`
	// Details is the details value.
	Details map[string]any `json:"details,omitempty"`
}

IntegrationOperationResponse reports the result of a provider operation.

func (*IntegrationOperationResponse) ExampleResponse

func (r *IntegrationOperationResponse) ExampleResponse() any

ExampleResponse returns a sample IntegrationOperationResponse.

type IntegrationOperationTemplate added in v1.0.8

type IntegrationOperationTemplate struct {
	// Config holds the IntegrationOperationTemplate configuration
	Config map[string]any `json:"config,omitempty"`
	// AllowOverrides lists which config fields can be overridden at runtime
	AllowOverrides []string `json:"allowOverrides,omitempty"`
}

IntegrationOperationTemplate captures persisted configuration for an operation.

type IntegrationProviderMetadata

type IntegrationProviderMetadata struct {
	// Name is the name value.
	Name string `json:"name"`
	// DisplayName is the displayName value.
	DisplayName string `json:"displayName"`
	// Category is the category value.
	Category string `json:"category"`
	// AuthType is the authType value.
	AuthType types.AuthKind `json:"authType"`
	// Active is the active value.
	Active bool `json:"active"`
	// LogoURL is the logoUrl value.
	LogoURL string `json:"logoUrl,omitempty"`
	// DocsURL is the docsUrl value.
	DocsURL string `json:"docsUrl,omitempty"`
	// OAuth is the oauth value.
	OAuth *IntegrationOAuthMetadata `json:"oauth,omitempty"`
	// GoogleWorkloadIdentity is the workloadIdentity value.
	GoogleWorkloadIdentity *config.GoogleWorkloadIdentitySpec `json:"workloadIdentity,omitempty"`
	// GitHubApp is the githubApp value.
	GitHubApp *config.GitHubAppSpec `json:"githubApp,omitempty"`
	// Persistence is the persistence value.
	Persistence *config.PersistenceSpec `json:"persistence,omitempty"`
	// CredentialsSchema is the credentialsSchema value.
	CredentialsSchema map[string]any `json:"credentialsSchema,omitempty"`
	// Labels is the labels value.
	Labels map[string]string `json:"labels,omitempty"`
	// Operations is the operations value.
	Operations []IntegrationOperationMetadata `json:"operations,omitempty"`
}

IntegrationProviderMetadata describes the data required for rendering integration forms.

type IntegrationProviderState added in v1.0.8

type IntegrationProviderState = state.IntegrationProviderState

IntegrationProviderState stores provider-specific integration state captured during auth/config. This is separate from provider metadata (catalog) and per-run configuration.

type IntegrationProvidersResponse

type IntegrationProvidersResponse struct {
	// Reply is the reply value.
	rout.Reply
	// Schema is the schema value.
	Schema *jsonschema.Schema `json:"schema"`
	// Providers is the providers value.
	Providers []IntegrationProviderMetadata `json:"providers"`
}

IntegrationProvidersResponse is returned by the provider metadata endpoint.

type IntegrationRetentionPolicy added in v1.0.8

type IntegrationRetentionPolicy struct {
	// StoreRawPayload indicates whether to store the raw payload
	StoreRawPayload bool `json:"storeRawPayload,omitempty"`
	// PayloadTTL defines the payload TTL
	PayloadTTL time.Duration `json:"payloadTtl,omitempty"`
}

IntegrationRetentionPolicy defines storage settings for integration payloads.

type IntegrationSlackState added in v1.0.8

type IntegrationSlackState = state.SlackState

IntegrationSlackState captures Slack workspace details for an integration.

type IntegrationStatusResponse

type IntegrationStatusResponse struct {
	// Reply is the reply value.
	rout.Reply
	// Provider is the provider value.
	Provider string `json:"provider"`
	// Connected is the connected value.
	Connected bool `json:"connected"`
	// Status is the status value.
	Status string `json:"status,omitempty"` // "connected", "expired", "invalid"
	// TokenValid is the tokenValid value.
	TokenValid bool `json:"tokenValid,omitempty"`
	// TokenExpired is the tokenExpired value.
	TokenExpired bool `json:"tokenExpired,omitempty"`
	// Message is the message value.
	Message string `json:"message"`
	// Integration is the integration value.
	Integration any `json:"integration,omitempty"` // Will be *ent.Integration
}

IntegrationStatusResponse is the response for checking integration status

func (*IntegrationStatusResponse) ExampleResponse

func (r *IntegrationStatusResponse) ExampleResponse() any

ExampleResponse returns an example IntegrationStatusResponse for OpenAPI documentation

type IntegrationToken

type IntegrationToken struct {
	// Provider is the provider value.
	Provider string `json:"provider" description:"OAuth provider (github, slack, etc.)"`
	// AccessToken is the accessToken value.
	AccessToken string `json:"accessToken" description:"OAuth access token"`
	// RefreshToken is the refreshToken value.
	RefreshToken string `json:"refreshToken,omitempty" description:"OAuth refresh token"`
	// ExpiresAt is the expiresAt value.
	ExpiresAt *time.Time `json:"expiresAt,omitempty" description:"Token expiration time"`
	// ProviderUserID is the providerUserId value.
	ProviderUserID string `json:"providerUserId,omitempty" description:"User ID from the OAuth provider"`
	// ProviderUsername is the providerUsername value.
	ProviderUsername string `json:"providerUsername,omitempty" description:"Username from the OAuth provider"`
	// ProviderEmail is the providerEmail value.
	ProviderEmail string `json:"providerEmail,omitempty" description:"Email from the OAuth provider"`
}

IntegrationToken represents stored OAuth tokens for an integration

func (*IntegrationToken) HasValidToken

func (t *IntegrationToken) HasValidToken() bool

HasValidToken returns true if the token is valid and not expired

func (*IntegrationToken) IsExpired

func (t *IntegrationToken) IsExpired() bool

IsExpired returns true if the token has expired

type IntegrationTokenResponse

type IntegrationTokenResponse struct {
	// Reply is the reply value.
	rout.Reply
	// Provider is the provider value.
	Provider string `json:"provider"`
	// Token is the token value.
	Token *IntegrationToken `json:"token"`
	// ExpiresAt is the expiresAt value.
	ExpiresAt *time.Time `json:"expiresAt,omitempty"`
}

IntegrationTokenResponse is the response for getting integration tokens

func (*IntegrationTokenResponse) ExampleResponse

func (r *IntegrationTokenResponse) ExampleResponse() any

ExampleResponse returns an example IntegrationTokenResponse for OpenAPI documentation

type InviteReply

type InviteReply struct {
	// Reply is the reply value.
	rout.Reply
	// ID is the user_id value.
	ID string `json:"user_id" description:"The ID of the user that was created" example:"01J4EXD5MM60CX4YNYN0DEE3Y1"`
	// Email is the email value.
	Email string `json:"email" description:"The email address of the user" example:"jsnow@example.com"`
	// Message is the message value.
	Message string `json:"message"`
	// JoinedOrgID is the joined_org_id value.
	JoinedOrgID string `json:"joined_org_id" description:"The ID of the organization the user joined" example:"01JJFVMGENQS9ZG3GVA50QVX5E"`
	// Role is the role value.
	Role string `json:"role" description:"The role the user has in the organization" example:"admin"`
	// NeedsSSO is the needs_sso value.
	NeedsSSO bool `json:"needs_sso,omitempty"`
	// AuthData is the authdata value.
	AuthData
}

InviteReply holds the fields that are sent on a response to an accepted invitation

func (*InviteReply) ExampleResponse

func (r *InviteReply) ExampleResponse() any

ExampleResponse returns an example InviteReply for OpenAPI documentation

type InviteRequest

type InviteRequest struct {
	// Token is the token value.
	Token string `query:"token" description:"The token to be used to accept the invitation, token is sent via email"`
}

InviteRequest contains invitation token for organization membership

func (*InviteRequest) Validate

func (r *InviteRequest) Validate() error

Validate ensures the required fields are set on the InviteRequest request

type JobRunnerRegistrationReply

type JobRunnerRegistrationReply struct {
	// Reply is the reply value.
	Reply rout.Reply
	// Message is the message value.
	Message string `json:"message"`
}

JobRunnerRegistrationReply is the response to begin a job runner registration this includes the credential creation options and the session token

func (*JobRunnerRegistrationReply) ExampleResponse

func (r *JobRunnerRegistrationReply) ExampleResponse() any

ExampleResponse returns an example JobRunnerRegistrationReply for OpenAPI documentation

type JobRunnerRegistrationRequest

type JobRunnerRegistrationRequest struct {
	// IPAddress is the ip_address value.
	IPAddress string `json:"ip_address" description:"The IP address of the node being registered"`
	// Token is the token value.
	Token string `json:"token" description:"Your agent registration token"`
	// Name is the name value.
	Name string `json:"name" description:"the name of your job runner node"`
	// Tags is the tags value.
	Tags []string `json:"tags" description:"The tags for your runner node"`
}

JobRunnerRegistrationRequest is the request to register a new node

func (*JobRunnerRegistrationRequest) Validate

func (r *JobRunnerRegistrationRequest) Validate() error

Validate ensures the required fields are set on the AgentNodeRegistrationRequest

type ListIntegrationsResponse

type ListIntegrationsResponse struct {
	// Reply is the reply value.
	rout.Reply
	// Integrations is the integrations value.
	Integrations any `json:"integrations"` // Will be []*ent.Integration
}

ListIntegrationsResponse is the response for listing integrations

type LoginReply

type LoginReply struct {
	// Reply is the reply value.
	rout.Reply
	// AuthData is the authdata value.
	AuthData
	// TFAEnabled is the tfa_enabled value.
	TFAEnabled bool `json:"tfa_enabled,omitempty"`
	// TFASetupRequired is the tfa_required value.
	TFASetupRequired bool `json:"tfa_required,omitempty"`
	// Message is the message value.
	Message string `json:"message"`
}

LoginReply contains authentication tokens and user information after successful login

func (*LoginReply) ExampleResponse

func (r *LoginReply) ExampleResponse() any

ExampleResponse returns an example LoginReply for OpenAPI documentation

type LoginRequest

type LoginRequest struct {
	// Username is the username value.
	Username string `json:"username" description:"The email address associated with the existing account" example:"jsnow@example.com"`
	// Password is the password value.
	Password string `json:"password" description:"The password associated with the account" example:"Wint3rIsC0ming123!"`
}

LoginRequest contains credentials for user authentication

func (*LoginRequest) Validate

func (r *LoginRequest) Validate() error

Validate ensures the required fields are set on the LoginRequest request

type OAuthCallbackRequest

type OAuthCallbackRequest struct {
	// Provider is the provider value.
	Provider string `json:"provider,omitempty" query:"provider" description:"OAuth provider (extracted from state)"`
	// Code is the code value.
	Code string `json:"code" query:"code" description:"OAuth authorization code"`
	// State is the state value.
	State string `json:"state" query:"state" description:"OAuth state parameter"`
}

OAuthCallbackRequest represents the OAuth callback data

func (*OAuthCallbackRequest) Validate

func (r *OAuthCallbackRequest) Validate() error

Validate ensures the required fields are set on the OAuthCallbackRequest

type OAuthCallbackResponse

type OAuthCallbackResponse struct {
	// Reply is the reply value.
	rout.Reply
	// Success is the success value.
	Success bool `json:"success" description:"Whether the OAuth callback was processed successfully"`
	// Integration is the integration value.
	Integration any `json:"integration,omitempty" description:"The created/updated integration object"`
	// Message is the message value.
	Message string `json:"message" description:"Success or error message" example:"Successfully connected GitHub integration"`
}

OAuthCallbackResponse contains the result of OAuth callback processing

func (*OAuthCallbackResponse) ExampleResponse

func (r *OAuthCallbackResponse) ExampleResponse() any

ExampleResponse returns an example OAuthCallbackResponse for OpenAPI documentation

type OAuthFlowRequest

type OAuthFlowRequest struct {
	// Provider is the provider value.
	Provider string `json:"provider" description:"OAuth provider (github, slack, etc.)" example:"github"`
	// RedirectURI is the redirectUri value.
	RedirectURI string `` /* 126-byte string literal not displayed */
	// Scopes is the scopes value.
	Scopes []string `json:"scopes,omitempty" description:"Additional OAuth scopes to request"` // example: ["repo", "gist"]
}

OAuthFlowRequest represents the initial OAuth flow request

func (*OAuthFlowRequest) Validate

func (r *OAuthFlowRequest) Validate() error

Validate ensures the required fields are set on the OAuthFlowRequest

type OAuthFlowResponse

type OAuthFlowResponse struct {
	// Reply is the reply value.
	rout.Reply
	// AuthURL is the authUrl value.
	AuthURL string `` /* 141-byte string literal not displayed */
	// State is the state value.
	State string `json:"state,omitempty" description:"OAuth state parameter for security" example:"eyJvcmdJRCI6IjAxSE..."`
	// Message is the message value.
	Message string `` /* 146-byte string literal not displayed */
	// RequiresLogin is the requiresLogin value.
	RequiresLogin bool `json:"requiresLogin,omitempty" description:"Whether user needs to login before OAuth flow"`
}

OAuthFlowResponse contains the OAuth authorization URL

func (*OAuthFlowResponse) ExampleResponse

func (r *OAuthFlowResponse) ExampleResponse() any

ExampleResponse returns an example OAuthFlowResponse for OpenAPI documentation

type OauthTokenRequest

type OauthTokenRequest struct {
	// Name is the name value.
	Name string `json:"name" description:"The name of the user" example:"Jon Snow"`
	// Email is the email value.
	Email string `json:"email" description:"The email address of the user" example:"jsnow@example.com"`
	// AuthProvider is the authProvider value.
	AuthProvider string `json:"authProvider" description:"The provider used to authenticate the user, e.g. google, github, etc." example:"google"`
	// ExternalUserID is the externalUserId value.
	ExternalUserID string `json:"externalUserId" description:"The ID of the user from the external provider" example:"1234567890"`
	// ExternalUserName is the externalUserName value.
	ExternalUserName string `json:"externalUserName" description:"The username of the user from the external provider" example:"jsnow"`
	// ClientToken is the clientToken value.
	ClientToken string `json:"clientToken" description:"The token provided by the external provider"`
	// Image is the image value.
	Image string `json:"image,omitempty" description:"The image URL of the user from the external provider"`
	// OrgID is the org_id value.
	OrgID string `json:"org_id,omitempty" description:"the organization id for the sso connection"`
}

OauthTokenRequest to authenticate an oauth user with the Server

type ProductCatalogReply

type ProductCatalogReply struct {
	// Reply is the reply value.
	rout.Reply
	// Catalog is the catalog value.
	models.Catalog
}

ProductCatalogReply holds the fields that are sent on a response to the `/products` endpoint

func (*ProductCatalogReply) ExampleResponse

func (r *ProductCatalogReply) ExampleResponse() any

ExampleResponse returns an example ProductCatalogReply for OpenAPI documentation

type ProductCatalogRequest

type ProductCatalogRequest struct {
	// IncludeBeta is the includebeta value.
	IncludeBeta bool `query:"include_beta" description:"Whether to include beta products in the catalog" example:"false"`
	// IncludePrivate is the includeprivate value.
	IncludePrivate bool `query:"include_private" description:"Whether to include private products in the catalog" example:"false"`
}

ProductCatalogRequest

func (*ProductCatalogRequest) Validate

func (r *ProductCatalogRequest) Validate() error

Validate ensures the required fields are set on the ProductCatalogRequest

type RefreshIntegrationTokenRequest

type RefreshIntegrationTokenRequest struct {
	// Provider is the provider value.
	Provider string `param:"provider" description:"OAuth provider (github, slack, etc.)" example:"github"`
}

RefreshIntegrationTokenRequest is the request for refreshing integration tokens

func (*RefreshIntegrationTokenRequest) Validate

func (r *RefreshIntegrationTokenRequest) Validate() error

Validate validates the RefreshIntegrationTokenRequest

type RefreshReply

type RefreshReply struct {
	// Reply is the reply value.
	rout.Reply
	// Message is the message value.
	Message string `json:"message,omitempty"`
	// AuthData is the authdata value.
	AuthData
}

RefreshReply contains new authentication tokens after successful refresh

func (*RefreshReply) ExampleResponse

func (r *RefreshReply) ExampleResponse() any

ExampleResponse returns an example RefreshReply for OpenAPI documentation

type RefreshRequest

type RefreshRequest struct {
	// RefreshToken is the refresh_token value.
	RefreshToken string `json:"refresh_token" description:"The token to be used to refresh the access token after expiration"`
}

RefreshRequest contains the refresh token used to obtain new access tokens

func (*RefreshRequest) Validate

func (r *RefreshRequest) Validate() error

Validate ensures the required fields are set on the RefreshRequest request

type RegisterReply

type RegisterReply struct {
	// Reply is the reply value.
	rout.Reply
	// ID is the user_id value.
	ID string `json:"user_id" description:"The ID of the user that was created" example:"01J4EXD5MM60CX4YNYN0DEE3Y1"`
	// Email is the email value.
	Email string `json:"email" description:"The email address of the user" example:"jsnow@example.com"`
	// Message is the message value.
	Message string `json:"message"`
	// Token is the token value.
	Token string `json:"token,omitempty" exclude:"true"` // only used for requests against local development, excluded from OpenAPI documentation
}

RegisterReply contains authentication tokens and user information after successful registration

func (*RegisterReply) ExampleResponse

func (r *RegisterReply) ExampleResponse() any

ExampleResponse returns an example RegisterReply for OpenAPI documentation

type RegisterRequest

type RegisterRequest struct {
	// FirstName is the first_name value.
	FirstName string `json:"first_name,omitempty" description:"The first name of the user" example:"Jon"`
	// LastName is the last_name value.
	LastName string `json:"last_name,omitempty" description:"The last name of the user" example:"Snow"`
	// Email is the email value.
	Email string `json:"email,omitempty" description:"The email address of the user" example:"jsnow@example.com"`
	// Password is the password value.
	Password string `` /* 130-byte string literal not displayed */
	// Token is the token value.
	Token *string `` /* 126-byte string literal not displayed */
}

RegisterRequest contains user registration information for creating new accounts

func (*RegisterRequest) Validate

func (r *RegisterRequest) Validate() error

Validate ensures the required fields are set on the RegisterRequest request

type ResendReply

type ResendReply struct {
	// Reply is the reply value.
	rout.Reply
	// Message is the message value.
	Message string `json:"message"`
}

ResendReply holds the fields that are sent on a response to the `/resend` endpoint

func (*ResendReply) ExampleResponse

func (r *ResendReply) ExampleResponse() any

ExampleResponse returns an example ResendReply for OpenAPI documentation

type ResendRequest

type ResendRequest struct {
	// Email is the email value.
	Email string `` /* 134-byte string literal not displayed */
}

ResendRequest contains fields for a resend email verification request to the `/resend` endpoint

func (*ResendRequest) Validate

func (r *ResendRequest) Validate() error

Validate ensures the required fields are set on the ResendRequest request

type ResetPasswordReply

type ResetPasswordReply struct {
	// Reply is the reply value.
	rout.Reply
	// Message is the message value.
	Message string `json:"message"`
}

ResetPasswordReply is the response returned from a non-successful password reset request on success, no content is returned (204)

func (*ResetPasswordReply) ExampleResponse

func (r *ResetPasswordReply) ExampleResponse() any

ExampleResponse returns an example ResetPasswordReply for OpenAPI documentation

type ResetPasswordRequest

type ResetPasswordRequest struct {
	// Password is the password value.
	Password string `json:"password" description:"The new password to be used for authentication"`
	// Token is the token value.
	Token string `json:"token" description:"The token to be used to reset the password, token is sent via email"`
}

ResetPasswordRequest contains user input required to reset a user's password using /password-reset endpoint

func (*ResetPasswordRequest) Validate

func (r *ResetPasswordRequest) Validate() error

Validate ensures the required fields are set on the ResetPasswordRequest request

type SSOCallbackRequest

type SSOCallbackRequest struct {
	// Code is the code value.
	Code string `json:"code" query:"code" description:"authorization code" example:"abc"`
	// State is the state value.
	State string `json:"state" query:"state" description:"state value" example:"state123"`
	// OrganizationID is the organization_id value.
	OrganizationID string `json:"organization_id" query:"organization_id" description:"organization id" example:"01J4EXD5MM60CX4YNYN0DEE3Y1"`
}

SSOCallbackRequest holds the query parameters for completing the SSO login flow

func (*SSOCallbackRequest) Validate

func (r *SSOCallbackRequest) Validate() error

Validate ensures the required fields are set on the SSOCallbackRequest

type SSOLoginReply

type SSOLoginReply struct {
	// Reply is the reply value.
	rout.Reply
	// RedirectURI is the redirect_uri value.
	RedirectURI string `json:"redirect_uri,omitempty"`
}

SSOLoginReply is the response for the SSO login

type SSOLoginRequest

type SSOLoginRequest struct {
	// OrganizationID is the organization_id value.
	OrganizationID string `json:"organization_id" query:"organization_id" description:"organization id" example:"01J4EXD5MM60CX4YNYN0DEE3Y1"`
	// ReturnURL is the return value.
	ReturnURL string `json:"return" query:"return" description:"return url after authentication" example:"https://app.mitb.com"`
	// IsTest is the is_test value.
	IsTest bool `json:"is_test" query:"is_test" description:"Used when testing the sso was successfully connected"`
}

SSOLoginRequest holds the query parameters for initiating an SSO login flow

func (*SSOLoginRequest) Validate

func (r *SSOLoginRequest) Validate() error

Validate ensures the required fields are set on the SSOLoginRequest

type SSOStatusReply

type SSOStatusReply struct {
	// Reply is the reply value.
	rout.Reply
	// Enforced is the enforced value.
	Enforced bool `json:"enforced"`
	// Provider is the provider value.
	Provider enums.SSOProvider `json:"provider,omitempty"`
	// DiscoveryURL is the discovery_url value.
	DiscoveryURL string `json:"discovery_url,omitempty"`
	// SAMLSignInURL is the saml_signin_url value.
	SAMLSignInURL string `json:"saml_signin_url,omitempty"`
	// OrganizationID is the organization_id value.
	OrganizationID string `json:"organization_id,omitempty"`
	// OrgTFAEnforced is the tfa_enforced value.
	OrgTFAEnforced bool `json:"tfa_enforced"`
	// UserTFAEnabled is the user_tfa_enabled value.
	UserTFAEnabled bool `json:"user_tfa_enabled,omitempty"`
	// IsOrgOwner is the is_org_owner value.
	IsOrgOwner bool `json:"is_org_owner,omitempty"`
}

SSOStatusReply is the response for SSOStatusRequest

func (*SSOStatusReply) ExampleResponse

func (r *SSOStatusReply) ExampleResponse() any

ExampleResponse returns an example SSOStatusReply for OpenAPI documentation

type SSOStatusRequest

type SSOStatusRequest struct {
	// Resource is the resource value.
	Resource string `query:"resource" description:"organization or user email to check" example:"org:01J4EXD5MM60CX4YNYN0DEE3Y1"`
}

SSOStatusRequest is the request to check if SSO login is enforced for an organization

func (*SSOStatusRequest) Validate

func (r *SSOStatusRequest) Validate() error

Validate ensures the required fields are set on the SSOStatusRequest request

type SSOTokenAuthorizeReply

type SSOTokenAuthorizeReply struct {
	// Reply is the reply value.
	rout.Reply
	// OrganizationID is the organization_id value.
	OrganizationID string `json:"organization_id"`
	// TokenID is the token_id value.
	TokenID string `json:"token_id"`
	// Message is the message value.
	Message string `json:"message,omitempty"`
}

SSOTokenAuthorizeReply is returned when a token has been successfully authorized for SSO

func (*SSOTokenAuthorizeReply) ExampleResponse

func (r *SSOTokenAuthorizeReply) ExampleResponse() any

ExampleResponse returns an example SSOTokenAuthorizeReply for OpenAPI documentation

type SSOTokenAuthorizeRequest

type SSOTokenAuthorizeRequest struct {
	// OrganizationID is the organization_id value.
	OrganizationID string `json:"organization_id" query:"organization_id" description:"organization id" example:"01J4EXD5MM60CX4YNYN0DEE3Y1"`
	// TokenID is the token_id value.
	TokenID string `json:"token_id" query:"token_id" description:"token id to authorize" example:"01JJFVMGENQS9ZG3GVA50QVX5E"`
	// TokenType is the token_type value.
	TokenType string `json:"token_type" query:"token_type" description:"token type: api or personal" example:"api"`
}

SSOTokenAuthorizeRequest is the request for authorizing a token for SSO use with an organization

func (*SSOTokenAuthorizeRequest) Validate

func (r *SSOTokenAuthorizeRequest) Validate() error

Validate ensures required fields are set on the SSOTokenAuthorizeRequest

type SSOTokenCallbackRequest

type SSOTokenCallbackRequest struct {
	// Code is the code value.
	Code string `json:"code" query:"code" description:"authorization code" example:"abc"`
	// State is the state value.
	State string `json:"state" query:"state" description:"state value" example:"state123"`
}

SSOTokenCallbackRequest holds the query parameters for completing token SSO authorization

func (*SSOTokenCallbackRequest) Validate

func (r *SSOTokenCallbackRequest) Validate() error

Validate ensures required fields are set on the SSOTokenCallbackRequest

type SnapshotReply added in v1.0.5

type SnapshotReply struct {
	// Reply is the reply value.
	rout.Reply
	// Message is the message value.
	Message string `json:"message"`
	// Image is the image value.
	Image string `json:"image" description:"Base64-encoded image data of the snapshot"`
	// MIMEType is the mimeType value.
	MIMEType string `json:"mimeType" description:"MIME type of the snapshot image" example:"image/png"`
}

SnapshotReply holds the fields that are sent on a response to the `/snapshot` endpoint

func (*SnapshotReply) ExampleResponse added in v1.0.5

func (r *SnapshotReply) ExampleResponse() any

ExampleResponse returns an example SnapshotReply for OpenAPI documentation

type SnapshotRequest added in v1.0.5

type SnapshotRequest struct {
	// URL is the url value.
	URL string `json:"url" description:"The URL of the domain to take a snapshot of" example:"https://www.example.com"`
	// WaitForSelector is the waitForSelector value.
	WaitForSelector string `` /* 132-byte string literal not displayed */
}

SnapshotRequest contains fields for a snapshot request to the `/snapshot` endpoint

func (*SnapshotRequest) Validate added in v1.0.5

func (r *SnapshotRequest) Validate() error

Validate ensures the required fields are set on the SnapshotRequest request

type StartImpersonationReply

type StartImpersonationReply struct {
	// Reply is the reply value.
	rout.Reply
	// Token is the token value.
	Token string `json:"token" description:"The impersonation token"`
	// ExpiresAt is the expires_at value.
	ExpiresAt time.Time `json:"expires_at" description:"When the impersonation token expires"`
	// SessionID is the session_id value.
	SessionID string `json:"session_id" description:"The impersonation session ID"`
	// Message is the message value.
	Message string `json:"message" description:"Success message"`
}

StartImpersonationReply represents the response when starting impersonation

func (*StartImpersonationReply) ExampleResponse

func (r *StartImpersonationReply) ExampleResponse() any

ExampleResponse returns an example StartImpersonationReply for OpenAPI documentation

type StartImpersonationRequest

type StartImpersonationRequest struct {
	// TargetUserID is the target_user_id value.
	TargetUserID string `json:"target_user_id" validate:"required" description:"The ID of the user to impersonate"`
	// Type is the type value.
	Type string `json:"type" validate:"required,oneof=support job admin" description:"The type of impersonation (support, job, admin)"`
	// Reason is the reason value.
	Reason string `json:"reason" validate:"required,min=10,max=500" description:"Reason for the impersonation"`
	// Duration is the duration_hours value.
	Duration *int `json:"duration_hours,omitempty" description:"Duration in hours (optional, defaults to 1 hour)"`
	// Scopes is the scopes value.
	Scopes []string `json:"scopes,omitempty" description:"Specific scopes for the impersonation session"`
	// OrganizationID is the organization_id value.
	OrganizationID string `json:"organization_id,omitempty" description:"Organization context for impersonation"`
}

StartImpersonationRequest represents a request to start impersonating a user

func (*StartImpersonationRequest) Validate

func (r *StartImpersonationRequest) Validate() error

Validate ensures the required fields are set on the StartImpersonationRequest

type StripeWebhookRequest

type StripeWebhookRequest struct {
	// APIVersion is the apiversion value.
	APIVersion string `query:"api_version" description:"Stripe API version for this webhook request" example:"2024-11-20.acacia"`
}

StripeWebhookRequest contains the query parameters for Stripe webhook requests

func (*StripeWebhookRequest) Validate

func (r *StripeWebhookRequest) Validate() error

Validate ensures the StripeWebhookRequest is valid

type SubmitQuestionnaireRequest

type SubmitQuestionnaireRequest struct {
	// AssessmentID is the assessment_id value.
	AssessmentID string `json:"assessment_id,omitempty"`
	// Data is the data value.
	Data map[string]any `json:"data" binding:"required"`
	// IsDraft when true saves partial progress without completing the questionnaire.
	IsDraft bool `json:"is_draft,omitempty"`
}

SubmitQuestionnaireRequest is the request to submit questionnaire response data

type SubmitQuestionnaireResponse

type SubmitQuestionnaireResponse struct {
	// DocumentDataID is the document_data_id value.
	DocumentDataID string `json:"document_data_id"`
	// Status is the status value.
	Status string `json:"status"`
	// CompletedAt is the completed_at value.
	CompletedAt string `json:"completed_at,omitempty"`
}

SubmitQuestionnaireResponse is the response after successfully submitting questionnaire data

func (*SubmitQuestionnaireResponse) ExampleResponse

func (r *SubmitQuestionnaireResponse) ExampleResponse() any

ExampleResponse returns an example SubmitQuestionnaireResponse for OpenAPI documentation

type SwitchOrganizationReply

type SwitchOrganizationReply struct {
	// Reply is the reply value.
	rout.Reply
	// AuthData is the authdata value.
	AuthData
	// NeedsSSO is the needs_sso value.
	NeedsSSO bool `json:"needs_sso,omitempty"`
	// NeedsTFA is the needs_tfa value.
	NeedsTFA bool `json:"needs_tfa,omitempty"`
	// RedirectURI is the redirect_uri value.
	RedirectURI string `json:"redirect_uri,omitempty"`
}

SwitchOrganizationReply holds the new authentication and session information for the user for the new organization

func (*SwitchOrganizationReply) ExampleResponse

func (r *SwitchOrganizationReply) ExampleResponse() any

ExampleResponse returns an example SwitchOrganizationReply for OpenAPI documentation

type SwitchOrganizationRequest

type SwitchOrganizationRequest struct {
	// TargetOrganizationID is the target_organization_id value.
	TargetOrganizationID string `json:"target_organization_id" description:"The ID of the organization to switch to" example:"01J4EXD5MM60CX4YNYN0DEE3Y1"`
}

SwitchOrganizationRequest contains the target organization ID being switched to for the /switch endpoint

func (*SwitchOrganizationRequest) Validate

func (r *SwitchOrganizationRequest) Validate() error

Validate ensures the required fields are set on the SwitchOrganizationRequest request

type TFAReply

type TFAReply struct {
	// Reply is the reply value.
	rout.Reply
	// Message is the message value.
	Message string `json:"message"`
}

TFAReply holds the response to TFARequest

func (*TFAReply) ExampleResponse

func (r *TFAReply) ExampleResponse() any

ExampleResponse returns an example TFAReply for OpenAPI documentation

type TFARequest

type TFARequest struct {
	// TOTPCode is the totp_code value.
	TOTPCode string `` /* 127-byte string literal not displayed */
	// RecoveryCode is the recovery_code value.
	RecoveryCode string `` /* 133-byte string literal not displayed */
}

TFARequest holds the payload for verifying the 2fa code (/2fa/validate)

func (*TFARequest) Validate

func (r *TFARequest) Validate() error

Validate ensures the required fields are set on the TFARequest request

type UploadFilesReply

type UploadFilesReply struct {
	// Reply is the reply value.
	rout.Reply
	// Message is the message value.
	Message string `json:"message,omitempty"`
	// FileCount is the file_count value.
	FileCount int64 `json:"file_count,omitempty" description:"The number of files uploaded"`
	// Files is the files value.
	Files []File `json:"files,omitempty" description:"The files that were uploaded"`
}

UploadFilesReply holds the fields that are sent on a response to the `/upload` endpoint

func (*UploadFilesReply) ExampleResponse

func (r *UploadFilesReply) ExampleResponse() any

ExampleResponse returns an example UploadFilesReply for OpenAPI documentation

type UploadFilesRequest

type UploadFilesRequest struct {
	// UploadFile is the uploadfile value.
	UploadFile multipart.FileHeader `form:"uploadFile" description:"The file to be uploaded"`
}

UploadFilesRequest contains file upload data and metadata

type UserInfoReply

type UserInfoReply struct {
	// Reply is the reply value.
	rout.Reply
	// ID is the id value.
	ID string `json:"id" description:"The ID of the user" example:"01J4EXD5MM60CX4YNYN0DEE3Y1"`
	// Email is the email value.
	Email string `json:"email" description:"The email address of the user" example:"jsnow@example.com"`
	// FirstName is the first_name value.
	FirstName string `json:"first_name,omitempty" description:"The first name of the user" example:"Jon"`
	// LastName is the last_name value.
	LastName string `json:"last_name,omitempty" description:"The last name of the user" example:"Snow"`
	// DisplayName is the display_name value.
	DisplayName string `json:"display_name,omitempty" description:"The display name of the user" example:"Jon Snow"`
	// AvatarRemoteURL is the avatar_remote_url value.
	AvatarRemoteURL *string `json:"avatar_remote_url,omitempty" description:"URL of the user's remote avatar" example:"https://example.com/avatar.jpg"`
	// LastSeen is the last_seen value.
	LastSeen *string `json:"last_seen,omitempty" description:"The time the user was last seen" example:"2023-01-01T00:00:00Z"`
	// Role is the role value.
	Role string `json:"role,omitempty" description:"The user's role" example:"ADMIN"`
	// Sub is the sub value.
	Sub string `json:"sub" description:"The subject of the user JWT" example:"user123"`
}

UserInfoReply contains user information for authenticated requests

type VerifyReply

type VerifyReply struct {
	// Reply is the reply value.
	rout.Reply
	// ID is the user_id value.
	ID string `json:"user_id" description:"The ID of the user that was created" example:"01J4EXD5MM60CX4YNYN0DEE3Y1"`
	// Email is the email value.
	Email string `json:"email" description:"The email address of the user" example:"jsnow@example.com"`
	// Message is the message value.
	Message string `json:"message,omitempty"`
	// AuthData is the authdata value.
	AuthData
}

VerifyReply holds the fields that are sent on a response to the `/verify` endpoint

func (*VerifyReply) ExampleResponse

func (r *VerifyReply) ExampleResponse() any

ExampleResponse returns an example VerifyReply for OpenAPI documentation

type VerifyRequest

type VerifyRequest struct {
	// Token is the token value.
	Token string `query:"token" description:"The token to be used to verify the email address, token is sent via email"`
}

VerifyRequest contains email verification token

func (*VerifyRequest) Validate

func (r *VerifyRequest) Validate() error

Validate ensures the required fields are set on the VerifyRequest request

type VerifySubscribeReply

type VerifySubscribeReply struct {
	// Reply is the reply value.
	rout.Reply
	// Message is the message value.
	Message string `json:"message,omitempty"`
}

VerifySubscribeReply holds the fields that are sent on a response to the `/subscribe/verify` endpoint

type VerifySubscribeRequest

type VerifySubscribeRequest struct {
	// Token is the token value.
	Token string `query:"token" description:"The token to be used to verify the subscription, token is sent via email"`
}

VerifySubscribeRequest contains subscription verification information

func (*VerifySubscribeRequest) Validate

func (r *VerifySubscribeRequest) Validate() error

Validate ensures the required fields are set on the VerifySubscribeRequest request

type WebauthnBeginLoginResponse

type WebauthnBeginLoginResponse struct {
	// Reply is the reply value.
	Reply rout.Reply
	// CredentialAssertion is the credentialassertion value.
	*protocol.CredentialAssertion
	// Session is the session value.
	Session string `json:"session,omitempty"`
}

WebauthnBeginLoginResponse is the response to begin a webauthn login this includes the credential assertion options and the session token

func (*WebauthnBeginLoginResponse) ExampleResponse

func (r *WebauthnBeginLoginResponse) ExampleResponse() any

ExampleResponse returns an example WebauthnBeginLoginResponse for OpenAPI documentation

type WebauthnBeginRegistrationResponse

type WebauthnBeginRegistrationResponse struct {
	// Reply is the reply value.
	Reply rout.Reply
	// CredentialCreation is the credentialcreation value.
	*protocol.CredentialCreation
	// Session is the session value.
	Session string `json:"session,omitempty"`
}

WebauthnBeginRegistrationResponse is the response to begin a webauthn login this includes the credential creation options and the session token

func (*WebauthnBeginRegistrationResponse) ExampleResponse

func (r *WebauthnBeginRegistrationResponse) ExampleResponse() any

ExampleResponse returns an example WebauthnBeginRegistrationResponse for OpenAPI documentation

type WebauthnLoginFinishRequest

type WebauthnLoginFinishRequest struct {
	// ID is the id value.
	ID string `json:"id" description:"The credential ID"`
	// RawID is the rawId value.
	RawID string `json:"rawId" description:"The raw credential ID"`
	// Type is the type value.
	Type string `json:"type" description:"The credential type, should be 'public-key'"`
	// AuthenticatorAttachment is the authenticatorAttachment value.
	AuthenticatorAttachment string `json:"authenticatorAttachment,omitempty" description:"How the authenticator is attached"`
	// ClientExtensionResults is the clientExtensionResults value.
	ClientExtensionResults map[string]interface{} `json:"clientExtensionResults,omitempty" description:"Extension results"`
	// Response is the response value.
	Response struct {
		AuthenticatorData string `json:"authenticatorData" description:"The authenticator data"`
		ClientDataJSON    string `json:"clientDataJSON" description:"The client data JSON"`
		Signature         string `json:"signature" description:"The assertion signature"`
		UserHandle        string `json:"userHandle,omitempty" description:"The user handle"`
	} `json:"response" description:"The authenticator response"`
}

WebauthnLoginFinishRequest is the request to finish webauthn login This represents the credential assertion response from the browser's WebAuthn API

type WebauthnLoginRequest

type WebauthnLoginRequest struct {
	// Email is the email value.
	Email string `json:"email,omitempty" description:"The email address associated with the account" example:"jsnow@example.com"`
}

WebauthnLoginRequest is the request to begin a webauthn login

func (*WebauthnLoginRequest) Validate

func (r *WebauthnLoginRequest) Validate() error

Validate ensures the required fields are set on the WebauthnLoginRequest request

type WebauthnLoginResponse

type WebauthnLoginResponse struct {
	// Reply is the reply value.
	rout.Reply
	// Message is the message value.
	Message string `json:"message,omitempty"`
	// AuthData is the authdata value.
	AuthData
}

WebauthnLoginResponse is the response after a successful webauthn login

func (*WebauthnLoginResponse) ExampleResponse

func (r *WebauthnLoginResponse) ExampleResponse() any

ExampleResponse returns an example WebauthnLoginResponse for OpenAPI documentation

type WebauthnRegistrationFinishRequest

type WebauthnRegistrationFinishRequest struct {
	// ID is the id value.
	ID string `json:"id" description:"The credential ID"`
	// RawID is the rawId value.
	RawID string `json:"rawId" description:"The raw credential ID"`
	// Type is the type value.
	Type string `json:"type" description:"The credential type, should be 'public-key'"`
	// AuthenticatorAttachment is the authenticatorAttachment value.
	AuthenticatorAttachment string `json:"authenticatorAttachment,omitempty" description:"How the authenticator is attached"`
	// ClientExtensionResults is the clientExtensionResults value.
	ClientExtensionResults map[string]interface{} `json:"clientExtensionResults,omitempty" description:"Extension results"`
	// Response is the response value.
	Response struct {
		AttestationObject  string   `json:"attestationObject" description:"The attestation object"`
		ClientDataJSON     string   `json:"clientDataJSON" description:"The client data JSON"`
		PublicKey          string   `json:"publicKey,omitempty" description:"The public key"`
		PublicKeyAlgorithm int      `json:"publicKeyAlgorithm,omitempty" description:"The public key algorithm"`
		Transports         []string `json:"transports,omitempty" description:"Available transports"`
		AuthenticatorData  string   `json:"authenticatorData,omitempty" description:"The authenticator data"`
	} `json:"response" description:"The authenticator response"`
}

WebauthnRegistrationFinishRequest is the request to finish webauthn registration This represents the credential creation response from the browser's WebAuthn API

type WebauthnRegistrationRequest

type WebauthnRegistrationRequest struct {
	// Email is the email value.
	Email string `json:"email" description:"The email address associated with the account" example:"jsnow@example.com"`
	// Name is the name value.
	Name string `json:"name,omitempty" description:"The name of the user" example:"Jon Snow"`
}

WebauthnRegistrationRequest is the request to begin a webauthn login

func (*WebauthnRegistrationRequest) Validate

func (r *WebauthnRegistrationRequest) Validate() error

type WebauthnRegistrationResponse

type WebauthnRegistrationResponse struct {
	// Reply is the reply value.
	rout.Reply
	// Message is the message value.
	Message string `json:"message,omitempty"`
	// AuthData is the authdata value.
	AuthData
}

WebauthnRegistrationResponse is the response after a successful webauthn registration

func (*WebauthnRegistrationResponse) ExampleResponse

func (r *WebauthnRegistrationResponse) ExampleResponse() any

ExampleResponse returns an example WebauthnRegistrationResponse for OpenAPI documentation

type WebfingerRequest

type WebfingerRequest struct {
	// Resource is the resource value.
	Resource string `query:"resource" description:"resource identifier prefixed with org: or acct:" example:"acct:meowmeow@kitties.com"`
}

WebfingerRequest represents the query parameters accepted by the `/.well-known/webfinger` endpoint

The `resource` field must be provided and should be prefixed with `org:` for organization lookups or `acct:` for user lookups

func (*WebfingerRequest) Validate

func (r *WebfingerRequest) Validate() error

Validate ensures a valid resource was provided on the WebfingerRequest

Jump to

Keyboard shortcuts

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