Comprehensive Go API client for the Datadog monitoring and analytics platform with strongly-typed interfaces for all Datadog API v1 and v2 endpoints
Additional v2 APIs including security, CI/CD, teams, cloud integrations, and specialized features.
import (
"context"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)Comprehensive security monitoring, rules, and threat detection.
type SecurityMonitoringApi struct {
// contains filtered or unexported fields
}
func NewSecurityMonitoringApi(client *datadog.APIClient) *SecurityMonitoringApiSecurity rules: CreateSecurityMonitoringRule, DeleteSecurityMonitoringRule, GetSecurityMonitoringRule, ListSecurityMonitoringRules, UpdateSecurityMonitoringRule, TestSecurityMonitoringRule, ValidateSecurityMonitoringRule
Security signals: EditSecurityMonitoringSignalAssignee, EditSecurityMonitoringSignalState, GetSecurityMonitoringSignal, ListSecurityMonitoringSignals, SearchSecurityMonitoringSignals
Suppressions: CreateSecurityMonitoringSuppression, DeleteSecurityMonitoringSuppression, GetSecurityMonitoringSuppression, ListSecurityMonitoringSuppressions, UpdateSecurityMonitoringSuppression
Findings: GetFinding, ListFindings, ListSecurityFindings, SearchSecurityFindings, MuteFindings
Critical assets: CreateSecurityMonitoringCriticalAsset, DeleteSecurityMonitoringCriticalAsset, GetSecurityMonitoringCriticalAsset, ListSecurityMonitoringCriticalAssets
Vulnerabilities: ListVulnerabilities, ListVulnerableAssets, GetSBOM, ListAssetsSBOMs
Web Application Firewall rules and exclusion filters.
type ApplicationSecurityApi struct {
// contains filtered or unexported fields
}
func NewApplicationSecurityApi(client *datadog.APIClient) *ApplicationSecurityApifunc (a *ApplicationSecurityApi) CreateApplicationSecurityWafCustomRule(
ctx context.Context,
body datadogV2.WafRuleCreatePayload,
) (datadogV2.WafRuleResponse, *http.Response, error)func (a *ApplicationSecurityApi) CreateApplicationSecurityWafExclusionFilter(
ctx context.Context,
body datadogV2.WafExclusionCreatePayload,
) (datadogV2.WafExclusionResponse, *http.Response, error)func (a *ApplicationSecurityApi) DeleteApplicationSecurityWafCustomRule(
ctx context.Context,
ruleId string,
) (*http.Response, error)func (a *ApplicationSecurityApi) GetApplicationSecurityWafCustomRule(
ctx context.Context,
ruleId string,
) (datadogV2.WafRuleResponse, *http.Response, error)func (a *ApplicationSecurityApi) ListApplicationSecurityWAFCustomRules(
ctx context.Context,
) (datadogV2.WafRulesResponse, *http.Response, error)func (a *ApplicationSecurityApi) UpdateApplicationSecurityWafCustomRule(
ctx context.Context,
ruleId string,
body datadogV2.WafRuleUpdatePayload,
) (datadogV2.WafRuleResponse, *http.Response, error)Team collaboration and management.
type TeamsApi struct {
// contains filtered or unexported fields
}
func NewTeamsApi(client *datadog.APIClient) *TeamsApiTeams: CreateTeam, DeleteTeam, GetTeam, ListTeams, UpdateTeam
Memberships: AddMemberTeam, CreateTeamMembership, DeleteTeamMembership, GetTeamMemberships, GetUserMemberships, ListMemberTeams, RemoveMemberTeam, UpdateTeamMembership
Links: CreateTeamLink, DeleteTeamLink, GetTeamLink, GetTeamLinks, UpdateTeamLink
Hierarchy: AddTeamHierarchyLink, GetTeamHierarchyLink, ListTeamHierarchyLinks, RemoveTeamHierarchyLink
Connections: CreateTeamConnections, DeleteTeamConnections, ListTeamConnections
Permissions: GetTeamPermissionSettings, UpdateTeamPermissionSetting
Notification rules: CreateTeamNotificationRule, DeleteTeamNotificationRule, GetTeamNotificationRule, GetTeamNotificationRules, UpdateTeamNotificationRule
// Create a team
attrs := datadogV2.NewTeamCreateAttributes(
"team-handle",
"Engineering Team",
)
attrs.SetDescription("Backend engineering team")
data := datadogV2.NewTeamCreateData(*attrs, datadogV2.TEAMTYPE_TEAM)
body := datadogV2.NewTeamCreateRequest(*data)
resp, r, err := teamsApi.CreateTeam(ctx, *body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
return
}
fmt.Printf("Team created: %s\n", resp.Data.Attributes.GetName())Enhanced user management.
type UsersApi struct {
// contains filtered or unexported fields
}
func NewUsersApi(client *datadog.APIClient) *UsersApifunc (a *UsersApi) CreateUser(
ctx context.Context,
body datadogV2.UserCreateRequest,
) (datadogV2.UserResponse, *http.Response, error)func (a *UsersApi) DisableUser(
ctx context.Context,
userId string,
) (*http.Response, error)func (a *UsersApi) GetInvitation(
ctx context.Context,
userInvitationUuid string,
) (datadogV2.UserInvitationResponse, *http.Response, error)func (a *UsersApi) GetUser(
ctx context.Context,
userId string,
) (datadogV2.UserResponse, *http.Response, error)func (a *UsersApi) ListUserOrganizations(
ctx context.Context,
userId string,
) (datadogV2.UserResponse, *http.Response, error)func (a *UsersApi) ListUserPermissions(
ctx context.Context,
userId string,
) (datadogV2.PermissionsResponse, *http.Response, error)func (a *UsersApi) ListUsers(
ctx context.Context,
o ...ListUsersOptionalParameters,
) (datadogV2.UsersResponse, *http.Response, error)func (a *UsersApi) SendInvitations(
ctx context.Context,
body datadogV2.UserInvitationsRequest,
) (datadogV2.UserInvitationsResponse, *http.Response, error)func (a *UsersApi) UpdateUser(
ctx context.Context,
userId string,
body datadogV2.UserUpdateRequest,
) (datadogV2.UserResponse, *http.Response, error)Role-based access control management.
type RolesApi struct {
// contains filtered or unexported fields
}
func NewRolesApi(client *datadog.APIClient) *RolesApifunc (a *RolesApi) AddPermissionToRole(
ctx context.Context,
roleId string,
body datadogV2.RelationshipToPermission,
) (datadogV2.PermissionsResponse, *http.Response, error)func (a *RolesApi) AddUserToRole(
ctx context.Context,
roleId string,
body datadogV2.RelationshipToUser,
) (datadogV2.UsersResponse, *http.Response, error)func (a *RolesApi) CloneRole(
ctx context.Context,
roleId string,
body datadogV2.RoleCloneRequest,
) (datadogV2.RoleResponse, *http.Response, error)func (a *RolesApi) CreateRole(
ctx context.Context,
body datadogV2.RoleCreateRequest,
) (datadogV2.RoleCreateResponse, *http.Response, error)func (a *RolesApi) DeleteRole(
ctx context.Context,
roleId string,
) (*http.Response, error)func (a *RolesApi) GetRole(
ctx context.Context,
roleId string,
) (datadogV2.RoleResponse, *http.Response, error)func (a *RolesApi) ListPermissions(
ctx context.Context,
) (datadogV2.PermissionsResponse, *http.Response, error)func (a *RolesApi) ListRolePermissions(
ctx context.Context,
roleId string,
) (datadogV2.PermissionsResponse, *http.Response, error)func (a *RolesApi) ListRoleUsers(
ctx context.Context,
roleId string,
o ...ListRoleUsersOptionalParameters,
) (datadogV2.UsersResponse, *http.Response, error)func (a *RolesApi) ListRoles(
ctx context.Context,
o ...ListRolesOptionalParameters,
) (datadogV2.RolesResponse, *http.Response, error)type CIVisibilityPipelinesApi struct {
// contains filtered or unexported fields
}
func NewCIVisibilityPipelinesApi(client *datadog.APIClient) *CIVisibilityPipelinesApiMethods: AggregateCIAppPipelineEvents, CreateCIAppPipelineEvent, ListCIAppPipelineEvents, SearchCIAppPipelineEvents
type CIVisibilityTestsApi struct {
// contains filtered or unexported fields
}
func NewCIVisibilityTestsApi(client *datadog.APIClient) *CIVisibilityTestsApiMethods: AggregateCIAppTestEvents, ListCIAppTestEvents, SearchCIAppTestEvents
type TestOptimizationApi struct {
// contains filtered or unexported fields
}
func NewTestOptimizationApi(client *datadog.APIClient) *TestOptimizationApiMethods: SearchFlakyTests, SearchFlakyTestsWithPagination
type AWSIntegrationApi struct {
// contains filtered or unexported fields
}
func NewAWSIntegrationApi(client *datadog.APIClient) *AWSIntegrationApiMethods: CreateAWSAccount, CreateAWSEventBridgeSource, CreateNewAWSExternalID, DeleteAWSAccount, DeleteAWSEventBridgeSource, GetAWSAccount, GetAWSIntegrationIAMPermissions, ListAWSAccounts, ListAWSEventBridgeSources, ListAWSNamespaces, UpdateAWSAccount
type GCPIntegrationApi struct {
// contains filtered or unexported fields
}
func NewGCPIntegrationApi(client *datadog.APIClient) *GCPIntegrationApiMethods: CreateGCPSTSAccount, DeleteGCPSTSAccount, GetGCPSTSDelegate, ListGCPSTSAccounts, MakeGCPSTSDelegate, UpdateGCPSTSAccount
type CloudflareIntegrationApi struct {
// contains filtered or unexported fields
}
func NewCloudflareIntegrationApi(client *datadog.APIClient) *CloudflareIntegrationApiMethods: CreateCloudflareAccount, DeleteCloudflareAccount, GetCloudflareAccount, ListCloudflareAccounts, UpdateCloudflareAccount
type ConfluentCloudApi struct {
// contains filtered or unexported fields
}
func NewConfluentCloudApi(client *datadog.APIClient) *ConfluentCloudApiMethods: CreateConfluentAccount, CreateConfluentResource, DeleteConfluentAccount, DeleteConfluentResource, GetConfluentAccount, GetConfluentResource, ListConfluentAccount, ListConfluentResource, UpdateConfluentAccount, UpdateConfluentResource
type FastlyIntegrationApi struct {
// contains filtered or unexported fields
}
func NewFastlyIntegrationApi(client *datadog.APIClient) *FastlyIntegrationApiMethods: CreateFastlyAccount, CreateFastlyService, DeleteFastlyAccount, DeleteFastlyService, GetFastlyAccount, GetFastlyService, ListFastlyAccounts, ListFastlyServices, UpdateFastlyAccount, UpdateFastlyService
type OktaIntegrationApi struct {
// contains filtered or unexported fields
}
func NewOktaIntegrationApi(client *datadog.APIClient) *OktaIntegrationApiMethods: CreateOktaAccount, DeleteOktaAccount, GetOktaAccount, ListOktaAccounts, UpdateOktaAccount
type OpsgenieIntegrationApi struct {
// contains filtered or unexported fields
}
func NewOpsgenieIntegrationApi(client *datadog.APIClient) *OpsgenieIntegrationApiMethods: CreateOpsgenieService, DeleteOpsgenieService, GetOpsgenieService, ListOpsgenieServices, UpdateOpsgenieService
type MicrosoftTeamsIntegrationApi struct {
// contains filtered or unexported fields
}
func NewMicrosoftTeamsIntegrationApi(client *datadog.APIClient) *MicrosoftTeamsIntegrationApiMethods: CreateTenantBasedHandle, CreateWorkflowsWebhookHandle, DeleteTenantBasedHandle, DeleteWorkflowsWebhookHandle, GetChannelByName, GetTenantBasedHandle, GetWorkflowsWebhookHandle, ListTenantBasedHandles, ListWorkflowsWebhookHandles, UpdateTenantBasedHandle, UpdateWorkflowsWebhookHandle
type WorkflowAutomationApi struct {
// contains filtered or unexported fields
}
func NewWorkflowAutomationApi(client *datadog.APIClient) *WorkflowAutomationApiMethods: CancelWorkflowInstance, CreateWorkflow, CreateWorkflowInstance, DeleteWorkflow, GetWorkflow, GetWorkflowInstance, ListWorkflowInstances, UpdateWorkflow
type FleetAutomationApi struct {
// contains filtered or unexported fields
}
func NewFleetAutomationApi(client *datadog.APIClient) *FleetAutomationApiMethods: CancelFleetDeployment, CreateFleetDeploymentConfigure, CreateFleetDeploymentUpgrade, CreateFleetSchedule, DeleteFleetSchedule, GetFleetAgentInfo, GetFleetDeployment, GetFleetSchedule, ListFleetAgentVersions, ListFleetAgents, ListFleetDeployments, ListFleetSchedules, TriggerFleetSchedule, UpdateFleetSchedule
type ActionConnectionApi struct {
// contains filtered or unexported fields
}
func NewActionConnectionApi(client *datadog.APIClient) *ActionConnectionApiMethods: CreateActionConnection, DeleteActionConnection, GetActionConnection, GetAppKeyRegistration, ListAppKeyRegistrations, RegisterAppKey, UnregisterAppKey, UpdateActionConnection
type ActionsDatastoresApi struct {
// contains filtered or unexported fields
}
func NewActionsDatastoresApi(client *datadog.APIClient) *ActionsDatastoresApiMethods: BulkDeleteDatastoreItems, BulkWriteDatastoreItems, CreateDatastore, DeleteDatastore, DeleteDatastoreItem, GetDatastore, ListDatastoreItems, ListDatastores, UpdateDatastore, UpdateDatastoreItem
type ContainersApi struct {
// contains filtered or unexported fields
}
func NewContainersApi(client *datadog.APIClient) *ContainersApiMethods: ListContainers, ListContainersWithPagination
type ContainerImagesApi struct {
// contains filtered or unexported fields
}
func NewContainerImagesApi(client *datadog.APIClient) *ContainerImagesApiMethods: ListContainerImages, ListContainerImagesWithPagination
type ProcessesApi struct {
// contains filtered or unexported fields
}
func NewProcessesApi(client *datadog.APIClient) *ProcessesApiMethods: ListProcesses, ListProcessesWithPagination
type NetworkDeviceMonitoringApi struct {
// contains filtered or unexported fields
}
func NewNetworkDeviceMonitoringApi(client *datadog.APIClient) *NetworkDeviceMonitoringApiMethods: GetDevice, GetInterfaces, ListDeviceUserTags, ListDevices, UpdateDeviceUserTags
type CloudCostManagementApi struct {
// contains filtered or unexported fields
}
func NewCloudCostManagementApi(client *datadog.APIClient) *CloudCostManagementApiKey methods: CreateCostAWSCURConfig, CreateCostAzureUCConfigs, CreateCostGCPUsageCostConfig, CreateCustomAllocationRule, DeleteBudget, GetBudget, ListBudgets, UploadCustomCostsFile, UpsertBudget, ValidateQuery
type UsageMeteringApi struct {
// contains filtered or unexported fields
}
func NewUsageMeteringApi(client *datadog.APIClient) *UsageMeteringApiMethods: GetActiveBillingDimensions, GetBillingDimensionMapping, GetCostByOrg, GetEstimatedCostByOrg, GetHistoricalCostByOrg, GetHourlyUsage, GetMonthlyCostAttribution, GetProjectedCost, GetUsageApplicationSecurityMonitoring, GetUsageLambdaTracedInvocations, GetUsageObservabilityPipelines
type ServiceDefinitionApi struct {
// contains filtered or unexported fields
}
func NewServiceDefinitionApi(client *datadog.APIClient) *ServiceDefinitionApiMethods: CreateOrUpdateServiceDefinitions, DeleteServiceDefinition, GetServiceDefinition, ListServiceDefinitions
type ServiceScorecardsApi struct {
// contains filtered or unexported fields
}
func NewServiceScorecardsApi(client *datadog.APIClient) *ServiceScorecardsApiMethods: CreateScorecardOutcomesBatch, CreateScorecardRule, DeleteScorecardRule, ListScorecardOutcomes, ListScorecardRules, UpdateScorecardOutcomesAsync, UpdateScorecardRule
type SoftwareCatalogApi struct {
// contains filtered or unexported fields
}
func NewSoftwareCatalogApi(client *datadog.APIClient) *SoftwareCatalogApiMethods: DeleteCatalogEntity, DeleteCatalogKind, ListCatalogEntity, ListCatalogKind, ListCatalogRelation, PreviewCatalogEntities, UpsertCatalogEntity, UpsertCatalogKind
type DORAMetricsApi struct {
// contains filtered or unexported fields
}
func NewDORAMetricsApi(client *datadog.APIClient) *DORAMetricsApiMethods: CreateDORADeployment, CreateDORAFailure, CreateDORAIncident, DeleteDORADeployment, DeleteDORAFailure, GetDORADeployment, GetDORAFailure, ListDORADeployments, ListDORAFailures
type OnCallApi struct {
// contains filtered or unexported fields
}
func NewOnCallApi(client *datadog.APIClient) *OnCallApiMethods: CreateOnCallEscalationPolicy, CreateOnCallSchedule, CreateUserNotificationChannel, CreateUserNotificationRule, GetOnCallEscalationPolicy, GetOnCallSchedule, GetOnCallTeamRoutingRules, GetScheduleOnCallUser, GetTeamOnCallUsers, SetOnCallTeamRoutingRules
type OnCallPagingApi struct {
// contains filtered or unexported fields
}
func NewOnCallPagingApi(client *datadog.APIClient) *OnCallPagingApiMethods: AcknowledgeOnCallPage, CreateOnCallPage, EscalateOnCallPage, ResolveOnCallPage
type ObservabilityPipelinesApi struct {
// contains filtered or unexported fields
}
func NewObservabilityPipelinesApi(client *datadog.APIClient) *ObservabilityPipelinesApiMethods: CreatePipeline, DeletePipeline, GetPipeline, ListPipelines, UpdatePipeline, ValidatePipeline
type ReferenceTablesApi struct {
// contains filtered or unexported fields
}
func NewReferenceTablesApi(client *datadog.APIClient) *ReferenceTablesApiMethods: CreateReferenceTable, CreateReferenceTableUpload, DeleteRows, DeleteTable, GetRowsByID, GetTable, ListTables, UpdateReferenceTable, UpsertRows
type EventsApi struct {
// contains filtered or unexported fields
}
func NewEventsApi(client *datadog.APIClient) *EventsApiMethods: CreateEvent, GetEvent, ListEvents, SearchEvents
type AuditApi struct {
// contains filtered or unexported fields
}
func NewAuditApi(client *datadog.APIClient) *AuditApiMethods: ListAuditLogs, SearchAuditLogs
type ErrorTrackingApi struct {
// contains filtered or unexported fields
}
func NewErrorTrackingApi(client *datadog.APIClient) *ErrorTrackingApiMethods: DeleteIssueAssignee, GetIssue, SearchIssues, UpdateIssueAssignee, UpdateIssueState
type DatasetsApi struct {
// contains filtered or unexported fields
}
func NewDatasetsApi(client *datadog.APIClient) *DatasetsApiMethods: CreateDataset, DeleteDataset, GetAllDatasets, GetDataset, UpdateDataset
type DeploymentGatesApi struct {
// contains filtered or unexported fields
}
func NewDeploymentGatesApi(client *datadog.APIClient) *DeploymentGatesApiMethods: CreateDeploymentGate, CreateDeploymentRule, DeleteDeploymentGate, DeleteDeploymentRule, GetDeploymentGate, GetDeploymentGateRules, GetDeploymentRule, UpdateDeploymentGate, UpdateDeploymentRule
type APIManagementApi struct {
// contains filtered or unexported fields
}
func NewAPIManagementApi(client *datadog.APIClient) *APIManagementApiMethods: CreateOpenAPI, DeleteOpenAPI, GetOpenAPI, ListAPIs, UpdateOpenAPI
type AppBuilderApi struct {
// contains filtered or unexported fields
}
func NewAppBuilderApi(client *datadog.APIClient) *AppBuilderApiMethods: CreateApp, DeleteApp, DeleteApps, GetApp, ListApps, PublishApp, UnpublishApp, UpdateApp
type StaticAnalysisApi struct {
// contains filtered or unexported fields
}
func NewStaticAnalysisApi(client *datadog.APIClient) *StaticAnalysisApiMethods: CreateSCAResolveVulnerableSymbols, CreateSCAResult
type ProductAnalyticsApi struct {
// contains filtered or unexported fields
}
func NewProductAnalyticsApi(client *datadog.APIClient) *ProductAnalyticsApiMethods: SubmitProductAnalyticsEvent
type DataDeletionApi struct {
// contains filtered or unexported fields
}
func NewDataDeletionApi(client *datadog.APIClient) *DataDeletionApiMethods: CancelDataDeletionRequest, CreateDataDeletionRequest, GetDataDeletionRequests
type IPAllowlistApi struct {
// contains filtered or unexported fields
}
func NewIPAllowlistApi(client *datadog.APIClient) *IPAllowlistApiMethods: GetIPAllowlist, UpdateIPAllowlist
type DomainAllowlistApi struct {
// contains filtered or unexported fields
}
func NewDomainAllowlistApi(client *datadog.APIClient) *DomainAllowlistApiMethods: GetDomainAllowlist, PatchDomainAllowlist
type OrganizationsApi struct {
// contains filtered or unexported fields
}
func NewOrganizationsApi(client *datadog.APIClient) *OrganizationsApiMethods: GetOrgConfig, ListOrgConfigs, UpdateOrgConfig, UploadIdPMetadata
type ServiceAccountsApi struct {
// contains filtered or unexported fields
}
func NewServiceAccountsApi(client *datadog.APIClient) *ServiceAccountsApiMethods: CreateServiceAccount, CreateServiceAccountApplicationKey, DeleteServiceAccountApplicationKey, GetServiceAccountApplicationKey, ListServiceAccountApplicationKeys, UpdateServiceAccountApplicationKey
type KeyManagementApi struct {
// contains filtered or unexported fields
}
func NewKeyManagementApi(client *datadog.APIClient) *KeyManagementApiMethods: CreateAPIKey, CreateCurrentUserApplicationKey, DeleteAPIKey, DeleteApplicationKey, DeleteCurrentUserApplicationKey, GetAPIKey, GetApplicationKey, GetCurrentUserApplicationKey, ListAPIKeys, ListApplicationKeys, ListCurrentUserApplicationKeys, UpdateAPIKey, UpdateApplicationKey, UpdateCurrentUserApplicationKey
Install with Tessl CLI
npx tessl i tessl/golang-github-com-data-dog--datadog-api-client-go-v2@2.54.0