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
{ "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.
Header | Description |
---|---|
Content-Type | application/json |
Response Body
Name | Type | Description |
---|---|---|
Security Domain | Security Domain | Contains 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.
Item | Value |
---|---|
401 | Unauthorized. 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. |
500 | An error occurred processing the call. |
More information about Akana API Platform API error messages.