PATCH https://api.ap1.datadoghq.com/api/v2/saml_configurations/{saml_config_uuid} https://api.ap2.datadoghq.com/api/v2/saml_configurations/{saml_config_uuid} https://api.datadoghq.eu/api/v2/saml_configurations/{saml_config_uuid} https://api.ddog-gov.com/api/v2/saml_configurations/{saml_config_uuid} https://api.us2.ddog-gov.com/api/v2/saml_configurations/{saml_config_uuid} https://api.uk1.datadoghq.com/api/v2/saml_configurations/{saml_config_uuid} https://api.datadoghq.com/api/v2/saml_configurations/{saml_config_uuid} https://api.us3.datadoghq.com/api/v2/saml_configurations/{saml_config_uuid} https://api.us5.datadoghq.com/api/v2/saml_configurations/{saml_config_uuid}
Overview
Update a single SAML configuration for the current organization.
Use this endpoint to enable or disable identity-provider-initiated login, set the
just-in-time provisioning domains, and set the default role assigned to
just-in-time provisioned users. A default role is required to enable just-in-time provisioning.
This endpoint requires the
org_management permission.
Arguments Path Parameters saml_config_uuid [required ]
The UUID of the SAML configuration.
Request Body Data (required)
Expand All
Data for updating a SAML configuration.
Attributes for updating a SAML configuration.
Whether identity-provider-initiated login is enabled for the organization.
Email domains for which users are automatically provisioned on first SAML login
(just-in-time provisioning). A default role is required to enable just-in-time provisioning.
The UUID of the SAML configuration to update. Must match the UUID in the URL path.
Relationships of a SAML configuration.
An array containing type and the unique identifier of a role.
The unique identifier of the role.
Roles type.
Allowed enum values: roles
default: roles
SAML configurations resource type.
Allowed enum values: saml_configurations
default: saml_configurations
{
"data" : {
"attributes" : {
"idp_initiated" : true ,
"jit_domains" : [
"example.com"
]
},
"id" : "3653d3c6-0c75-11ea-ad28-fb5701eabc7d" ,
"relationships" : {
"default_roles" : {
"data" : [
{
"id" : "3653d3c6-0c75-11ea-ad28-fb5701eabc7d" ,
"type" : "roles"
}
]
}
},
"type" : "saml_configurations"
}
} Response OK
Response containing a single SAML configuration.
Expand All
A SAML configuration object.
Attributes of a SAML configuration.
assertion_consumer_service
The assertion consumer service (ACS) URLs that the identity provider posts SAML responses to.
Creation time of the SAML configuration.
The service provider entity ID Datadog presents to the identity provider.
Expiration time of the uploaded identity provider metadata.
Whether identity-provider-initiated login is enabled for the organization.
Email domains for which users are automatically provisioned on first SAML login
(just-in-time provisioning).
Time of the last SAML configuration modification.
The single sign-on URL users can visit to start a SAML login.
Returns null when the organization is identity-provider-initiated and has no subdomain.
The UUID of the SAML configuration.
Relationships of a SAML configuration.
An array containing type and the unique identifier of a role.
The unique identifier of the role.
Roles type.
Allowed enum values: roles
default: roles
SAML configurations resource type.
Allowed enum values: saml_configurations
default: saml_configurations
Resources related to the SAML configuration, such as the default roles.
Creation time of the role.
Time of last role modification.
The name of the role. The name is neither unique nor a stable identifier of the role.
receives_permissions_from
The managed role from which this role automatically inherits new permissions.
Specify one of the following: "Datadog Admin Role", "Datadog Standard Role", or "Datadog Read Only Role".
If empty or not specified, the role does not automatically inherit permissions from any managed role.
Number of users with that role.
The unique identifier of the role.
Relationships of the role object returned by the API.
Relationship to multiple permissions objects.
Relationships to permission objects.
Permissions resource type.
Allowed enum values: permissions
default: permissions
Roles type.
Allowed enum values: roles
default: roles
{
"data" : {
"attributes" : {
"assertion_consumer_service" : [
"https://app.datadoghq.com/account/saml/assertion"
],
"created_at" : "2019-09-19T10:00:00.000Z" ,
"entity_id" : "https://app.datadoghq.com/account/saml/metadata.xml?id=00000000-0000-0000-0000-000000000000" ,
"expires_at" : "2010-10-26T13:31:15+00:00" ,
"idp_initiated" : true ,
"jit_domains" : [
"example.com"
],
"modified_at" : "2019-09-19T10:00:00.000Z" ,
"sso_url" : "https://app.datadoghq.com/account/login/id/00000000-0000-0000-0000-000000000000"
},
"id" : "3653d3c6-0c75-11ea-ad28-fb5701eabc7d" ,
"relationships" : {
"default_roles" : {
"data" : [
{
"id" : "3653d3c6-0c75-11ea-ad28-fb5701eabc7d" ,
"type" : "roles"
}
]
}
},
"type" : "saml_configurations"
},
"included" : [
{
"attributes" : {
"created_at" : "2019-09-19T10:00:00.000Z" ,
"modified_at" : "2019-09-19T10:00:00.000Z" ,
"name" : "string" ,
"receives_permissions_from" : [],
"user_count" : "integer"
},
"id" : "string" ,
"relationships" : {
"permissions" : {
"data" : [
{
"id" : "string" ,
"type" : "permissions"
}
]
}
},
"type" : "roles"
}
]
} Bad Request
{
"errors" : [
"Bad Request"
]
} Authentication Error
{
"errors" : [
"Bad Request"
]
} Not Found
{
"errors" : [
"Bad Request"
]
} Unprocessable Entity
{
"errors" : [
"Bad Request"
]
} Too many requests
{
"errors" : [
"Bad Request"
]
} Code Example Copy
## default
#
# Path parameters export saml_config_uuid = "3653d3c6-0c75-11ea-ad28-fb5701eabc7d" # Curl command curl -X PATCH "https://api.ap1.datadoghq.com "https://api.ap2.datadoghq.com "https://api.datadoghq.eu "https://api.ddog-gov.com "https://api.us2.ddog-gov.com "https://api.uk1.datadoghq.com "https://api.datadoghq.com "https://api.us3.datadoghq.com "https://api.us5.datadoghq.com /api/v2/saml_configurations/${saml_config_uuid} " \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY} " \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY} " \
-d @- << EOF
{
"data": {
"attributes": {
"idp_initiated": true,
"jit_domains": [
"example.com"
]
},
"id": "3653d3c6-0c75-11ea-ad28-fb5701eabc7d",
"relationships": {
"default_roles": {
"data": [
{
"id": "8dd1cf3c-0c75-11ea-ad28-fb5701eabc7d",
"type": "roles"
}
]
}
},
"type": "saml_configurations"
}
}
EOF
"""
Update a SAML configuration returns "OK" response
"""
from datadog_api_client import ApiClient , Configuration
from datadog_api_client.v2.api.organizations_api import OrganizationsApi
from datadog_api_client.v2.model.relationship_to_role_data import RelationshipToRoleData
from datadog_api_client.v2.model.relationship_to_roles import RelationshipToRoles
from datadog_api_client.v2.model.roles_type import RolesType
from datadog_api_client.v2.model.saml_configuration_relationships import SAMLConfigurationRelationships
from datadog_api_client.v2.model.saml_configuration_update_attributes import SAMLConfigurationUpdateAttributes
from datadog_api_client.v2.model.saml_configuration_update_data import SAMLConfigurationUpdateData
from datadog_api_client.v2.model.saml_configuration_update_request import SAMLConfigurationUpdateRequest
from datadog_api_client.v2.model.saml_configurations_type import SAMLConfigurationsType
body = SAMLConfigurationUpdateRequest (
data = SAMLConfigurationUpdateData (
attributes = SAMLConfigurationUpdateAttributes (
idp_initiated = True ,
jit_domains = [
"example.com" ,
],
),
id = "3653d3c6-0c75-11ea-ad28-fb5701eabc7d" ,
relationships = SAMLConfigurationRelationships (
default_roles = RelationshipToRoles (
data = [
RelationshipToRoleData (
id = "3653d3c6-0c75-11ea-ad28-fb5701eabc7d" ,
type = RolesType . ROLES ,
),
],
),
),
type = SAMLConfigurationsType . SAML_CONFIGURATIONS ,
),
)
configuration = Configuration ()
with ApiClient ( configuration ) as api_client :
api_instance = OrganizationsApi ( api_client )
response = api_instance . update_saml_configuration (
saml_config_uuid = "3653d3c6-0c75-11ea-ad28-fb5701eabc7d" , body = body
)
print ( response )
Instructions First install the library and its dependencies and then save the example to example.py and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com uk1.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" python3 "example.py"
# Update a SAML configuration returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient :: V2 :: OrganizationsAPI . new
body = DatadogAPIClient :: V2 :: SAMLConfigurationUpdateRequest . new ({
data : DatadogAPIClient :: V2 :: SAMLConfigurationUpdateData . new ({
attributes : DatadogAPIClient :: V2 :: SAMLConfigurationUpdateAttributes . new ({
idp_initiated : true ,
jit_domains : [
"example.com" ,
] ,
}),
id : "3653d3c6-0c75-11ea-ad28-fb5701eabc7d" ,
relationships : DatadogAPIClient :: V2 :: SAMLConfigurationRelationships . new ({
default_roles : DatadogAPIClient :: V2 :: RelationshipToRoles . new ({
data : [
DatadogAPIClient :: V2 :: RelationshipToRoleData . new ({
id : "3653d3c6-0c75-11ea-ad28-fb5701eabc7d" ,
type : DatadogAPIClient :: V2 :: RolesType :: ROLES ,
}),
] ,
}),
}),
type : DatadogAPIClient :: V2 :: SAMLConfigurationsType :: SAML_CONFIGURATIONS ,
}),
})
p api_instance . update_saml_configuration ( "3653d3c6-0c75-11ea-ad28-fb5701eabc7d" , body )
Instructions First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com uk1.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" rb "example.rb"
// Update a SAML configuration returns "OK" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)
func main () {
body := datadogV2 . SAMLConfigurationUpdateRequest {
Data : datadogV2 . SAMLConfigurationUpdateData {
Attributes : & datadogV2 . SAMLConfigurationUpdateAttributes {
IdpInitiated : datadog . PtrBool ( true ),
JitDomains : [] string {
"example.com" ,
},
},
Id : "3653d3c6-0c75-11ea-ad28-fb5701eabc7d" ,
Relationships : & datadogV2 . SAMLConfigurationRelationships {
DefaultRoles : & datadogV2 . RelationshipToRoles {
Data : [] datadogV2 . RelationshipToRoleData {
{
Id : datadog . PtrString ( "3653d3c6-0c75-11ea-ad28-fb5701eabc7d" ),
Type : datadogV2 . ROLESTYPE_ROLES . Ptr (),
},
},
},
},
Type : datadogV2 . SAMLCONFIGURATIONSTYPE_SAML_CONFIGURATIONS ,
},
}
ctx := datadog . NewDefaultContext ( context . Background ())
configuration := datadog . NewConfiguration ()
apiClient := datadog . NewAPIClient ( configuration )
api := datadogV2 . NewOrganizationsApi ( apiClient )
resp , r , err := api . UpdateSAMLConfiguration ( ctx , "3653d3c6-0c75-11ea-ad28-fb5701eabc7d" , body )
if err != nil {
fmt . Fprintf ( os . Stderr , "Error when calling `OrganizationsApi.UpdateSAMLConfiguration`: %v\n" , err )
fmt . Fprintf ( os . Stderr , "Full HTTP response: %v\n" , r )
}
responseContent , _ := json . MarshalIndent ( resp , "" , " " )
fmt . Fprintf ( os . Stdout , "Response from `OrganizationsApi.UpdateSAMLConfiguration`:\n%s\n" , responseContent )
}
Instructions First install the library and its dependencies and then save the example to main.go and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com uk1.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" go run "main.go"
// Update a SAML configuration returns "OK" response
import com.datadog.api.client.ApiClient ;
import com.datadog.api.client.ApiException ;
import com.datadog.api.client.v2.api.OrganizationsApi ;
import com.datadog.api.client.v2.model.RelationshipToRoleData ;
import com.datadog.api.client.v2.model.RelationshipToRoles ;
import com.datadog.api.client.v2.model.RolesType ;
import com.datadog.api.client.v2.model.SAMLConfigurationRelationships ;
import com.datadog.api.client.v2.model.SAMLConfigurationResponse ;
import com.datadog.api.client.v2.model.SAMLConfigurationUpdateAttributes ;
import com.datadog.api.client.v2.model.SAMLConfigurationUpdateData ;
import com.datadog.api.client.v2.model.SAMLConfigurationUpdateRequest ;
import com.datadog.api.client.v2.model.SAMLConfigurationsType ;
import java.util.Collections ;
public class Example {
public static void main ( String [] args ) {
ApiClient defaultClient = ApiClient . getDefaultApiClient ();
OrganizationsApi apiInstance = new OrganizationsApi ( defaultClient );
SAMLConfigurationUpdateRequest body =
new SAMLConfigurationUpdateRequest ()
. data (
new SAMLConfigurationUpdateData ()
. attributes (
new SAMLConfigurationUpdateAttributes ()
. idpInitiated ( true )
. jitDomains ( Collections . singletonList ( "example.com" )))
. id ( "3653d3c6-0c75-11ea-ad28-fb5701eabc7d" )
. relationships (
new SAMLConfigurationRelationships ()
. defaultRoles (
new RelationshipToRoles ()
. data (
Collections . singletonList (
new RelationshipToRoleData ()
. id ( "3653d3c6-0c75-11ea-ad28-fb5701eabc7d" )
. type ( RolesType . ROLES )))))
. type ( SAMLConfigurationsType . SAML_CONFIGURATIONS ));
try {
SAMLConfigurationResponse result =
apiInstance . updateSAMLConfiguration ( "3653d3c6-0c75-11ea-ad28-fb5701eabc7d" , body );
System . out . println ( result );
} catch ( ApiException e ) {
System . err . println ( "Exception when calling OrganizationsApi#updateSAMLConfiguration" );
System . err . println ( "Status code: " + e . getCode ());
System . err . println ( "Reason: " + e . getResponseBody ());
System . err . println ( "Response headers: " + e . getResponseHeaders ());
e . printStackTrace ();
}
}
}
Instructions First install the library and its dependencies and then save the example to Example.java and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com uk1.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" java "Example.java"
// Update a SAML configuration returns "OK" response
use datadog_api_client ::datadog ;
use datadog_api_client ::datadogV2 ::api_organizations ::OrganizationsAPI ;
use datadog_api_client ::datadogV2 ::model ::RelationshipToRoleData ;
use datadog_api_client ::datadogV2 ::model ::RelationshipToRoles ;
use datadog_api_client ::datadogV2 ::model ::RolesType ;
use datadog_api_client ::datadogV2 ::model ::SAMLConfigurationRelationships ;
use datadog_api_client ::datadogV2 ::model ::SAMLConfigurationUpdateAttributes ;
use datadog_api_client ::datadogV2 ::model ::SAMLConfigurationUpdateData ;
use datadog_api_client ::datadogV2 ::model ::SAMLConfigurationUpdateRequest ;
use datadog_api_client ::datadogV2 ::model ::SAMLConfigurationsType ;
#[tokio::main]
async fn main () {
let body = SAMLConfigurationUpdateRequest ::new (
SAMLConfigurationUpdateData ::new (
"3653d3c6-0c75-11ea-ad28-fb5701eabc7d" . to_string (),
SAMLConfigurationsType ::SAML_CONFIGURATIONS ,
)
. attributes (
SAMLConfigurationUpdateAttributes ::new ()
. idp_initiated ( true )
. jit_domains ( vec! [ "example.com" . to_string ()]),
)
. relationships ( SAMLConfigurationRelationships ::new (). default_roles (
RelationshipToRoles ::new (). data ( vec! [
RelationshipToRoleData ::new ()
. id ( "3653d3c6-0c75-11ea-ad28-fb5701eabc7d" . to_string ())
. type_ ( RolesType ::ROLES )
]),
)),
);
let configuration = datadog ::Configuration ::new ();
let api = OrganizationsAPI ::with_config ( configuration );
let resp = api
. update_saml_configuration ( "3653d3c6-0c75-11ea-ad28-fb5701eabc7d" . to_string (), body )
. await ;
if let Ok ( value ) = resp {
println! ( " {:#?} " , value );
} else {
println! ( " {:#?} " , resp . unwrap_err ());
}
}
Instructions First install the library and its dependencies and then save the example to src/main.rs and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com uk1.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" cargo run
/**
* Update a SAML configuration returns "OK" response
*/
import { client , v2 } from "@datadog/datadog-api-client" ;
const configuration = client . createConfiguration ();
const apiInstance = new v2 . OrganizationsApi ( configuration );
const params : v2.OrganizationsApiUpdateSAMLConfigurationRequest = {
body : {
data : {
attributes : {
idpInitiated : true ,
jitDomains : [ "example.com" ],
},
id : "3653d3c6-0c75-11ea-ad28-fb5701eabc7d" ,
relationships : {
defaultRoles : {
data : [
{
id : "3653d3c6-0c75-11ea-ad28-fb5701eabc7d" ,
type : "roles" ,
},
],
},
},
type : "saml_configurations" ,
},
},
samlConfigUuid : "3653d3c6-0c75-11ea-ad28-fb5701eabc7d" ,
};
apiInstance
. updateSAMLConfiguration ( params )
. then (( data : v2.SAMLConfigurationResponse ) => {
console . log (
"API called successfully. Returned data: " + JSON . stringify ( data )
);
})
. catch (( error : any ) => console . error ( error ));
Instructions First install the library and its dependencies and then save the example to example.ts and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com uk1.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" tsc "example.ts"