Note : This endpoint is in preview and is subject to change.
If you have any feedback, contact Datadog support .
PATCH https://api.ap1.datadoghq.com/api/v2/org/saml_configurations https://api.ap2.datadoghq.com/api/v2/org/saml_configurations https://api.datadoghq.eu/api/v2/org/saml_configurations https://api.ddog-gov.com/api/v2/org/saml_configurations https://api.us2.ddog-gov.com/api/v2/org/saml_configurations https://api.uk1.datadoghq.com/api/v2/org/saml_configurations https://api.datadoghq.com/api/v2/org/saml_configurations https://api.us3.datadoghq.com/api/v2/org/saml_configurations https://api.us5.datadoghq.com/api/v2/org/saml_configurations
Overview
Update the SAML preferences for the current organization.
Use this endpoint to set the just-in-time (JIT) provisioning domains and the default role
assigned to just-in-time provisioned users.
This endpoint requires the
org_management permission.
Request Body Data (required)
Expand All
Data for updating an organization's SAML preferences.
Attributes for updating an organization's SAML preferences.
default_role_uuids [required ]
The UUID of the default role assigned to just-in-time provisioned users.
Exactly one role UUID must be provided.
Email domains for which users are automatically provisioned on first SAML login
(just-in-time provisioning).
The identifier of the SAML preferences resource.
SAML preferences resource type.
Allowed enum values: saml_preferences
default: saml_preferences
{
"data" : {
"attributes" : {
"default_role_uuids" : [
"8dd1cf3c-0c75-11ea-ad28-fb5701eabc7d"
],
"jit_domains" : [
"example.com"
]
},
"id" : "00000000-0000-0000-0000-000000000000" ,
"type" : "saml_preferences"
}
} Response Bad Request
API error response.
Expand All
A human-readable explanation specific to this occurrence of the error.
Non-standard meta-information about the error
References to the source of the error.
A string indicating the name of a single request header which caused the error.
A string indicating which URI query parameter caused the error.
A JSON pointer to the value in the request document that caused the error.
Status code of the response.
Short human-readable summary of the error.
{
"errors" : [
{
"detail" : "Missing required attribute in body" ,
"meta" : {},
"source" : {
"header" : "Authorization" ,
"parameter" : "limit" ,
"pointer" : "/data/attributes/title"
},
"status" : "400" ,
"title" : "Bad Request"
}
]
} Forbidden
API error response.
Expand All
A human-readable explanation specific to this occurrence of the error.
Non-standard meta-information about the error
References to the source of the error.
A string indicating the name of a single request header which caused the error.
A string indicating which URI query parameter caused the error.
A JSON pointer to the value in the request document that caused the error.
Status code of the response.
Short human-readable summary of the error.
{
"errors" : [
{
"detail" : "Missing required attribute in body" ,
"meta" : {},
"source" : {
"header" : "Authorization" ,
"parameter" : "limit" ,
"pointer" : "/data/attributes/title"
},
"status" : "400" ,
"title" : "Bad Request"
}
]
} Not Found
API error response.
Expand All
A human-readable explanation specific to this occurrence of the error.
Non-standard meta-information about the error
References to the source of the error.
A string indicating the name of a single request header which caused the error.
A string indicating which URI query parameter caused the error.
A JSON pointer to the value in the request document that caused the error.
Status code of the response.
Short human-readable summary of the error.
{
"errors" : [
{
"detail" : "Missing required attribute in body" ,
"meta" : {},
"source" : {
"header" : "Authorization" ,
"parameter" : "limit" ,
"pointer" : "/data/attributes/title"
},
"status" : "400" ,
"title" : "Bad Request"
}
]
} Too many requests
{
"errors" : [
"Bad Request"
]
} Code Example Copy
## default
#
# 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/org/saml_configurations " \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY} " \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY} " \
-d @- << EOF
{
"data": {
"attributes": {
"default_role_uuids": [
"8dd1cf3c-0c75-11ea-ad28-fb5701eabc7d"
],
"jit_domains": [
"example.com"
]
},
"type": "saml_preferences"
}
}
EOF
"""
Update organization SAML preferences returns "No Content" response
"""
from datadog_api_client import ApiClient , Configuration
from datadog_api_client.v2.api.organizations_api import OrganizationsApi
from datadog_api_client.v2.model.org_saml_preferences_attributes import OrgSAMLPreferencesAttributes
from datadog_api_client.v2.model.org_saml_preferences_data import OrgSAMLPreferencesData
from datadog_api_client.v2.model.org_saml_preferences_type import OrgSAMLPreferencesType
from datadog_api_client.v2.model.org_saml_preferences_update_request import OrgSAMLPreferencesUpdateRequest
from uuid import UUID
body = OrgSAMLPreferencesUpdateRequest (
data = OrgSAMLPreferencesData (
attributes = OrgSAMLPreferencesAttributes (
default_role_uuids = [
UUID ( "8dd1cf3c-0c75-11ea-ad28-fb5701eabc7d" ),
],
jit_domains = [
"example.com" ,
],
),
id = "00000000-0000-0000-0000-000000000000" ,
type = OrgSAMLPreferencesType . SAML_PREFERENCES ,
),
)
configuration = Configuration ()
configuration . unstable_operations [ "update_org_saml_configurations" ] = True
with ApiClient ( configuration ) as api_client :
api_instance = OrganizationsApi ( api_client )
api_instance . update_org_saml_configurations ( body = body )
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 organization SAML preferences returns "No Content" response
require "datadog_api_client"
DatadogAPIClient . configure do | config |
config . unstable_operations [ "v2.update_org_saml_configurations" . to_sym ] = true
end
api_instance = DatadogAPIClient :: V2 :: OrganizationsAPI . new
body = DatadogAPIClient :: V2 :: OrgSAMLPreferencesUpdateRequest . new ({
data : DatadogAPIClient :: V2 :: OrgSAMLPreferencesData . new ({
attributes : DatadogAPIClient :: V2 :: OrgSAMLPreferencesAttributes . new ({
default_role_uuids : [
"8dd1cf3c-0c75-11ea-ad28-fb5701eabc7d" ,
] ,
jit_domains : [
"example.com" ,
] ,
}),
id : "00000000-0000-0000-0000-000000000000" ,
type : DatadogAPIClient :: V2 :: OrgSAMLPreferencesType :: SAML_PREFERENCES ,
}),
})
api_instance . update_org_saml_configurations ( 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 organization SAML preferences returns "No Content" response
package main
import (
"context"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
"github.com/google/uuid"
)
func main () {
body := datadogV2 . OrgSAMLPreferencesUpdateRequest {
Data : datadogV2 . OrgSAMLPreferencesData {
Attributes : datadogV2 . OrgSAMLPreferencesAttributes {
DefaultRoleUuids : [] uuid . UUID {
uuid . MustParse ( "8dd1cf3c-0c75-11ea-ad28-fb5701eabc7d" ),
},
JitDomains : [] string {
"example.com" ,
},
},
Id : datadog . PtrString ( "00000000-0000-0000-0000-000000000000" ),
Type : datadogV2 . ORGSAMLPREFERENCESTYPE_SAML_PREFERENCES ,
},
}
ctx := datadog . NewDefaultContext ( context . Background ())
configuration := datadog . NewConfiguration ()
configuration . SetUnstableOperationEnabled ( "v2.UpdateOrgSamlConfigurations" , true )
apiClient := datadog . NewAPIClient ( configuration )
api := datadogV2 . NewOrganizationsApi ( apiClient )
r , err := api . UpdateOrgSamlConfigurations ( ctx , body )
if err != nil {
fmt . Fprintf ( os . Stderr , "Error when calling `OrganizationsApi.UpdateOrgSamlConfigurations`: %v\n" , err )
fmt . Fprintf ( os . Stderr , "Full HTTP response: %v\n" , r )
}
}
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 organization SAML preferences returns "No Content" 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.OrgSAMLPreferencesAttributes ;
import com.datadog.api.client.v2.model.OrgSAMLPreferencesData ;
import com.datadog.api.client.v2.model.OrgSAMLPreferencesType ;
import com.datadog.api.client.v2.model.OrgSAMLPreferencesUpdateRequest ;
import java.util.Collections ;
import java.util.UUID ;
public class Example {
public static void main ( String [] args ) {
ApiClient defaultClient = ApiClient . getDefaultApiClient ();
defaultClient . setUnstableOperationEnabled ( "v2.updateOrgSamlConfigurations" , true );
OrganizationsApi apiInstance = new OrganizationsApi ( defaultClient );
OrgSAMLPreferencesUpdateRequest body =
new OrgSAMLPreferencesUpdateRequest ()
. data (
new OrgSAMLPreferencesData ()
. attributes (
new OrgSAMLPreferencesAttributes ()
. defaultRoleUuids (
Collections . singletonList (
UUID . fromString ( "8dd1cf3c-0c75-11ea-ad28-fb5701eabc7d" )))
. jitDomains ( Collections . singletonList ( "example.com" )))
. id ( "00000000-0000-0000-0000-000000000000" )
. type ( OrgSAMLPreferencesType . SAML_PREFERENCES ));
try {
apiInstance . updateOrgSamlConfigurations ( body );
} catch ( ApiException e ) {
System . err . println ( "Exception when calling OrganizationsApi#updateOrgSamlConfigurations" );
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 organization SAML preferences returns "No Content" response
use datadog_api_client ::datadog ;
use datadog_api_client ::datadogV2 ::api_organizations ::OrganizationsAPI ;
use datadog_api_client ::datadogV2 ::model ::OrgSAMLPreferencesAttributes ;
use datadog_api_client ::datadogV2 ::model ::OrgSAMLPreferencesData ;
use datadog_api_client ::datadogV2 ::model ::OrgSAMLPreferencesType ;
use datadog_api_client ::datadogV2 ::model ::OrgSAMLPreferencesUpdateRequest ;
use uuid ::Uuid ;
#[tokio::main]
async fn main () {
let body =
OrgSAMLPreferencesUpdateRequest ::new (
OrgSAMLPreferencesData ::new (
OrgSAMLPreferencesAttributes ::new (
vec! [ Uuid ::parse_str ( "8dd1cf3c-0c75-11ea-ad28-fb5701eabc7d" )
. expect ( "invalid UUID" )],
vec! [ "example.com" . to_string ()],
),
OrgSAMLPreferencesType ::SAML_PREFERENCES ,
)
. id ( "00000000-0000-0000-0000-000000000000" . to_string ()),
);
let mut configuration = datadog ::Configuration ::new ();
configuration . set_unstable_operation_enabled ( "v2.UpdateOrgSamlConfigurations" , true );
let api = OrganizationsAPI ::with_config ( configuration );
let resp = api . update_org_saml_configurations ( 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 organization SAML preferences returns "No Content" response
*/
import { client , v2 } from "@datadog/datadog-api-client" ;
const configuration = client . createConfiguration ();
configuration . unstableOperations [ "v2.updateOrgSamlConfigurations" ] = true ;
const apiInstance = new v2 . OrganizationsApi ( configuration );
const params : v2.OrganizationsApiUpdateOrgSamlConfigurationsRequest = {
body : {
data : {
attributes : {
defaultRoleUuids : [ "8dd1cf3c-0c75-11ea-ad28-fb5701eabc7d" ],
jitDomains : [ "example.com" ],
},
id : "00000000-0000-0000-0000-000000000000" ,
type : "saml_preferences" ,
},
},
};
apiInstance
. updateOrgSamlConfigurations ( params )
. then (( data : any ) => {
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"