openapi

package
v0.42.2 Latest Latest
Warning

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

Go to latest
Published: Oct 30, 2025 License: Apache-2.0 Imports: 15 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 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: ulids.New().String(),
	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 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: gencatalog.DefaultSandboxCatalog,
}

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: ulids.New().String(),
}

ExampleSSOCallbackRequest is an example request for OpenAPI documentation

View Source
var ExampleSSOLoginRequest = SSOLoginRequest{
	OrganizationID: ulids.New().String(),
	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: ulids.New().String(),
	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: ulids.New().String(),
	TokenID:        ulids.New().String(),
	Message:        "success",
}

ExampleSSOTokenAuthorizeReply is an example response for OpenAPI documentation

View Source
var ExampleSSOTokenAuthorizeRequest = SSOTokenAuthorizeRequest{
	OrganizationID: ulids.New().String(),
	TokenID:        ulids.New().String(),
	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 ExampleStartImpersonationReply = StartImpersonationReply{
	Reply:     rout.Reply{Success: true},
	Token:     "imp_" + ulids.New().String(),
	ExpiresAt: time.Now().Add(time.Hour),
	SessionID: ulids.New().String(),
	Message:   "Impersonation session started successfully",
}

ExampleStartImpersonationReply is an example response for OpenAPI documentation

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

ExampleStartImpersonationRequest is an example request 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: ulids.New().String(),
}

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:    time.Now(),
			UpdatedAt:    time.Now(),
		},
	},
}

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:      ulids.New().String(),
	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 {
	rout.Reply
	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    string `json:"object_id" description:"The ID of the object to check access for" example:"01J4EXD5MM60CX4YNYN0DEE3Y1"`
	ObjectType  string `` /* 138-byte string literal not displayed */
	Relation    string `json:"relation" description:"The relation to check access for, e.g. can_view, can_edit" example:"can_view"`
	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 {
	rout.Reply
	Features       []string `` /* 138-byte string literal not displayed */
	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 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 {
	rout.Reply
	Roles          []string `json:"roles" description:"The roles the user has in the organization, e.g. can_view, can_edit"`
	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 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 {
	rout.Reply
	Roles []string `json:"roles"`
}

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 {
	ObjectID    string   `json:"object_id" description:"The ID of the object to check roles for" example:"01J4EXD5MM60CX4YNYN0DEE3Y1"`
	ObjectType  string   `` /* 137-byte string literal not displayed */
	SubjectType string   `json:"subject_type,omitempty" description:"The type of subject to check roles for, e.g. service, user" example:"user"`
	Relations   []string `json:"relations,omitempty" description:"The relations to check roles for, e.g. can_view, can_edit"`
}

AccountRolesRequest contains organization ID for retrieving user roles

func (*AccountRolesRequest) Validate

func (r *AccountRolesRequest) Validate() error

Validate ensures the required fields are set on the AccountAccessRequest

type AcmeSolverRequest

type AcmeSolverRequest struct {
	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  string `json:"access_token" description:"The access token to be used for authentication"`
	RefreshToken string `json:"refresh_token,omitempty" description:"The refresh token to be used to refresh the access token after it expires"`
	Session      string `json:"session,omitempty" description:"The short-lived session token required for authentication"`
	TokenType    string `json:"token_type,omitempty" description:"The type of token being returned" example:"bearer"`
}

type AvailableAuthTypeLoginRequest

type AvailableAuthTypeLoginRequest struct {
	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 {
	rout.Reply
	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
}

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 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 {
	rout.Reply
	Message string `json:"message"`
}

DeleteIntegrationResponse is the response for deleting an integration

type EndImpersonationReply

type EndImpersonationReply struct {
	rout.Reply
	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 string `json:"session_id" validate:"required" description:"The session ID to end"`
	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 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 added in v0.39.2

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

func (*FileDownload) Validate added in v0.39.2

func (r *FileDownload) Validate() error

Validate ensures the required fields are set on the VerifyRequest request

type FileDownloadReply added in v0.39.2

type FileDownloadReply struct {
	rout.Reply
	Message string `json:"message,omitempty"`
	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 added in v0.39.2

func (r *FileDownloadReply) ExampleResponse() any

ExampleResponse returns an example UploadFilesReply for OpenAPI documentation

type ForgotPasswordReply

type ForgotPasswordReply struct {
	rout.Reply
	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 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 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 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 IntegrationStatusResponse

type IntegrationStatusResponse struct {
	rout.Reply
	Provider     string `json:"provider"`
	Connected    bool   `json:"connected"`
	Status       string `json:"status,omitempty"` // "connected", "expired", "invalid"
	TokenValid   bool   `json:"tokenValid,omitempty"`
	TokenExpired bool   `json:"tokenExpired,omitempty"`
	Message      string `json:"message"`
	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         string     `json:"provider" description:"OAuth provider (github, slack, etc.)"`
	AccessToken      string     `json:"accessToken" description:"OAuth access token"`
	RefreshToken     string     `json:"refreshToken,omitempty" description:"OAuth refresh token"`
	ExpiresAt        *time.Time `json:"expiresAt,omitempty" description:"Token expiration time"`
	ProviderUserID   string     `json:"providerUserId,omitempty" description:"User ID from the OAuth provider"`
	ProviderUsername string     `json:"providerUsername,omitempty" description:"Username from the OAuth provider"`
	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 {
	rout.Reply
	Provider  string            `json:"provider"`
	Token     *IntegrationToken `json:"token"`
	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 {
	rout.Reply
	ID          string `json:"user_id" description:"The ID of the user that was created" example:"01J4EXD5MM60CX4YNYN0DEE3Y1"`
	Email       string `json:"email" description:"The email address of the user" example:"jsnow@example.com"`
	Message     string `json:"message"`
	JoinedOrgID string `json:"joined_org_id" description:"The ID of the organization the user joined" example:"01JJFVMGENQS9ZG3GVA50QVX5E"`
	Role        string `json:"role" description:"The role the user has in the organization" example:"admin"`
	NeedsSSO    bool   `json:"needs_sso,omitempty"`
	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 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   rout.Reply
	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 string   `json:"ip_address" description:"The IP address of the node being registered"`
	Token     string   `json:"token" description:"Your agent registration token"`
	Name      string   `json:"name" description:"the name of your job runner node"`
	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 {
	rout.Reply
	Integrations any `json:"integrations"` // Will be []*ent.Integration
}

ListIntegrationsResponse is the response for listing integrations

type LoginReply

type LoginReply struct {
	rout.Reply
	AuthData
	TFAEnabled       bool   `json:"tfa_enabled,omitempty"`
	TFASetupRequired bool   `json:"tfa_required,omitempty"`
	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 string `json:"username" description:"The email address associated with the existing account" example:"jsnow@example.com"`
	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 string `json:"provider,omitempty" query:"provider" description:"OAuth provider (extracted from state)"`
	Code     string `json:"code" query:"code" description:"OAuth authorization code"`
	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 {
	rout.Reply
	Success     bool   `json:"success" description:"Whether the OAuth callback was processed successfully"`
	Integration any    `json:"integration,omitempty" description:"The created/updated integration object"`
	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    string   `json:"provider" description:"OAuth provider (github, slack, etc.)" example:"github"`
	RedirectURI string   ``                                                                         /* 126-byte string literal not displayed */
	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 {
	rout.Reply
	AuthURL       string `` /* 141-byte string literal not displayed */
	State         string `json:"state,omitempty" description:"OAuth state parameter for security" example:"eyJvcmdJRCI6IjAxSE..."`
	Message       string `` /* 146-byte string literal not displayed */
	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             string `json:"name" description:"The name of the user" example:"Jon Snow"`
	Email            string `json:"email" description:"The email address of the user" example:"jsnow@example.com"`
	AuthProvider     string `json:"authProvider" description:"The provider used to authenticate the user, e.g. google, github, etc." example:"google"`
	ExternalUserID   string `json:"externalUserId" description:"The ID of the user from the external provider" example:"1234567890"`
	ExternalUserName string `json:"externalUserName" description:"The username of the user from the external provider" example:"jsnow"`
	ClientToken      string `json:"clientToken" description:"The token provided by the external provider"`
	Image            string `json:"image,omitempty" description:"The image URL of the user from the external provider"`
	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 {
	rout.Reply
	catalog.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    bool `query:"include_beta" description:"Whether to include beta products in the catalog" example:"false"`
	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 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 {
	rout.Reply
	Message string `json:"message,omitempty"`
	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 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 {
	rout.Reply
	ID      string `json:"user_id" description:"The ID of the user that was created" example:"01J4EXD5MM60CX4YNYN0DEE3Y1"`
	Email   string `json:"email" description:"The email address of the user" example:"jsnow@example.com"`
	Message string `json:"message"`
	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 string  `json:"first_name,omitempty" description:"The first name of the user" example:"Jon"`
	LastName  string  `json:"last_name,omitempty" description:"The last name of the user" example:"Snow"`
	Email     string  `json:"email,omitempty" description:"The email address of the user" example:"jsnow@example.com"`
	Password  string  `` /* 130-byte string literal not displayed */
	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 {
	rout.Reply
	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 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 {
	rout.Reply
	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 string `json:"password" description:"The new password to be used for authentication"`
	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           string `json:"code" query:"code" description:"authorization code" example:"abc"`
	State          string `json:"state" query:"state" description:"state value" example:"state123"`
	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 added in v0.33.1

type SSOLoginReply struct {
	rout.Reply
	RedirectURI string `json:"redirect_uri,omitempty"`
}

SSOLoginReply is the response for the SSO login

type SSOLoginRequest

type SSOLoginRequest struct {
	OrganizationID string `json:"organization_id" query:"organization_id" description:"organization id" example:"01J4EXD5MM60CX4YNYN0DEE3Y1"`
	ReturnURL      string `json:"return" query:"return" description:"return url after authentication" example:"https://app.mitb.com"`
	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 {
	rout.Reply
	Enforced       bool              `json:"enforced"`
	Provider       enums.SSOProvider `json:"provider,omitempty"`
	DiscoveryURL   string            `json:"discovery_url,omitempty"`
	SAMLSignInURL  string            `json:"saml_signin_url,omitempty"`
	OrganizationID string            `json:"organization_id,omitempty"`
	OrgTFAEnforced bool              `json:"tfa_enforced"`
	UserTFAEnabled bool              `json:"user_tfa_enabled,omitempty"`
	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 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 {
	rout.Reply
	OrganizationID string `json:"organization_id"`
	TokenID        string `json:"token_id"`
	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 string `json:"organization_id" query:"organization_id" description:"organization id" example:"01J4EXD5MM60CX4YNYN0DEE3Y1"`
	TokenID        string `json:"token_id" query:"token_id" description:"token id to authorize" example:"01JJFVMGENQS9ZG3GVA50QVX5E"`
	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  string `json:"code" query:"code" description:"authorization code" example:"abc"`
	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 StartImpersonationReply

type StartImpersonationReply struct {
	rout.Reply
	Token     string    `json:"token" description:"The impersonation token"`
	ExpiresAt time.Time `json:"expires_at" description:"When the impersonation token expires"`
	SessionID string    `json:"session_id" description:"The impersonation session ID"`
	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   string   `json:"target_user_id" validate:"required" description:"The ID of the user to impersonate"`
	Type           string   `json:"type" validate:"required,oneof=support job admin" description:"The type of impersonation (support, job, admin)"`
	Reason         string   `json:"reason" validate:"required,min=10,max=500" description:"Reason for the impersonation"`
	Duration       *int     `json:"duration_hours,omitempty" description:"Duration in hours (optional, defaults to 1 hour)"`
	Scopes         []string `json:"scopes,omitempty" description:"Specific scopes for the impersonation session"`
	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 SwitchOrganizationReply

type SwitchOrganizationReply struct {
	rout.Reply
	AuthData
	NeedsSSO    bool   `json:"needs_sso,omitempty"`
	NeedsTFA    bool   `json:"needs_tfa,omitempty"`
	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 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 {
	rout.Reply
	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     string `` /* 127-byte string literal not displayed */
	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 {
	rout.Reply
	Message   string `json:"message,omitempty"`
	FileCount int64  `json:"file_count,omitempty" description:"The number of files uploaded"`
	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 multipart.FileHeader `form:"uploadFile" description:"The file to be uploaded"`
}

UploadFilesRequest contains file upload data and metadata

type UserInfoReply

type UserInfoReply struct {
	rout.Reply
	ID              string  `json:"id" description:"The ID of the user" example:"01J4EXD5MM60CX4YNYN0DEE3Y1"`
	Email           string  `json:"email" description:"The email address of the user" example:"jsnow@example.com"`
	FirstName       string  `json:"first_name,omitempty" description:"The first name of the user" example:"Jon"`
	LastName        string  `json:"last_name,omitempty" description:"The last name of the user" example:"Snow"`
	DisplayName     string  `json:"display_name,omitempty" description:"The display name of the user" example:"Jon Snow"`
	AvatarRemoteURL *string `json:"avatar_remote_url,omitempty" description:"URL of the user's remote avatar" example:"https://example.com/avatar.jpg"`
	LastSeen        *string `json:"last_seen,omitempty" description:"The time the user was last seen" example:"2023-01-01T00:00:00Z"`
	Role            string  `json:"role,omitempty" description:"The user's role" example:"ADMIN"`
	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 {
	rout.Reply
	ID      string `json:"user_id" description:"The ID of the user that was created" example:"01J4EXD5MM60CX4YNYN0DEE3Y1"`
	Email   string `json:"email" description:"The email address of the user" example:"jsnow@example.com"`
	Message string `json:"message,omitempty"`
	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 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 {
	rout.Reply
	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 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 rout.Reply
	*protocol.CredentialAssertion
	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 rout.Reply
	*protocol.CredentialCreation
	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                      string                 `json:"id" description:"The credential ID"`
	RawID                   string                 `json:"rawId" description:"The raw credential ID"`
	Type                    string                 `json:"type" description:"The credential type, should be 'public-key'"`
	AuthenticatorAttachment string                 `json:"authenticatorAttachment,omitempty" description:"How the authenticator is attached"`
	ClientExtensionResults  map[string]interface{} `json:"clientExtensionResults,omitempty" description:"Extension results"`
	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 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 {
	rout.Reply
	Message string `json:"message,omitempty"`
	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                      string                 `json:"id" description:"The credential ID"`
	RawID                   string                 `json:"rawId" description:"The raw credential ID"`
	Type                    string                 `json:"type" description:"The credential type, should be 'public-key'"`
	AuthenticatorAttachment string                 `json:"authenticatorAttachment,omitempty" description:"How the authenticator is attached"`
	ClientExtensionResults  map[string]interface{} `json:"clientExtensionResults,omitempty" description:"Extension results"`
	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 string `json:"email" description:"The email address associated with the account" example:"jsnow@example.com"`
	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 {
	rout.Reply
	Message string `json:"message,omitempty"`
	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 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