Documentation
¶
Index ¶
- Constants
- type Computer
- type ComputerOwner
- type ComputerResults
- type DeactivateMetadata
- type DeactivatedStatusInfo
- type Employment
- type EmploymentStatus
- type Evidence
- type EvidenceResults
- type GenericNamedItem
- type GroupItem
- type GroupResults
- type Integration
- type IntegrationConnection
- type IntegrationResults
- type LeaveInfo
- type ListComputersOptions
- type ListComputersOutput
- type ListEvidenceOptions
- type ListEvidenceOutput
- type ListGroupsOptions
- type ListGroupsOutput
- type ListIntegrationsOptions
- type ListIntegrationsOutput
- type ListMonitorsOptions
- type ListPeopleOptions
- type ListPeopleOutput
- type ListPoliciesOptions
- type ListPoliciesOutput
- type ListTestEntitiesOptions
- type ListTestsOptions
- type ListVendorsOptions
- type ListVendorsOutput
- type ListVulnerabilitiesOptions
- type ListVulnerabilitiesOutput
- type Monitor
- type MonitorOwner
- type MonitorResults
- type MonitorResultsData
- type MonitorVersion
- type Name
- type OperatingSystem
- type PageInfo
- type PeopleResults
- type Person
- type Policy
- type PolicyItem
- type PolicyLatestVersion
- type PolicyResults
- type PolicyStatus
- type PolicyTask
- type RelatedControl
- type RemediationStatusInfo
- type SecurityCheck
- type SourceInfo
- type Sources
- type TaskDetail
- type TaskStatus
- type TasksDetails
- type TasksSummary
- type Test
- type TestDeactivatedStatus
- type TestEntitiesResults
- type TestEntitiesResultsData
- type TestEntity
- type TestOwner
- type TestRemediationStatus
- type TestResults
- type TestResultsData
- type TestVersion
- type Vendor
- type VendorAuthDetails
- type VendorCategory
- type VendorResults
- type Vulnerability
- type VulnerabilityResults
Constants ¶
const ( EvidenceStatusAccepted = "Accepted" EvidenceStatusFlagged = "Flagged" EvidenceStatusInitialized = "Initialized" EvidenceStatusNA = "NA" EvidenceStatusNotReady = "Not ready for audit" EvidenceStatusReady = "Ready for audit" )
EvidenceStatus represents the possible statuses for evidence
const ( EvidenceTypeEvidence = "Evidence" EvidenceTypeRequest = "Request" EvidenceTypePolicy = "Policy" EvidenceTypeTest = "Test" )
EvidenceType represents the possible types of evidence
const ( TaskStatusComplete TaskStatus = "COMPLETE" TaskStatusDueSoon TaskStatus = "DUE_SOON" TaskStatusNone TaskStatus = "NONE" TaskStatusOverdue TaskStatus = "OVERDUE" TaskStatusPaused TaskStatus = "PAUSED" TaskStatusOffboardingComplete TaskStatus = "OFFBOARDING_COMPLETE" TaskStatusOffboardingDueSoon TaskStatus = "OFFBOARDING_DUE_SOON" TaskStatusOffboardingOffboardingOverdue TaskStatus = "OFFBOARDING_OVERDUE" EmploymentStatusUpcoming EmploymentStatus = "UPCOMING" EmploymentStatusCurrent EmploymentStatus = "CURRENT" EmploymentStatusOnLeave EmploymentStatus = "ON_LEAVE" EmploymentStatusInactive EmploymentStatus = "INACTIVE" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Computer ¶
type Computer struct {
ID string `json:"id"`
IntegrationID string `json:"integrationId"`
LastCheckDate *time.Time `json:"lastCheckDate,omitempty"`
OperatingSystem *OperatingSystem `json:"operatingSystem,omitempty"`
Owner *ComputerOwner `json:"owner,omitempty"`
SerialNumber string `json:"serialNumber"`
UDID string `json:"udid"`
Screenlock *SecurityCheck `json:"screenlock,omitempty"`
DiskEncryption *SecurityCheck `json:"diskEncryption,omitempty"`
PasswordManager *SecurityCheck `json:"passwordManager,omitempty"`
AntivirusInstallation *SecurityCheck `json:"antivirusInstallation,omitempty"`
// Deprecated fields - not available in REST API but kept for backward compatibility
OwnerName string `json:"ownerName,omitempty"`
AgentVersion string `json:"agentVersion,omitempty"`
OsVersion string `json:"osVersion,omitempty"`
IsPasswordManagerInstalled *bool `json:"isPasswordManagerInstalled,omitempty"`
IsEncrypted *bool `json:"isEncrypted,omitempty"`
HasScreenLock *bool `json:"hasScreenLock,omitempty"`
Hostname string `json:"hostname,omitempty"`
HostIdentifier string `json:"hostIdentifier,omitempty"`
LastPing *time.Time `json:"lastPing,omitempty"`
NumBrowserExtensions *int `json:"numBrowserExtensions,omitempty"`
EndpointApplications []interface{} `json:"endpointApplications,omitempty"`
InstalledAvPrograms []interface{} `json:"installedAvPrograms,omitempty"`
InstalledPasswordManagers []interface{} `json:"installedPasswordManagers,omitempty"`
UnsupportedReasons interface{} `json:"unsupportedReasons,omitempty"`
OwnerID string `json:"ownerId,omitempty"`
OrganizationName string `json:"organizationName,omitempty"`
}
Computer represents a computer/device in the Vanta system
type ComputerOwner ¶
type ComputerOwner struct {
ID string `json:"id"`
EmailAddress string `json:"emailAddress"`
DisplayName string `json:"displayName"`
}
ComputerOwner represents the owner of a computer
type ComputerResults ¶
ComputerResults contains the actual computer data and pagination info
type DeactivateMetadata ¶ added in v2.2.0
type DeactivateMetadata struct {
IsVulnDeactivatedIndefinitely bool `json:"isVulnDeactivatedIndefinitely"`
DeactivatedUntilDate *time.Time `json:"deactivatedUntilDate,omitempty"`
DeactivationReason string `json:"deactivationReason,omitempty"`
DeactivatedOnDate *time.Time `json:"deactivatedOnDate,omitempty"`
DeactivatedBy string `json:"deactivatedBy,omitempty"`
}
DeactivateMetadata contains deactivation/ignored status information
type DeactivatedStatusInfo ¶
type DeactivatedStatusInfo struct {
IsDeactivated bool `json:"isDeactivated"`
DeactivatedReason *string `json:"deactivatedReason"`
LastUpdatedDate *time.Time `json:"lastUpdatedDate"`
}
DeactivatedStatusInfo represents deactivation status information
type Employment ¶
type Employment struct {
EndDate *time.Time `json:"endDate,omitempty"`
JobTitle *string `json:"jobTitle,omitempty"`
StartDate *time.Time `json:"startDate,omitempty"`
Status *EmploymentStatus `json:"status,omitempty"`
}
Employment contains employment information
type EmploymentStatus ¶
type EmploymentStatus string
type Evidence ¶
type Evidence struct {
ID string `json:"id"`
ExternalID string `json:"externalId"`
Status string `json:"status"`
Name string `json:"name"`
DeletionDate *time.Time `json:"deletionDate"`
CreationDate time.Time `json:"creationDate"`
StatusUpdatedDate time.Time `json:"statusUpdatedDate"`
TestStatus *string `json:"testStatus"`
EvidenceType string `json:"evidenceType"`
EvidenceID string `json:"evidenceId"`
RelatedControls []*RelatedControl `json:"relatedControls"`
Description *string `json:"description"`
}
Evidence represents audit evidence in the Vanta system
type EvidenceResults ¶
EvidenceResults contains the actual evidence data and pagination info
type GenericNamedItem ¶
type GenericNamedItem struct {
Name string `json:"name"`
}
type GroupItem ¶
type GroupItem struct {
ID string `json:"id"`
Name string `json:"name"`
CreationDate *time.Time `json:"creationDate,omitempty"`
}
GroupItem represents a group in the Vanta system
type GroupResults ¶
GroupResults contains the actual group data and pagination info
type Integration ¶
type Integration struct {
IntegrationID string `json:"integrationId"`
DisplayName string `json:"displayName"`
ResourceKinds []string `json:"resourceKinds"`
Connections []*IntegrationConnection `json:"connections"`
// Deprecated fields - not available in REST API but kept for backward compatibility
Description string `json:"description,omitempty"`
ApplicationURL string `json:"applicationUrl,omitempty"`
InstallationURL string `json:"installationUrl,omitempty"`
LogoSlugID string `json:"logoSlugId,omitempty"`
Credentials interface{} `json:"credentials,omitempty"`
IntegrationCategories []string `json:"integrationCategories,omitempty"`
ServiceCategories []string `json:"serviceCategories,omitempty"`
Tests []interface{} `json:"tests,omitempty"`
OrganizationName string `json:"organizationName,omitempty"`
}
Integration represents a connected integration in the Vanta system
type IntegrationConnection ¶
type IntegrationConnection struct {
ConnectionID string `json:"connectionId"`
IsDisabled bool `json:"isDisabled"`
ConnectionErrorMessage *string `json:"connectionErrorMessage"`
}
IntegrationConnection represents a connection within an integration
type IntegrationResults ¶
type IntegrationResults struct {
PageInfo PageInfo `json:"pageInfo"`
Data []*Integration `json:"data"`
}
IntegrationResults contains the actual integration data and pagination info
type ListComputersOptions ¶
type ListComputersOptions struct {
Limit int `json:"limit,omitempty"`
Cursor string `json:"cursor,omitempty"`
}
ListComputersOptions represents options for listing computers
type ListComputersOutput ¶
type ListComputersOutput struct {
Results ComputerResults `json:"results"`
}
ListComputersOutput represents the response from the list computers API
type ListEvidenceOptions ¶
type ListEvidenceOptions struct {
AuditID string `json:"audit_id"`
Limit int `json:"limit,omitempty"`
Cursor string `json:"cursor,omitempty"`
}
ListEvidenceOptions represents the options for listing evidence
type ListEvidenceOutput ¶
type ListEvidenceOutput struct {
Results EvidenceResults `json:"results"`
}
ListEvidenceOutput represents the response from the list evidence API
type ListGroupsOptions ¶
type ListGroupsOptions struct {
Limit int `json:"limit,omitempty"`
Cursor string `json:"cursor,omitempty"`
}
ListGroupsOptions represents options for listing groups
type ListGroupsOutput ¶
type ListGroupsOutput struct {
Results GroupResults `json:"results"`
}
ListGroupsOutput represents the response from the list groups API
type ListIntegrationsOptions ¶
type ListIntegrationsOptions struct {
Limit int `json:"limit,omitempty"`
Cursor string `json:"cursor,omitempty"`
}
ListIntegrationsOptions represents options for listing integrations
type ListIntegrationsOutput ¶
type ListIntegrationsOutput struct {
Results IntegrationResults `json:"results"`
}
ListIntegrationsOutput represents the response from the list connected integrations API
type ListMonitorsOptions ¶
type ListMonitorsOptions struct {
Limit int `json:"limit,omitempty"`
Cursor string `json:"cursor,omitempty"`
}
ListMonitorsOptions represents options for listing monitors
type ListPeopleOptions ¶
type ListPeopleOptions struct {
Limit int `json:"limit,omitempty"`
Cursor string `json:"cursor,omitempty"`
}
ListPeopleOptions represents options for listing people
type ListPeopleOutput ¶
type ListPeopleOutput struct {
Results PeopleResults `json:"results"`
}
ListPeopleOutput represents the response from the list people API
type ListPoliciesOptions ¶
type ListPoliciesOptions struct {
Limit int `json:"limit,omitempty"`
Cursor string `json:"cursor,omitempty"`
}
ListPoliciesOptions represents options for listing policies
type ListPoliciesOutput ¶
type ListPoliciesOutput struct {
Results PolicyResults `json:"results"`
}
ListPoliciesOutput represents the response from the list policies API
type ListTestEntitiesOptions ¶
type ListTestEntitiesOptions struct {
Limit int `json:"limit,omitempty"`
Cursor string `json:"cursor,omitempty"`
EntityStatus string `json:"entityStatus,omitempty"`
}
ListTestEntitiesOptions represents options for listing test entities
type ListTestsOptions ¶
type ListTestsOptions struct {
PageSize int `json:"pageSize,omitempty"` // 1 to 100, defaults to 10
PageCursor string `json:"pageCursor,omitempty"` // Pagination cursor
StatusFilter string `json:"statusFilter,omitempty"` // OK, DEACTIVATED, NEEDS_ATTENTION, IN_PROGRESS, INVALID, NOT_APPLICABLE
FrameworkFilter string `json:"frameworkFilter,omitempty"` // Filter by framework
IntegrationFilter string `json:"integrationFilter,omitempty"` // Filter by integration (e.g., "aws")
ControlFilter string `json:"controlFilter,omitempty"` // Filter by control ID
OwnerFilter string `json:"ownerFilter,omitempty"` // Filter by owner ID
CategoryFilter string `json:"categoryFilter,omitempty"` // Filter by category
IsInRollout *bool `json:"isInRollout,omitempty"` // Filter by rollout status
}
ListTestsOptions represents options for listing comprehensive tests
type ListVendorsOptions ¶
type ListVendorsOptions struct {
Limit int `json:"limit,omitempty"`
Cursor string `json:"cursor,omitempty"`
}
ListVendorsOptions represents options for listing vendors
type ListVendorsOutput ¶
type ListVendorsOutput struct {
Results VendorResults `json:"results"`
}
ListVendorsOutput represents the response from the list vendors API
type ListVulnerabilitiesOptions ¶ added in v2.2.0
type ListVulnerabilitiesOptions struct {
Limit int `json:"limit,omitempty"`
Cursor string `json:"cursor,omitempty"`
Severity string `json:"severity,omitempty"`
IsFixAvailable *bool `json:"isFixAvailable,omitempty"`
IsDeactivated *bool `json:"isDeactivated,omitempty"`
IntegrationID string `json:"integrationId,omitempty"`
VulnerableAssetID string `json:"vulnerableAssetId,omitempty"`
SLADeadlineBeforeDate *time.Time `json:"slaDeadlineBeforeDate,omitempty"`
SLADeadlineAfterDate *time.Time `json:"slaDeadlineAfterDate,omitempty"`
IncludeVulnerabilitiesWithoutSLAs *bool `json:"includeVulnerabilitiesWithoutSlas,omitempty"`
}
ListVulnerabilitiesOptions represents options for listing vulnerabilities
type ListVulnerabilitiesOutput ¶ added in v2.2.0
type ListVulnerabilitiesOutput struct {
Results VulnerabilityResults `json:"results"`
}
ListVulnerabilitiesOutput represents the response from the list vulnerabilities API
type Monitor ¶
type Monitor struct {
ID string `json:"id"`
Name string `json:"name"`
LastTestRunDate *time.Time `json:"lastTestRunDate"`
LatestFlipDate *time.Time `json:"latestFlipDate"`
Description string `json:"description"`
FailureDescription string `json:"failureDescription"`
RemediationDescription string `json:"remediationDescription"`
Version *MonitorVersion `json:"version"`
Category string `json:"category"`
Integrations []string `json:"integrations"`
Status string `json:"status"`
DeactivatedStatusInfo *DeactivatedStatusInfo `json:"deactivatedStatusInfo"`
RemediationStatusInfo *RemediationStatusInfo `json:"remediationStatusInfo"`
Owner *MonitorOwner `json:"owner"`
}
Monitor represents a monitor/test in Vanta
type MonitorOwner ¶
type MonitorOwner struct {
ID string `json:"id"`
EmailAddress string `json:"emailAddress"`
DisplayName string `json:"displayName"`
}
MonitorOwner represents the owner of a monitor
type MonitorResults ¶
type MonitorResults struct {
Results MonitorResultsData `json:"results"`
}
MonitorResults represents the paginated response for monitor list
type MonitorResultsData ¶
type MonitorResultsData struct {
PageInfo PageInfo `json:"pageInfo"`
Data []*Monitor `json:"data"`
}
MonitorResultsData represents the data portion of monitor results
type MonitorVersion ¶
type MonitorVersion struct {
Major int `json:"major"`
Minor int `json:"minor"`
ID string `json:"_id"`
}
MonitorVersion represents version information for a monitor
type Name ¶
type Name struct {
Display string `json:"display"`
Last string `json:"last"`
First string `json:"first"`
}
Name contains name information
type OperatingSystem ¶
OperatingSystem represents operating system information
type PeopleResults ¶
PeopleResults contains the actual people data and pagination info
type Person ¶
type Person struct {
ID string `json:"id"`
EmailAddress string `json:"emailAddress"`
Employment *Employment `json:"employment,omitempty"`
Name *Name `json:"name,omitempty"`
GroupIDs []string `json:"groupIds,omitempty"`
Sources *Sources `json:"sources,omitempty"`
TasksSummary *TasksSummary `json:"tasksSummary,omitempty"`
}
Person represents a person in the Vanta system
type PolicyItem ¶
type PolicyItem struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
Status string `json:"status"`
ApprovedAtDate *time.Time `json:"approvedAtDate,omitempty"`
LatestVersion *PolicyLatestVersion `json:"latestVersion,omitempty"`
}
PolicyItem represents a policy in the Vanta system
type PolicyLatestVersion ¶
type PolicyLatestVersion struct {
Status string `json:"status"`
}
PolicyLatestVersion represents the latest version information of a policy
type PolicyResults ¶
type PolicyResults struct {
PageInfo PageInfo `json:"pageInfo"`
Data []*PolicyItem `json:"data"`
}
PolicyResults contains the actual policy data and pagination info
type PolicyStatus ¶
type PolicyStatus string
const ( PolicyStatusNeedsRemediation PolicyStatus = "NEEDS_REMEDIATION" PolicyStatusCompliant PolicyStatus = "COMPLIANT" PolicyStatusNotStarted PolicyStatus = "NOT_STARTED" )
type PolicyTask ¶
type PolicyTask struct {
TaskType string `json:"taskType,omitempty"`
Status string `json:"status,omitempty"`
DueDate *time.Time `json:"dueDate,omitempty"`
CompletionDate *time.Time `json:"completionDate,omitempty"`
Disabled interface{} `json:"disabled,omitempty"`
UnacceptedPolicies []Policy `json:"unacceptedPolicies,omitempty"`
AcceptedPolicies []Policy `json:"acceptedPolicies,omitempty"`
}
PolicyTask represents policy acceptance task details
type RelatedControl ¶
type RelatedControl struct {
Name string `json:"name"`
SectionNames []string `json:"sectionNames"`
}
RelatedControl represents a control associated to evidence
type RemediationStatusInfo ¶
type RemediationStatusInfo struct {
Status string `json:"status"`
SoonestRemediateByDate *time.Time `json:"soonestRemediateByDate"`
ItemCount int `json:"itemCount"`
}
RemediationStatusInfo represents remediation status information
type SecurityCheck ¶
type SecurityCheck struct {
Outcome string `json:"outcome"`
}
SecurityCheck represents the outcome of a security check
type SourceInfo ¶
type SourceInfo struct {
IntegrationID string `json:"integrationId,omitempty"`
ResourceID string `json:"resourceId,omitempty"`
Type string `json:"type,omitempty"`
}
SourceInfo contains information about a data source
type Sources ¶
type Sources struct {
EmailAddress *SourceInfo `json:"emailAddress,omitempty"`
Employment *SourceInfo `json:"employment,omitempty"`
}
Sources contains data source information
type TaskDetail ¶
type TaskDetail struct {
TaskType string `json:"taskType,omitempty"`
Status string `json:"status,omitempty"`
DueDate *time.Time `json:"dueDate,omitempty"`
CompletionDate *time.Time `json:"completionDate,omitempty"`
Disabled interface{} `json:"disabled,omitempty"`
}
TaskDetail represents a generic task detail
type TaskStatus ¶
type TaskStatus string
type TasksDetails ¶
type TasksDetails struct {
CompleteTrainings *TaskDetail `json:"completeTrainings,omitempty"`
CompleteCustomTasks *TaskDetail `json:"completeCustomTasks,omitempty"`
CompleteOffboardingCustomTasks *TaskDetail `json:"completeOffboardingCustomTasks,omitempty"`
CompleteBackgroundChecks *TaskDetail `json:"completeBackgroundChecks,omitempty"`
AcceptPolicies *PolicyTask `json:"acceptPolicies,omitempty"`
InstallDeviceMonitoring *TaskDetail `json:"installDeviceMonitoring,omitempty"`
}
TasksDetails contains detailed task information
type TasksSummary ¶
type TasksSummary struct {
CompletionDate *time.Time `json:"completionDate,omitempty"`
DueDate *time.Time `json:"dueDate,omitempty"`
Status string `json:"status"`
Details TasksDetails `json:"details"`
}
TasksSummary contains task completion summary
type Test ¶
type Test struct {
ID string `json:"id"`
Name string `json:"name"`
LastTestRunDate *time.Time `json:"lastTestRunDate"`
LatestFlipDate *time.Time `json:"latestFlipDate"`
Description string `json:"description"`
FailureDescription string `json:"failureDescription"`
RemediationDescription string `json:"remediationDescription"`
Version *TestVersion `json:"version"`
Category string `json:"category"`
Integrations []string `json:"integrations"`
Status string `json:"status"`
DeactivatedStatusInfo *TestDeactivatedStatus `json:"deactivatedStatusInfo"`
RemediationStatusInfo *TestRemediationStatus `json:"remediationStatusInfo"`
Owner *TestOwner `json:"owner"`
}
Test represents a comprehensive test/monitor in Vanta with full API details
type TestDeactivatedStatus ¶
type TestDeactivatedStatus struct {
IsDeactivated bool `json:"isDeactivated"`
DeactivatedReason *string `json:"deactivatedReason"`
LastUpdatedDate *time.Time `json:"lastUpdatedDate"`
}
TestDeactivatedStatus represents deactivation status information
type TestEntitiesResults ¶
type TestEntitiesResults struct {
Results TestEntitiesResultsData `json:"results"`
}
TestEntitiesResults represents the paginated response for test entities
type TestEntitiesResultsData ¶
type TestEntitiesResultsData struct {
PageInfo PageInfo `json:"pageInfo"`
Data []*TestEntity `json:"data"`
}
TestEntitiesResultsData represents the data portion of test entities results
type TestEntity ¶
type TestEntity struct {
ID string `json:"id"`
EntityStatus string `json:"entityStatus"`
DisplayName string `json:"displayName"`
ResponseType string `json:"responseType"`
DeactivatedReason *string `json:"deactivatedReason"`
LastUpdatedDate *time.Time `json:"lastUpdatedDate"`
CreatedDate *time.Time `json:"createdDate"`
}
TestEntity represents an entity associated with a test
type TestOwner ¶
type TestOwner struct {
ID string `json:"id"`
EmailAddress string `json:"emailAddress"`
DisplayName string `json:"displayName"`
}
TestOwner represents the owner of a test
type TestRemediationStatus ¶
type TestRemediationStatus struct {
Status string `json:"status"`
SoonestRemediateByDate *time.Time `json:"soonestRemediateByDate"`
ItemCount int `json:"itemCount"`
}
TestRemediationStatus represents remediation status information
type TestResults ¶
type TestResults struct {
Results TestResultsData `json:"results"`
}
TestResults represents the paginated response for comprehensive test list
type TestResultsData ¶
TestResultsData represents the data portion of test results
type TestVersion ¶
type TestVersion struct {
Major int `json:"major"`
Minor int `json:"minor"`
ID string `json:"_id"`
}
TestVersion represents version information for a test
type Vendor ¶
type Vendor struct {
ID string `json:"id"`
Name string `json:"name"`
WebsiteURL string `json:"websiteUrl"`
AccountManagerName *string `json:"accountManagerName"`
AccountManagerEmail *string `json:"accountManagerEmail"`
ServicesProvided *string `json:"servicesProvided"`
AdditionalNotes *string `json:"additionalNotes"`
SecurityOwnerUserID string `json:"securityOwnerUserId"`
BusinessOwnerUserID string `json:"businessOwnerUserId"`
ContractStartDate *time.Time `json:"contractStartDate"`
ContractRenewalDate *time.Time `json:"contractRenewalDate"`
ContractTerminationDate *time.Time `json:"contractTerminationDate"`
NextSecurityReviewDueDate *time.Time `json:"nextSecurityReviewDueDate"`
LastSecurityReviewCompletionDate *time.Time `json:"lastSecurityReviewCompletionDate"`
IsVisibleToAuditors bool `json:"isVisibleToAuditors"`
IsRiskAutoScored bool `json:"isRiskAutoScored"`
Category *VendorCategory `json:"category"`
AuthDetails *VendorAuthDetails `json:"authDetails"`
RiskAttributeIDs []string `json:"riskAttributeIds"`
Status string `json:"status"`
InherentRiskLevel string `json:"inherentRiskLevel"`
ResidualRiskLevel string `json:"residualRiskLevel"`
VendorHeadquarters *string `json:"vendorHeadquarters"`
ContractAmount *float64 `json:"contractAmount"`
CustomFields interface{} `json:"customFields"`
// Deprecated fields - not available in REST API but kept for backward compatibility
Title string `json:"title,omitempty"`
EvidenceRequestID string `json:"evidenceRequestId,omitempty"`
Description string `json:"description,omitempty"`
UID string `json:"uid,omitempty"`
AppUploadEnabled *bool `json:"appUploadEnabled,omitempty"`
Restricted *bool `json:"restricted,omitempty"`
DismissedStatus interface{} `json:"dismissedStatus,omitempty"`
RenewalMetadata interface{} `json:"renewalMetadata,omitempty"`
OrganizationName string `json:"organizationName,omitempty"`
}
Vendor represents a vendor/company in the Vanta system
type VendorAuthDetails ¶
type VendorAuthDetails struct {
Method string `json:"method"`
PasswordMFA *bool `json:"passwordMFA"`
PasswordRequiresNumber *bool `json:"passwordRequiresNumber"`
PasswordRequiresSymbol *bool `json:"passwordRequiresSymbol"`
PasswordMinimumLength *int `json:"passwordMinimumLength"`
}
VendorAuthDetails represents authentication details for a vendor
type VendorCategory ¶
type VendorCategory struct {
DisplayName string `json:"displayName"`
}
VendorCategory represents the category of a vendor
type VendorResults ¶
VendorResults contains the actual vendor data and pagination info
type Vulnerability ¶ added in v2.2.0
type Vulnerability struct {
ID string `json:"id"`
Name string `json:"name"` // CVE identifier
Description string `json:"description"`
Severity string `json:"severity"` // CRITICAL, HIGH, MEDIUM, LOW
CVSSSeverityScore *float64 `json:"cvssSeverityScore,omitempty"`
RemediateByDate *time.Time `json:"remediateByDate,omitempty"` // SLA deadline
IsFixable bool `json:"isFixable"`
DeactivateMetadata *DeactivateMetadata `json:"deactivateMetadata,omitempty"` // Deactivation/ignored info
FirstDetectedDate *time.Time `json:"firstDetectedDate,omitempty"`
SourceDetectedDate *time.Time `json:"sourceDetectedDate,omitempty"` // When source scanner first detected
LastDetectedDate *time.Time `json:"lastDetectedDate,omitempty"`
IntegrationID string `json:"integrationId"`
TargetID string `json:"targetId,omitempty"`
PackageIdentifier string `json:"packageIdentifier,omitempty"`
VulnerableAssetID string `json:"vulnerableAssetId,omitempty"`
ExternalURL string `json:"externalUrl,omitempty"` // Link to CVE details
VulnerabilityType string `json:"vulnerabilityType,omitempty"`
ScannerScore *float64 `json:"scannerScore,omitempty"`
ScanSource string `json:"scanSource,omitempty"` // Scanning tool that detected the vulnerability
RelatedVulns []string `json:"relatedVulns,omitempty"`
RelatedURLs []string `json:"relatedUrls,omitempty"`
}
Vulnerability represents a vulnerability in the Vanta system
type VulnerabilityResults ¶ added in v2.2.0
type VulnerabilityResults struct {
PageInfo PageInfo `json:"pageInfo"`
Data []*Vulnerability `json:"data"`
}
VulnerabilityResults contains the actual vulnerability data and pagination info