POST /api/securitydomains/

Adds a new security domain and set its profile name.

Authorization Roles/Permissions: Must be logged in. Must have the permission for the resource. Business Admin.

This topic includes the following sections:

HTTP Method

POST

URL

https://{hostname}/api/securitydomains

Sample Request

The following example shows requests to add a new security domain on the platform with the FAPI security profile enabled. Note: If you create a security domain profile without enabling FAPI, you can leave the Supported Security Profiles parameter empty.

Sample request URL

https://{hostname}/api/securitydomains

Sample request headers

POST /api/securitydomains HTTP/1.1
Host: {hostname}
Accept: application/json
Content-Type: application/json
X-Csrf-Token_acmepaymentscorp:"TokenID%3D8ed70a13-8469-11e8-b37a-b155e4eabeb8%2CexpirationTime%3D153...

Sample request body

{
    "Name": "acmepaymentscorp_4hrNPFUYS",
    "Description": "",
    "IdentitySystemType": "com.soa.securitydomain.oauth.provider",
    "DomainConfiguration": {"ResourceOwnerIdentitySystemName":"LDAP","AuthorizationCodeGrantType":{"AuthorizationCodeExpirationTimeInSeconds":"300","AccessTokenExpirationTimeInSeconds":"600","IssueRefreshTokens":true,"GrantExpirationTimeInSeconds":1296000,"PixySupport":true,"EnforcePixy":false,"PlainTransformationSupport":false},"ImplicitGrantType":{"AccessTokenExpirationTimeInSeconds":"600","GrantExpirationTimeInSeconds":1296000},"ResourceOwnerCredentialsGrantType":{"AccessTokenExpirationTimeInSeconds":"600","IssueRefreshTokens":true,"GrantExpirationTimeInSeconds":1296000},"ClientCredentialsGrantType":{"AccessTokenExpirationTimeInSeconds":"600","GrantExpirationTimeInSeconds":1296000},"JWTBearerGrantType":{"AccessTokenExpirationTimeInSeconds":"1296000","GrantExpirationTimeInSeconds":1296000,"IssueRefreshTokens":true,"AllowedClockSkewInSeconds":"600","JWTIssuedByThisProvider":true},"AccessTokenType":"JWT","ClientCanOverrideAccessTokenType":false,"ReferencedAccessTokenConfiguration":{"ReferencedAccessTokenLength":"40"},"JWTAccessTokenConfiguration":{"Issuer":"","ClientIDClaimName":"client_id","ScopeClaimName":"scope","ResourceOwnerUIDClaimName":"sub","Audiences":["https://api:fapi"],"SigningAlgorithm":"PS256","PlatformIdentityForSignature":"oauth-access-token-sign-02-ps256.user","SigningProvider":"nCipherKM","VerifyProvider":"BC","IncludeResourceOwnerUserInfo":false,"EncryptJWT":true,"PlatformIdentityForEncryption":"akana-jwt-sig","EncryptProvider":"SunJCE","DecryptProvider":"nCipherKM","KeyManagementAlgorithm":"RSA-OAEP","ContentEncryptionAlgorithm":"A128GCM"},"TokenValidationConfig":{"ClockSkewInSec":"120","VerifyTokenWithAuzServer":false},"GrantProvisioningTimeoutInSeconds":"600","ResourceHierarchy":{"Resource":[{"Name":"openid","ShortDescription":"OpenID Connect scope","LongDescription":"","ResourcePath":"openid","DefaultResource":"false","UserAuthorizationRequired":"true"},{"Name":"scope","ShortDescription":"Consented scope scope","LongDescription":"This scope value requests access to the consented scopes in scope claim in id_token or UserInfo response.","ResourcePath":"scope","DefaultResource":"false","UserAuthorizationRequired":"true"}]},"GrantPropertiesMetadata":{"GrantPropertyMetadata":[]},"ProviderBrandDetails":{"LogoURL":"","Footer":"","AuthorizationServerURL":"","GrantAdminSessionTimeoutInSeconds":"600"},"WorkflowDefinitionKey":"workflow:definition:oauth:grant:default:1.0.0","OpenIdConnectSupported":true,"IdTokenSigningAlgorithm":"PS256","IdTokenEncryptionKeyManagementAlgorithm":"none","IdTokenContentEncryptionAlgorithm":"A128CBC-HS256","IdTokenExpirationTimeInSeconds":"1800","JwkExpirationTimeInSeconds":"86400","ReferencedTokenTypeSelected":true,"JWTTokenTypeSelected":true,"MACTokenTypeSelected":false,"ClientRestrictionsSetting":"com.akana.oauth.client.restrictions.none","SupportedSecurityProfiles":["fapi"]}"
}

Request Headers

For general information on request header values, refer to HTTP Request Headers.

Header Description
Accept application/json, text/javascript, or */*; q=0.01
Content-Type application/json
Cookie AtmoAuthToken_{fedmemberid}={cookie value, which usually starts with TokenID}—The platform cookie. This is the Akana API Platform authorization token, and must be sent with every API request that requires login. For more information and an example, see Session cookies.
X-Csrf-Token_{fedmemberID} The CSRF prevention header; may or may not be required, depending on platform settings. See CSRF Prevention on the Platform. By default, the CSRF header is not required for GET operations and is required for all others, with a few exceptions relating to user login.

Request Parameters

Parameter Parm Type Data Type Required Description
Security Domain Body Security Domain Required Contains configuration information about a security domain on the platform.

Response

If successful, this operation returns HTTP status code 200 with information about the domain, including the domain name assigned to a new security domain.

Sample Response

The examples below show successful use of this operation.

Sample response headers

HTTP/1.1  200 OK
Content-Type: application/json
Date: Thu, 21 September 2024 20:26:11 GMT

Sample response body

{
    "Name": "acmepaymentscorp_4hrNPFUYS",
    "Description": "",
    "IdentitySystemType": "com.soa.securitydomain.oauth.provider",
    "DomainConfiguration": {"ResourceOwnerIdentitySystemName":"LDAP","AuthorizationCodeGrantType": {"AuthorizationCodeExpirationTimeInSeconds":"300","AccessTokenExpirationTimeInSeconds":"600","IssueRefreshTokens":true,"GrantExpirationTimeInSeconds":1296000,"PixySupport":true,"EnforcePixy":false,"PlainTransformationSupport":false},"ImplicitGrantType":{"AccessTokenExpirationTimeInSeconds":"600","GrantExpirationTimeInSeconds":1296000},"ResourceOwnerCredentialsGrantType":{"AccessTokenExpirationTimeInSeconds":"600","IssueRefreshTokens":true,"GrantExpirationTimeInSeconds":1296000},"ClientCredentialsGrantType":{"AccessTokenExpirationTimeInSeconds":"600","GrantExpirationTimeInSeconds":1296000},"JWTBearerGrantType":{"AccessTokenExpirationTimeInSeconds":"1296000","GrantExpirationTimeInSeconds":1296000,"IssueRefreshTokens":true,"AllowedClockSkewInSeconds":"600","JWTIssuedByThisProvider":true},"AccessTokenType":"JWT","ClientCanOverrideAccessTokenType":false,"ReferencedAccessTokenConfiguration":{"ReferencedAccessTokenLength":"40"},"JWTAccessTokenConfiguration":{"Issuer":"","ClientIDClaimName":"client_id","ScopeClaimName":"scope","ResourceOwnerUIDClaimName":"sub","Audiences":["https://api:fapi"],"SigningAlgorithm":"PS256","PlatformIdentityForSignature":"oauth-access-token-sign-02-ps256.user","SigningProvider":"nCipherKM","VerifyProvider":"BC","IncludeResourceOwnerUserInfo":false,"EncryptJWT":true,"PlatformIdentityForEncryption":"akana-jwt-sig","EncryptProvider":"SunJCE","DecryptProvider":"nCipherKM","KeyManagementAlgorithm":"RSA-OAEP","ContentEncryptionAlgorithm":"A128GCM"},"TokenValidationConfig":{"ClockSkewInSec":"120","VerifyTokenWithAuzServer":false},"GrantProvisioningTimeoutInSeconds":"600","ResourceHierarchy":{"Resource":[{"Name":"openid","ShortDescription":"OpenID Connect scope","LongDescription":"","ResourcePath":"openid","DefaultResource":"false","UserAuthorizationRequired":"true"},{"Name":"scope","ShortDescription":"Consented scope scope","LongDescription":"This scope value requests access to the consented scopes in scope claim in id_token or UserInfo response.","ResourcePath":"scope","DefaultResource":"false","UserAuthorizationRequired":"true"}]},"GrantPropertiesMetadata":{"GrantPropertyMetadata":[]},"ProviderBrandDetails":{"LogoURL":"","Footer":"","AuthorizationServerURL":"","GrantAdminSessionTimeoutInSeconds":"600"},"WorkflowDefinitionKey":"workflow:definition:oauth:grant:default:1.0.0","OpenIdConnectSupported":true,"IdTokenSigningAlgorithm":"PS256","IdTokenEncryptionKeyManagementAlgorithm":"none","IdTokenContentEncryptionAlgorithm":"A128CBC-HS256","IdTokenExpirationTimeInSeconds":"1800","JwkExpirationTimeInSeconds":"86400","ReferencedTokenTypeSelected":true,"JWTTokenTypeSelected":true,"MACTokenTypeSelected":false,"ClientRestrictionsSetting":"com.akana.oauth.client.restrictions.none","SupportedSecurityProfiles":["fapi"]}"
}

Response Headers

For general information on response header values, refer to HTTP Response Headers.

HeaderDescription
Content-Typeapplication/json

Response Body

NameTypeDescription
Security DomainSecurity DomainContains information about a security domain on the platform.

Error Codes/Messages

If the call is unsuccessful an error code/message is returned. One or more examples of possible errors for this operation are shown below.

ItemValue
401Unauthorized. For example, you would get this response if you didn't include the custom X-Csrf-Token_{fedmemberID} header in the request, when it was required by the platform settings; or if you included an invalid or expired value for this header. You would also get this response for any operation that requires login (almost all) if the login cookie was missing.
500An error occurred processing the call.

More information about Akana API Platform API error messages.