Applications
Application Management Rest API (v1)
Download OpenAPI specification:Download
This document specifies an Application Management RESTful API for WSO2 Identity Server.
List applications
This API provides the capability to retrieve the list of applications.
Scope(Permission) required: internal_application_mgt_view
Authorizations:
query Parameters
| limit | integer >= 1 Default: 30 Maximum number of records to return. |
| offset | integer Default: 0 Number of records to skip for pagination. |
| filter | string Condition to filter the retrieval of records. Supports 'sw', 'co', 'ew', and 'eq' operations with 'and', 'or' logical operators. Note that 'and' and 'or' operators in filters follow the general precedence of logical operators. For example, A and B or C and D = (A and B) or (C and D)). Currently supports only filtering based on the 'name', the 'clientId', and the 'issuer' attributes. /applications?filter=name+eq+user_portal
|
| sortOrder | string Enum: "ASC" "DESC" Define the order in which the retrieved records should be sorted. This parameter is not supported yet. |
| sortBy | string Attribute by which the retrieved records should be sorted. This parameter is not supported yet. |
| attributes | string Specifies the required parameters in the response. Only 'advancedConfigurations', 'templateId', 'clientId', and 'issuer' attributes are currently supported. /applications?attributes=advancedConfigurations,templateId,clientId,issuer |
Responses
Request samples
- Curl
curl -X 'GET' \ 'https://localhost:9443/api/server/v1/applications?limit=30&offset=0' \ -H 'accept: application/json' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 200
- 400
- 404
- 500
- 501
{- "totalResults": 1,
- "startIndex": 1,
- "count": 10,
- "applications": [
- {
- "id": "85e3f4b8-0d22-4181-b1e3-1651f71b88bd",
- "name": "user-portal",
- "description": "Application representing user portal",
- "clientId": "SmrrDNXRYf1lMmDlnleeHTuXx_Ea",
- "access": "READ",
- "self": "/t/wso2.com/api/server/v1/applications/85e3f4b8-0d22-4181-b1e3-1651f71b88bd",
- "advancedConfigurations": {
- "saas": false,
- "discoverableByEndUsers": false,
- "certificate": {
- "type": "string",
- "value": "string"
}, - "skipLoginConsent": false,
- "skipLogoutConsent": false,
- "useExternalConsentPage": false,
- "returnAuthenticatedIdpList": false,
- "enableAuthorization": true,
- "additionalSpProperties": [
- {
- "name": "isInternalApp",
- "value": "true",
- "displayName": "Internal Application"
}
]
}, - "templateId": "980b8tester24c64a8a09a0d80abf8c337bd2555"
}
], - "links": [
- {
- "href": "applications?offset=10&limit=10",
- "rel": "next"
}
]
}Add application
This API provides the capability to store the application information that is provided by users.
Scope(Permission) required: internal_application_mgt_create
Authorizations:
query Parameters
| template | string Pre-defined template to use when creating the application. |
Request Body schema: application/jsonrequired
This represents the application to be created.
| name required | string |
| description | string |
| imageUrl | string |
| accessUrl | string |
| logoutReturnUrl | string |
| templateId | string |
| isManagementApp | boolean Default: false Decides whether the application used to access System APIs |
object (ClaimConfiguration) | |
object (InboundProtocols) | |
object (AuthenticationSequence) | |
object (AdvancedApplicationConfiguration) | |
object (ProvisioningConfiguration) |
Responses
Request samples
- Payload
- Curl
{- "name": "pickup",
- "description": "This is the configuration for Pickup application.",
- "templateId": "980b8tester24c64a8a09a0d80abf8c337bd2555",
- "isManagementApp": false,
- "claimConfiguration": {
- "dialect": "CUSTOM",
- "claimMappings": [
], - "subject": {
- "includeUserDomain": false,
- "includeTenantDomain": false,
- "useMappedLocalSubject": false
}, - "role": {
- "mappings": [
- {
- "localRole": "admin",
- "applicationRole": "Administrator"
}
], - "includeUserDomain": true,
}
}, - "inboundProtocolConfiguration": {
- "saml": {
- "metadataFile": "Base64 encoded metadata file content",
- "manualConfiguration": {
- "issuer": "string",
- "serviceProviderQualifier": "string",
- "assertionConsumerUrls": [
- "string"
], - "defaultAssertionConsumerUrl": "string",
- "idpEntityIdAlias": "string",
- "singleSignOnProfile": {
- "bindings": [
- "HTTP_POST"
], - "enableSignatureValidationForArtifactBinding": false,
- "enableIdpInitiatedSingleSignOn": false,
- "assertion": {
- "nameIdFormat": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
- "encryption": {
- "enabled": false,
}
}
}, - "attributeProfile": {
- "enabled": false,
- "alwaysIncludeAttributesInResponse": false
}, - "singleLogoutProfile": {
- "enabled": true,
- "logoutRequestUrl": "string",
- "logoutResponseUrl": "string",
- "logoutMethod": "BACKCHANNEL",
- "idpInitiatedSingleLogout": {
- "enabled": false,
- "returnToUrls": [
- "string"
]
}
}, - "requestValidation": {
- "enableSignatureValidation": true,
- "signatureValidationCertAlias": "string"
}, - "responseSigning": {
- "enabled": true,
- "signingAlgorithm": "string"
}, - "enableAssertionQueryProfile": false
}
}, - "oidc": {
- "clientId": "string",
- "clientSecret": "string",
- "grantTypes": [
- "authorization_code",
- "password"
], - "callbackURLs": [
- "regexp=(https://app.example.com/callback1|https://app.example.com/callback2)"
], - "publicClient": false,
- "pkce": {
- "mandatory": false,
- "supportPlainTransformAlgorithm": true
}, - "accessToken": {
- "type": "JWT",
- "userAccessTokenExpiryInSeconds": 3600,
- "applicationAccessTokenExpiryInSeconds": 3600,
- "bindingType": "cookie",
- "revokeTokensWhenIDPSessionTerminated": true,
- "validateTokenBinding": true
}, - "refreshToken": {
- "expiryInSeconds": 86400,
- "renewRefreshToken": true
}, - "idToken": {
- "expiryInSeconds": 3600,
- "encryption": {
- "enabled": false,
- "algorithm": "RSA-OAEP",
- "method": "A128CBC+HS256"
}
}, - "logout": {
}, - "validateRequestObjectSignature": false,
- "scopeValidators": [
- "Role based scope validator",
- "XACML Scope Validator"
]
}, - "passiveSts": {
- "realm": "string",
- "replyTo": "string"
}, - "custom": [
- {
- "name": "cas",
- "configName": "cas",
- "properties": [
- {
- "key": "app-identifier",
- "friendlyName": "Application Identifier"
}
]
}
]
}, - "authenticationSequence": {
- "type": "DEFAULT",
- "steps": [
- {
- "id": 1,
- "options": [
- {
- "idp": "LOCAL",
- "authenticator": "basic"
}
]
}
], - "requestPathAuthenticators": [
- "string"
], - "script": "string",
- "subjectStepId": 1,
- "attributeStepId": 1
}, - "advancedConfigurations": {
- "saas": false,
- "discoverableByEndUsers": false,
- "certificate": {
- "type": "string",
- "value": "string"
}, - "skipLoginConsent": false,
- "skipLogoutConsent": false,
- "useExternalConsentPage": false,
- "returnAuthenticatedIdpList": false,
- "enableAuthorization": true,
- "additionalSpProperties": [
- {
- "name": "isInternalApp",
- "value": "true",
- "displayName": "Internal Application"
}
]
}, - "provisioningConfigurations": {
- "inboundProvisioning": {
- "proxyMode": false,
- "provisioningUserstoreDomain": "PRIMARY"
}, - "outboundProvisioningIdps": [
- {
- "idp": "Google",
- "connector": "googleapps",
- "blocking": false,
- "rules": false,
- "jit": false
}
]
}
}Response samples
- 400
- 409
- 500
- 501
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Create application from an exported XML file
This API provides the capability to store the application information, provided as a file.
Scope(Permission) required: internal_application_mgt_create
Authorizations:
Request Body schema: multipart/form-data
This represents the application to be created.
| file | string <binary> file to upload |
Responses
Request samples
- Curl
curl -X 'POST' \ 'https://localhost:9443/api/server/v1/applications/import' \ -H 'accept: */*' \ -H 'Authorization: Basic YWRtaW46YWRtaW4=' \ -H 'Content-Type: multipart/form-data' \ -F 'file=@application.xml;type=text/xml'
Response samples
- 400
- 409
- 500
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Update application from an exported XML file
This API provides the capability to update an application from information that has been exported as an XML file.
Scope(Permission) required: internal_application_mgt_update
Authorizations:
Request Body schema: multipart/form-data
This represents the application to be updated.
| file | string <binary> file to upload |
Responses
Request samples
- Curl
curl -X 'PUT' \ 'https://localhost:9443/api/server/v1/applications/import' \ -H 'accept: */*' \ -H 'Authorization: Basic YWRtaW46YWRtaW4=' \ -H 'Content-Type: multipart/form-data' \ -F 'file=@application.xml;type=text/xml'
Response samples
- 400
- 404
- 409
- 500
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Retrieve application by ID
This API provides the capability to retrieve the application information by ID.
Scope(Permission) required: internal_application_mgt_view
Authorizations:
path Parameters
| applicationId required | string ID of the application. |
Responses
Request samples
- Curl
curl -X 'GET' \ 'https://localhost:9443/api/server/v1/applications/{application-id}' \ -H 'accept: application/json' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 200
- 400
- 404
- 500
{- "id": "394b8adcce24c64a8a09a0d80abf8c337bd253de",
- "name": "pickup",
- "description": "This is the configuration for Pickup application.",
- "clientId": "SmrrDNXRYf1lMmDlnleeHTuXx_Ea",
- "templateId": "adwefi2429asdfdf94444rraf44",
- "isManagementApp": false,
- "claimConfiguration": {
- "dialect": "CUSTOM",
- "claimMappings": [
- {
- "applicationClaim": "firstname",
- "localClaim": {
- "id": "aHR0cDovL3dzbzIub3JnL2NsYWltcy91c2VybmFtZQ",
- "displayName": "Username"
}
}
], - "requestedClaims": [
- {
- "claim": {
- "id": "aHR0cDovL3dzbzIub3JnL2NsYWltcy91c2VybmFtZQ",
- "displayName": "Username"
}, - "mandatory": false
}
], - "subject": {
- "claim": {
- "id": "aHR0cDovL3dzbzIub3JnL2NsYWltcy91c2VybmFtZQ",
- "displayName": "Username"
}, - "includeUserDomain": false,
- "includeTenantDomain": false,
- "useMappedLocalSubject": false
}, - "role": {
- "mappings": [
- {
- "localRole": "admin",
- "applicationRole": "Administrator"
}
], - "includeUserDomain": true,
- "claim": {
- "id": "aHR0cDovL3dzbzIub3JnL2NsYWltcy91c2VybmFtZQ",
- "displayName": "Username"
}
}
}, - "inboundProtocols": [
- {
- "type": "samlsso",
- "name": "SAML2 Inbound",
- "self": "/api/server/v1/applications/29048810-1447-4ea0-a348-30d15ab65fa3/inbound-protocols/saml"
}
], - "authenticationSequence": {
- "type": "DEFAULT",
- "steps": [
- {
- "id": 1,
- "options": [
- {
- "idp": "LOCAL",
- "authenticator": "basic"
}
]
}
], - "requestPathAuthenticators": [
- "string"
], - "script": "string",
- "subjectStepId": 1,
- "attributeStepId": 1
}, - "advancedConfigurations": {
- "saas": false,
- "discoverableByEndUsers": false,
- "certificate": {
- "type": "string",
- "value": "string"
}, - "skipLoginConsent": false,
- "skipLogoutConsent": false,
- "useExternalConsentPage": false,
- "returnAuthenticatedIdpList": false,
- "enableAuthorization": true,
- "additionalSpProperties": [
- {
- "name": "isInternalApp",
- "value": "true",
- "displayName": "Internal Application"
}
]
}, - "provisioningConfigurations": {
- "inboundProvisioning": {
- "proxyMode": false,
- "provisioningUserstoreDomain": "PRIMARY"
}, - "outboundProvisioningIdps": [
- {
- "idp": "Google",
- "connector": "googleapps",
- "blocking": false,
- "rules": false,
- "jit": false
}
]
}, - "access": "READ"
}Partially update application by ID
This API provides the capability to partially update an application by ID.
Scope(Permission) required: internal_application_mgt_update
Authorizations:
path Parameters
| applicationId required | string ID of the application. |
Request Body schema: application/jsonrequired
This represents the application details to be updated.
| name | string |
| description | string |
| imageUrl | string |
| accessUrl | string |
| logoutReturnUrl | string |
| templateId | string |
object (ClaimConfiguration) | |
object (AuthenticationSequence) | |
object (AdvancedApplicationConfiguration) | |
object (ProvisioningConfiguration) |
Responses
Request samples
- Payload
- Curl
{- "name": "pickup",
- "description": "This is the configuration for Pickup application.",
- "templateId": "adwefi2429asdfdf94444rraf44",
- "claimConfiguration": {
- "dialect": "CUSTOM",
- "claimMappings": [
], - "subject": {
- "includeUserDomain": false,
- "includeTenantDomain": false,
- "useMappedLocalSubject": false
}, - "role": {
- "mappings": [
- {
- "localRole": "admin",
- "applicationRole": "Administrator"
}
], - "includeUserDomain": true,
}
}, - "authenticationSequence": {
- "type": "DEFAULT",
- "steps": [
- {
- "id": 1,
- "options": [
- {
- "idp": "LOCAL",
- "authenticator": "basic"
}
]
}
], - "requestPathAuthenticators": [
- "string"
], - "script": "string",
- "subjectStepId": 1,
- "attributeStepId": 1
}, - "advancedConfigurations": {
- "saas": false,
- "discoverableByEndUsers": false,
- "certificate": {
- "type": "string",
- "value": "string"
}, - "skipLoginConsent": false,
- "skipLogoutConsent": false,
- "useExternalConsentPage": false,
- "returnAuthenticatedIdpList": false,
- "enableAuthorization": true,
- "additionalSpProperties": [
- {
- "name": "isInternalApp",
- "value": "true",
- "displayName": "Internal Application"
}
]
}, - "provisioningConfigurations": {
- "inboundProvisioning": {
- "proxyMode": false,
- "provisioningUserstoreDomain": "PRIMARY"
}, - "outboundProvisioningIdps": [
- {
- "idp": "Google",
- "connector": "googleapps",
- "blocking": false,
- "rules": false,
- "jit": false
}
]
}
}Response samples
- 400
- 409
- 500
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Delete application by ID
This API provides the capability to delete an application by ID.
Scope(Permission) required: internal_application_mgt_delete
Authorizations:
path Parameters
| applicationId required | string ID of the application. |
Responses
Request samples
- Curl
curl -X 'DELETE' \ 'https://localhost:9443/api/server/v1/applications/{application-id}' \ -H 'accept: */*' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 400
- 404
- 500
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Export application as an XML file
This API provides the capability to retrieve the application as an XML file.
Scope(Permission) required: internal_application_mgt_view
Authorizations:
path Parameters
| applicationId required | string ID of the application. |
query Parameters
| exportSecrets | boolean Default: false Specifies whether to export secrets when exporting an application. |
Responses
Request samples
- Curl
curl -X 'GET' \ 'https://localhost:9443/api/server/v1/applications/{application-id}/export?exportSecrets=false' \ -H 'accept: application/octet-stream' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 400
- 404
- 500
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Change application owner
This API provides the capability to change the application owner.
Scope(Permission) required: internal_organization_admin
Authorizations:
path Parameters
| applicationId required | string ID of the application. |
Request Body schema: application/json
| id required | string |
Responses
Request samples
- Payload
- Curl
{- "id": "85e3f4b8-0d22-4181-b1e3-1651f71b88bd"
}Response samples
- 400
- 404
- 500
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Get configured authenticators
This API provides the capability to retrieve the configured authenticators.
Scope(Permission) required: internal_application_mgt_view
Authorizations:
path Parameters
| applicationId required | string ID of the application. |
Responses
Request samples
- Curl
curl -X 'GET' \ 'https://localhost:9443/api/server/v1/applications/{application-id}/authenticators' \ -H 'accept: application/json' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 200
- 400
- 404
- 500
[- {
- "stepId": 1,
- "localAuthenticators": [
- {
- "name": "sampleIdP",
- "type": "SampleAuthenticator"
}
], - "federatedAuthenticators": [
- {
- "name": "sampleIdP",
- "type": "SampleAuthenticator"
}
]
}
]Get authorized APIs of the application.
This API provides the capability to retrieve all the authorized APIs of the application.
Scope(Permission) required: internal_application_mgt_view
Authorizations:
path Parameters
| applicationId required | string ID of the application. |
Responses
Request samples
- Curl
curl --location 'https://localhost:9443/api/server/v1/applications/{application-id}/authorized-apis' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 200
- 500
[- {
- "id": "65b52595-9ca1-4539-aca2-56178643c58b",
- "displayName": "Greetings API",
- "policyId": "RBAC",
- "type": "BUSINESS",
- "authorizedScopes": [
- {
- "id": "65b52595-9ca1-4539-aca2-56178643c58b",
- "name": "bookings:read",
- "displayName": "Read Bookings"
}
]
}
]Authorized an API to the application
This API provides the capability to authorized an API to the application.
Scope(Permission) required: internal_application_mgt_update
Authorizations:
path Parameters
| applicationId required | string ID of the application. |
Request Body schema: application/json
| id | string |
| policyIdentifier | string |
| scopes | Array of strings |
Responses
Request samples
- Payload
- Curl
{- "id": "65b52595-9ca1-4539-aca2-56178643c58b",
- "policyIdentifier": "RBAC",
- "scopes": [
- "bookings:read"
]
}Response samples
- 400
- 500
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Update authorized API scopes
This API provides the capability to update an authorized API of the application.
Scope(Permission) required: internal_application_mgt_update
Authorizations:
path Parameters
| applicationId required | string ID of the application. |
| apiId required | string ID of the API resource. |
Request Body schema: application/json
| addedScopes | Array of strings |
| removedScopes | Array of strings |
Responses
Request samples
- Payload
- Curl
{- "addedScopes": [
- "bookings:write"
], - "removedScopes": [
- "bookings:read"
]
}Response samples
- 400
- 500
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Remove API authorization from the application
This API provides the capability to delete an authorized API of the application.
Scope(Permission) required: internal_application_mgt_update
Authorizations:
path Parameters
| applicationId required | string ID of the application. |
| apiId required | string ID of the API resource. |
Responses
Request samples
- Curl
curl --location --request DELETE 'https://localhost:9443/api/server/v1/applications/{application-id}/authorized-apis/{api-id}' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 500
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Get Resident application
This API provides the capability to retrieve the resident application information.
Scope(Permission) required: internal_application_mgt_view
Authorizations:
Responses
Request samples
- Curl
curl -X 'GET' \ 'https://localhost:9443/api/server/v1/applications/resident' \ -H 'accept: application/json' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 200
- 400
- 404
- 500
{- "provisioningConfigurations": {
- "inboundProvisioning": {
- "proxyMode": false,
- "provisioningUserstoreDomain": "PRIMARY"
}, - "outboundProvisioningIdps": [
- {
- "idp": "Google",
- "connector": "googleapps",
- "blocking": false,
- "rules": false,
- "jit": false
}
]
}
}Update resident application
This API provides the capability to update the Resident Application Configuration.
Scope(Permission) required: internal_application_mgt_update
Authorizations:
Request Body schema: application/jsonrequired
This represents the provisioning configuration of the resident application.
object (InboundSCIMProvisioningConfiguration) | |
Array of objects (OutboundProvisioningConfiguration) |
Responses
Request samples
- Payload
- Curl
{- "inboundProvisioning": {
- "proxyMode": false,
- "provisioningUserstoreDomain": "PRIMARY"
}, - "outboundProvisioningIdps": [
- {
- "idp": "Google",
- "connector": "googleapps",
- "blocking": false,
- "rules": false,
- "jit": false
}
]
}Response samples
- 400
- 404
- 409
- 500
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Retrieve inbound protocol configurations
This API provides the capability to retrieve authentication protocol configurations of an application.
Scope(Permission) required: internal_application_mgt_view
Authorizations:
path Parameters
| applicationId required | string ID of the application. |
Responses
Request samples
- Curl
curl -X 'GET' \ 'https://localhost:9443/api/server/v1/applications/{application-id}/inbound-protocols/' \ -H 'accept: application/json' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 200
- 400
- 404
- 500
[- {
- "type": "samlsso",
- "name": "SAML2 Inbound",
- "self": "/api/server/v1/applications/29048810-1447-4ea0-a348-30d15ab65fa3/inbound-protocols/saml"
}
]Retrieve SAML2 authentication protocol parameters
This API provides the capability to retrieve SAML2 authentication protocol parameters of an application.
Scope(Permission) required: internal_application_mgt_view
Authorizations:
path Parameters
| applicationId required | string ID of the application. |
Responses
Request samples
- Curl
curl -X 'GET' \ 'https://localhost:9443/api/server/v1/applications/{application-id}/inbound-protocols/saml' \ -H 'accept: application/json' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 200
- 400
- 404
- 500
{- "issuer": "string",
- "serviceProviderQualifier": "string",
- "assertionConsumerUrls": [
- "string"
], - "defaultAssertionConsumerUrl": "string",
- "idpEntityIdAlias": "string",
- "singleSignOnProfile": {
- "bindings": [
- "HTTP_POST"
], - "enableSignatureValidationForArtifactBinding": false,
- "attributeConsumingServiceIndex": "string",
- "enableIdpInitiatedSingleSignOn": false,
- "assertion": {
- "nameIdFormat": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
- "encryption": {
- "enabled": false,
}
}
}, - "attributeProfile": {
- "enabled": false,
- "alwaysIncludeAttributesInResponse": false
}, - "singleLogoutProfile": {
- "enabled": true,
- "logoutRequestUrl": "string",
- "logoutResponseUrl": "string",
- "logoutMethod": "BACKCHANNEL",
- "idpInitiatedSingleLogout": {
- "enabled": false,
- "returnToUrls": [
- "string"
]
}
}, - "requestValidation": {
- "enableSignatureValidation": true,
- "signatureValidationCertAlias": "string"
}, - "responseSigning": {
- "enabled": true,
- "signingAlgorithm": "string"
}, - "enableAssertionQueryProfile": false
}Update SAML2 authentication protocol parameters
This API provides the capability to store SAML2 authentication protocol parameters of an application.
Scope(Permission) required: internal_application_mgt_update
- There are three methods to create/update SAML2 authentication protocol configuration.
- Metadata File (by sending the Base64 encoded content of the metadata file.)
- Metadata URL
- Manual configuration
Authorizations:
path Parameters
| applicationId required | string ID of the application. |
Request Body schema: application/jsonrequired
This represents the SAML2 protocol attributes of the application.
| metadataFile | string |
| metadataURL | string |
object (SAML2ServiceProvider) |
Responses
Request samples
- Payload
- Curl
{- "metadataFile": "Base64 encoded metadata file content",
- "manualConfiguration": {
- "issuer": "string",
- "serviceProviderQualifier": "string",
- "assertionConsumerUrls": [
- "string"
], - "defaultAssertionConsumerUrl": "string",
- "idpEntityIdAlias": "string",
- "singleSignOnProfile": {
- "bindings": [
- "HTTP_POST"
], - "enableSignatureValidationForArtifactBinding": false,
- "enableIdpInitiatedSingleSignOn": false,
- "assertion": {
- "nameIdFormat": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
- "encryption": {
- "enabled": false,
}
}
}, - "attributeProfile": {
- "enabled": false,
- "alwaysIncludeAttributesInResponse": false
}, - "singleLogoutProfile": {
- "enabled": true,
- "logoutRequestUrl": "string",
- "logoutResponseUrl": "string",
- "logoutMethod": "BACKCHANNEL",
- "idpInitiatedSingleLogout": {
- "enabled": false,
- "returnToUrls": [
- "string"
]
}
}, - "requestValidation": {
- "enableSignatureValidation": true,
- "signatureValidationCertAlias": "string"
}, - "responseSigning": {
- "enabled": true,
- "signingAlgorithm": "string"
}, - "enableAssertionQueryProfile": false
}
}Response samples
- 400
- 404
- 409
- 500
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Delete SAML2 authentication protocol parameters
This API provides the capability to delete SAML2 authentication protocol parameters of an application.
Scope(Permission) required: internal_application_mgt_delete
Authorizations:
path Parameters
| applicationId required | string ID of the application. |
Responses
Request samples
- Curl
curl -X 'DELETE' \ 'https://localhost:9443/api/server/v1/applications/{application-id}/inbound-protocols/saml' \ -H 'accept: */*' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 400
- 404
- 500
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Retrieve OIDC authentication protocol parameters
This API provides the capability to retrieve OIDC authentication protocol parameters of an application.
Scope(Permission) required: internal_application_mgt_view
Authorizations:
path Parameters
| applicationId required | string ID of the application |
Responses
Request samples
- Curl
curl -X 'GET' \ 'https://localhost:9443/api/server/v1/applications/{application-id}/inbound-protocols/oidc' \ -H 'accept: application/json' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 200
- 400
- 404
- 500
{- "clientId": "string",
- "clientSecret": "string",
- "state": "ACTIVE",
- "grantTypes": [
- "authorization_code",
- "password"
], - "callbackURLs": [
- "regexp=(https://app.example.com/callback1|https://app.example.com/callback2)"
], - "publicClient": false,
- "pkce": {
- "mandatory": false,
- "supportPlainTransformAlgorithm": true
}, - "accessToken": {
- "type": "JWT",
- "userAccessTokenExpiryInSeconds": 3600,
- "applicationAccessTokenExpiryInSeconds": 3600,
- "bindingType": "cookie",
- "revokeTokensWhenIDPSessionTerminated": true,
- "validateTokenBinding": true
}, - "refreshToken": {
- "expiryInSeconds": 86400,
- "renewRefreshToken": true
}, - "idToken": {
- "expiryInSeconds": 3600,
- "encryption": {
- "enabled": false,
- "algorithm": "RSA-OAEP",
- "method": "A128CBC+HS256"
}
}, - "logout": {
}, - "validateRequestObjectSignature": false,
- "scopeValidators": [
- "Role based scope validator",
- "XACML Scope Validator"
]
}Update OIDC authentication protocol parameters
This API provides the capability to store OIDC authentication protocol parameters of an application.
Scope(Permission) required: internal_application_mgt_update
Authorizations:
path Parameters
| applicationId required | string ID of the application. |
Request Body schema: application/jsonrequired
This represents the OIDC authentication protocol parameters of an application.
| clientId | string |
| clientSecret | string |
| grantTypes required | Array of strings non-empty |
| callbackURLs | Array of strings Authorized redirect URIs |
| allowedOrigins | Array of strings Authorized JavaScript origins. CORS requests will be allowed to these origins. |
| publicClient | boolean Default: false Enabling this option will allow the client to authenticate without a client secret. |
object (OAuth2PKCEConfiguration) | |
object (AccessTokenConfiguration) | |
object (RefreshTokenConfiguration) | |
object (IdTokenConfiguration) | |
object (OIDCLogoutConfiguration) | |
| validateRequestObjectSignature | boolean Default: false |
| scopeValidators | Array of strings |
Responses
Request samples
- Payload
- Curl
{- "clientId": "string",
- "clientSecret": "string",
- "grantTypes": [
- "authorization_code",
- "password"
], - "callbackURLs": [
- "regexp=(https://app.example.com/callback1|https://app.example.com/callback2)"
], - "publicClient": false,
- "pkce": {
- "mandatory": false,
- "supportPlainTransformAlgorithm": true
}, - "accessToken": {
- "type": "JWT",
- "userAccessTokenExpiryInSeconds": 3600,
- "applicationAccessTokenExpiryInSeconds": 3600,
- "bindingType": "cookie",
- "revokeTokensWhenIDPSessionTerminated": true,
- "validateTokenBinding": true
}, - "refreshToken": {
- "expiryInSeconds": 86400,
- "renewRefreshToken": true
}, - "idToken": {
- "expiryInSeconds": 3600,
- "encryption": {
- "enabled": false,
- "algorithm": "RSA-OAEP",
- "method": "A128CBC+HS256"
}
}, - "logout": {
}, - "validateRequestObjectSignature": false,
- "scopeValidators": [
- "Role based scope validator",
- "XACML Scope Validator"
]
}Response samples
- 400
- 404
- 409
- 500
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Delete OIDC authentication protocol parameters
This API provides the capability to delete OIDC authentication protocol parameters of an application.
Scope(Permission) required: internal_application_mgt_delete
Authorizations:
path Parameters
| applicationId required | string ID of the application. |
Responses
Request samples
- Curl
curl -X 'DELETE' \ 'https://localhost:9443/api/server/v1/applications/{application-id}/inbound-protocols/oidc' \ -H 'accept: */*' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 400
- 404
- 500
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Regenerate the OAuth2/OIDC client secret
This API regenerates the OAuth2/OIDC client secret.
Scope(Permission) required: internal_application_mgt_create
Authorizations:
path Parameters
| applicationId required | string ID of the application |
Responses
Request samples
- Curl
curl -X 'POST' \ 'https://localhost:9443/api/server/v1/applications/{application-id}/inbound-protocols/oidc/regenerate-secret' \ -H 'accept: application/json' \ -H 'Authorization: Basic YWRtaW46YWRtaW4=' \ -d ''
Response samples
- 200
- 400
- 404
- 500
{- "clientId": "string",
- "clientSecret": "string",
- "state": "ACTIVE",
- "grantTypes": [
- "authorization_code",
- "password"
], - "callbackURLs": [
- "regexp=(https://app.example.com/callback1|https://app.example.com/callback2)"
], - "publicClient": false,
- "pkce": {
- "mandatory": false,
- "supportPlainTransformAlgorithm": true
}, - "accessToken": {
- "type": "JWT",
- "userAccessTokenExpiryInSeconds": 3600,
- "applicationAccessTokenExpiryInSeconds": 3600,
- "bindingType": "cookie",
- "revokeTokensWhenIDPSessionTerminated": true,
- "validateTokenBinding": true
}, - "refreshToken": {
- "expiryInSeconds": 86400,
- "renewRefreshToken": true
}, - "idToken": {
- "expiryInSeconds": 3600,
- "encryption": {
- "enabled": false,
- "algorithm": "RSA-OAEP",
- "method": "A128CBC+HS256"
}
}, - "logout": {
}, - "validateRequestObjectSignature": false,
- "scopeValidators": [
- "Role based scope validator",
- "XACML Scope Validator"
]
}Revoke the OAuth2/OIDC client of application
This API revokes the OAuth2/OIDC client secret. To re-activate the client, the client secret needs to be regenerated.
Scope(Permission) required: internal_application_mgt_create
Authorizations:
path Parameters
| applicationId required | string ID of the application |
Responses
Request samples
- Curl
curl -X 'POST' \ 'https://localhost:9443/api/server/v1/applications/{application-id}/inbound-protocols/oidc/revoke' \ -H 'accept: */*' \ -H 'Authorization: Basic YWRtaW46YWRtaW4=' \ -d ''
Response samples
- 400
- 404
- 500
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Retrieve Passive STS authentication protocol parameters
This API provides the capability to retrieve Passive STS authentication protocol parameters of an application.
Scope(Permission) required: internal_application_mgt_view
Authorizations:
path Parameters
| applicationId required | string ID of the application |
Responses
Request samples
- Curl
curl -X 'GET' \ 'https://localhost:9443/api/server/v1/applications/{application-id}/inbound-protocols/passive-sts' \ -H 'accept: application/json' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 200
- 400
- 404
- 500
{- "realm": "string",
- "replyTo": "string"
}Update Passive STS authentication protocol parameters
This API provides the capability to store passive STS authentication protocol parameters of an application.
Scope(Permission) required: internal_application_mgt_update
Authorizations:
path Parameters
| applicationId required | string ID of the application. |
Request Body schema: application/jsonrequired
This represents the Passive STS authentication protocol parameters of an application.
| realm required | string |
| replyTo required | string |
Responses
Request samples
- Payload
- Curl
{- "realm": "string",
- "replyTo": "string"
}Response samples
- 400
- 404
- 409
- 500
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Delete Passive STS authentication protocol parameters
This API provides the capability to delete Passive STS authentication protocol parameters of an application.
Scope(Permission) required: internal_application_mgt_delete
Authorizations:
path Parameters
| applicationId required | string ID of the application. |
Responses
Request samples
- Curl
curl -X 'DELETE' \ 'https://localhost:9443/api/server/v1/applications/{application-id}/inbound-protocols/passive-sts' \ -H 'accept: */*' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 400
- 404
- 500
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Retrieve WS Trust authentication protocol parameters
This API provides the capability to retrieve Passive STS authentication protocol parameters of an application.
Scope(Permission) required: internal_application_mgt_view
Authorizations:
path Parameters
| applicationId required | string ID of the application |
Responses
Request samples
- Curl
curl -X 'GET' \ 'https://localhost:9443/api/server/v1/applications/{application-id}/inbound-protocols/ws-trust' \ -H 'accept: application/json' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 200
- 400
- 404
- 500
{- "certificateAlias": "wso2carbon"
}Update WS Trust authentication protocol parameters
This API provides the capability to store WS Trust authentication protocol parameters of an application.
Scope(Permission) required: internal_application_mgt_update
Authorizations:
path Parameters
| applicationId required | string ID of the application. |
Request Body schema: application/jsonrequired
This represents the Passive STS authentication protocol parameters of an application.
| audience required | string Audience value of the trusted service |
| certificateAlias required | string |
Responses
Request samples
- Payload
- Curl
{- "certificateAlias": "wso2carbon"
}Response samples
- 400
- 404
- 409
- 500
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Delete WS Trust authentication protocol parameters
This API provides the capability to delete WS Trust authentication protocol parameters of an application.
Scope(Permission) required: internal_application_mgt_delete
Authorizations:
path Parameters
| applicationId required | string ID of the application. |
Responses
Request samples
- Curl
curl -X 'DELETE' \ 'https://localhost:9443/api/server/v1/applications/{application-id}/inbound-protocols/ws-trust' \ -H 'accept: */*' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 400
- 404
- 500
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Retrieve custom inbound authentication protocol parameters
This API provides the capability to retrieve custom inbound authentication protocol parameters of an application.
Scope(Permission) required: internal_application_mgt_view
Authorizations:
path Parameters
| applicationId required | string ID of the application |
| inboundProtocolId required | string Inbound Authentication Protocol ID |
Responses
Request samples
- Curl
curl -X 'GET' \ 'https://localhost:9443/api/server/v1/applications/{application-id}/inbound-protocols/{inbound-protocol-id}' \ -H 'accept: application/json' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 200
- 400
- 404
- 500
{- "name": "cas",
- "configName": "cas",
- "properties": [
- {
- "key": "app-identifier",
- "friendlyName": "Application Identifier"
}
]
}Update the custom inbound authentication protocol parameters
This API provides the capability to store custom inbound authentication protocol parameters of an application.
Scope(Permission) required: internal_application_mgt_update
Authorizations:
path Parameters
| applicationId required | string ID of the application. |
| inboundProtocolId required | string Inbound Authentication Protocol ID |
Request Body schema: application/jsonrequired
This represents the Custom Inbound authentication protocol parameters of an application.
| name required | string |
| configName required | string |
Array of objects (PropertyModel) |
Responses
Request samples
- Payload
- Curl
{- "name": "cas",
- "configName": "cas",
- "properties": [
- {
- "key": "app-identifier",
- "friendlyName": "Application Identifier"
}
]
}Response samples
- 400
- 404
- 409
- 500
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Delete custom inbound authentication protocol parameters
This API provides the capability to delete custom inbound authentication protocol of an application.
Scope(Permission) required: internal_application_mgt_delete
Authorizations:
path Parameters
| applicationId required | string ID of the application. |
| inboundProtocolId required | string Inbound Authentication Protocol ID |
Responses
Request samples
- Curl
curl -X 'DELETE' \ 'https://localhost:9443/api/server/v1/applications/{application-id}/inbound-protocols/{inbound-protocol-id}' \ -H 'accept: */*' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 400
- 404
- 500
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Retrieve the list of inbound authentication protocols available
This API provides the capability to retrieve the list of inbound authentication protocols available. If the query parameter 'customOnly' is set to true, only custom inbound protocols will be listed.
Scope(Permission) required: internal_application_mgt_view
Authorizations:
query Parameters
| customOnly | boolean Default: false Example: customOnly=true Send only the custom inbound protocols. |
Responses
Request samples
- Curl
curl -X 'GET' \ 'https://localhost:9443/api/server/v1/applications/meta/inbound-protocols?customOnly=true' \ -H 'accept: application/json' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 200
- 404
- 500
[- {
- "name": "saml",
- "displayName": "SAML2 Web SSO Configuration"
}
]Retrieve all the metadata related to the auth protocol SAML
This API provides the capability to retrieve all the metadata related to the auth protocol SAML.
Scope(Permission) required: internal_application_mgt_view
Authorizations:
Responses
Request samples
- Curl
curl -X 'GET' \ 'https://localhost:9443/api/server/v1/applications/meta/inbound-protocols/saml' \ -H 'accept: application/json' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 200
- 401
- 403
- 404
- 500
{- "defaultNameIdFormat": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
- "certificateAlias": {
- "options": [
- "Option 1",
- "Option 2"
], - "defaultValue": "Option 1"
}, - "responseSigningAlgorithm": {
- "options": [
- "Option 1",
- "Option 2"
], - "defaultValue": "Option 1"
}, - "responseDigestAlgorithm": {
- "options": [
- "Option 1",
- "Option 2"
], - "defaultValue": "Option 1"
}, - "assertionEncryptionAlgorithm": {
- "options": [
- "Option 1",
- "Option 2"
], - "defaultValue": "Option 1"
}, - "keyEncryptionAlgorithm": {
- "options": [
- "Option 1",
- "Option 2"
], - "defaultValue": "Option 1"
}
}Retrieve all the metadata related to the authentication protocol OAuth / OIDC
This API provides the capability to retrieve all the metadata related to the authentication protocol OAuth / OIDC.
Scope(Permission) required: internal_application_mgt_view
Authorizations:
Responses
Request samples
- Curl
curl -X 'GET' \ 'https://localhost:9443/api/server/v1/applications/meta/inbound-protocols/oidc' \ -H 'accept: application/json' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 200
- 404
- 500
{- "allowedGrantTypes": {
- "options": [
- {
- "name": "authorization_code",
- "displayName": "Code"
}
]
}, - "defaultUserAccessTokenExpiryTime": "3600",
- "defaultApplicationAccessTokenExpiryTime": "3600",
- "defaultRefreshTokenExpiryTime": "86400",
- "defaultIdTokenExpiryTime": "3600",
- "idTokenEncryptionAlgorithm": {
- "options": [
- "Option 1",
- "Option 2"
], - "defaultValue": "Option 1"
}, - "idTokenEncryptionMethod": {
- "options": [
- "Option 1",
- "Option 2"
], - "defaultValue": "Option 1"
}, - "scopeValidators": {
- "options": [
- "Option 1",
- "Option 2"
], - "defaultValue": "Option 1"
}, - "accessTokenType": {
- "options": [
- "Option 1",
- "Option 2"
], - "defaultValue": "Option 1"
}, - "accessTokenBindingType": {
- "options": [
- "Option 1",
- "Option 2"
], - "defaultValue": "Option 1"
}
}Retrieve all the metadata related to the auth protocol WS Trust
This API provides the capability to retrieve all the metadata related to the auth protocol WS_Trust.
Scope(Permission) required: internal_application_mgt_view
Authorizations:
Responses
Request samples
- Curl
curl -X 'GET' \ 'https://localhost:9443/api/server/v1/applications/meta/inbound-protocols/ws-trust' \ -H 'accept: application/json' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 200
- 404
- 500
{- "certificateAlias": {
- "options": [
- "Option 1",
- "Option 2"
], - "defaultValue": "Option 1"
}
}Retrieve all the metadata related to the custom auth protocol identified by the inboundProtocolId
This API provides the capability to retrieve all the metadata related to the custom auth protocol identified by the inboundProtocolId. The URL encoded inbound protocol name is used as inboundProtocolId.
Scope(Permission) required: internal_application_mgt_view
Authorizations:
path Parameters
| inboundProtocolId required | string Inbound Authentication Protocol ID |
Responses
Request samples
- Curl
curl -X 'GET' \ 'https://localhost:9443/api/server/v1/applications/meta/inbound-protocols/{inbound-protocol-id}' \ -H 'accept: application/json' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 200
- 404
- 500
{- "displayName": "My Custom Protocol",
- "configName": "Custom Protocol",
- "properties": [
- {
- "name": "encryptionAlgorithm",
- "displayName": "Encryption Algorithm",
- "type": "STRING",
- "required": true,
- "availableValues": [
], - "validationRegex": "^[a-b][A-B]*",
- "displayOrder": 1,
- "isConfidential": false
}
]
}Retrieve adaptive authentication sample templates
This API provides the capability to retrieve the sample adaptive authentication templates.
Scope(Permission) required: internal_application_mgt_view
Authorizations:
Responses
Request samples
- Curl
curl -X 'GET' \ 'https://localhost:9443/api/server/v1/applications/meta/adaptive-auth-templates' \ -H 'accept: application/json' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 200
- 404
- 500
{- "templatesJSON": "Adaptive Auth Templates JSON"
}List application templates
This API provides the capability to retrieve the list of templates available.
Scope(Permission) required: internal_application_mgt_view
Authorizations:
query Parameters
| limit | integer Maximum number of records to return. |
| offset | integer Number of records to skip for pagination. |
| filter | string Condition to filter the retrieval of records. Supports 'sw', 'co', 'ew', and 'eq' operations with 'and', 'or' logical operators. Note that 'and' and 'or' operators in filters follow the general precedence of logical operators. For example, A and B or C and D = (A and B) or (C and D)). Currently supports only filtering based on the 'name', the 'clientId', and the 'issuer' attributes. /applications?filter=name+eq+user_portal
|
Responses
Request samples
- Curl
curl -X 'GET' \ 'https://localhost:9443/api/server/v1/applications/templates' \ -H 'accept: application/json' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 200
- 400
- 404
- 500
- 501
{- "templates": [
- {
- "id": "85e3f4b8-0d22-4181-b1e3-1651f71b88bd",
- "name": "OIDC Protocol Template",
- "description": "Template to be used for Single Page Applications",
- "authenticationProtocol": "oidc",
- "types": [
- [
- "react",
- "angular"
]
], - "category": "DEFAULT",
- "displayOrder": 2,
- "templateGroup": "web-application",
- "self": "/t/wso2.com/api/server/v1/applications/templates/85e3f4b8-0d22-4181-b1e3-1651f71b88bd"
}
]
}Add application template
This API provides the capability to store the application template provided by users.
Scope(Permission) required: internal_application_mgt_create
Authorizations:
Request Body schema: application/jsonrequired
This represents the application template to be created.
| name required | string |
| description | string |
| image | string |
| authenticationProtocol | string |
| types | Array of strings |
| category | string Enum: "DEFAULT" "VENDOR" |
| templateGroup | string |
| displayOrder | integer |
required | object (ApplicationModel) |
Responses
Request samples
- Payload
- Curl
{- "name": "OIDC Protocol Template",
- "description": "Template to be used for Single Page Applications",
- "authenticationProtocol": "oidc",
- "types": [
- "react",
- "angular"
], - "category": "DEFAULT",
- "templateGroup": "web-application",
- "displayOrder": 2,
- "application": {
- "name": "pickup",
- "description": "This is the configuration for Pickup application.",
- "templateId": "980b8tester24c64a8a09a0d80abf8c337bd2555",
- "isManagementApp": false,
- "claimConfiguration": {
- "dialect": "CUSTOM",
- "claimMappings": [
], - "subject": {
- "includeUserDomain": false,
- "includeTenantDomain": false,
- "useMappedLocalSubject": false
}, - "role": {
- "mappings": [
- {
- "localRole": "admin",
- "applicationRole": "Administrator"
}
], - "includeUserDomain": true,
}
}, - "inboundProtocolConfiguration": {
- "saml": {
- "metadataFile": "Base64 encoded metadata file content",
- "manualConfiguration": {
- "issuer": "string",
- "serviceProviderQualifier": "string",
- "assertionConsumerUrls": [
- "string"
], - "defaultAssertionConsumerUrl": "string",
- "idpEntityIdAlias": "string",
- "singleSignOnProfile": {
- "bindings": [
- "HTTP_POST"
], - "enableSignatureValidationForArtifactBinding": false,
- "enableIdpInitiatedSingleSignOn": false,
- "assertion": {
- "nameIdFormat": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
- "encryption": {
- "enabled": false,
}
}
}, - "attributeProfile": {
- "enabled": false,
- "alwaysIncludeAttributesInResponse": false
}, - "singleLogoutProfile": {
- "enabled": true,
- "logoutRequestUrl": "string",
- "logoutResponseUrl": "string",
- "logoutMethod": "BACKCHANNEL",
- "idpInitiatedSingleLogout": {
- "enabled": false,
- "returnToUrls": [
- "string"
]
}
}, - "requestValidation": {
- "enableSignatureValidation": true,
- "signatureValidationCertAlias": "string"
}, - "responseSigning": {
- "enabled": true,
- "signingAlgorithm": "string"
}, - "enableAssertionQueryProfile": false
}
}, - "oidc": {
- "clientId": "string",
- "clientSecret": "string",
- "grantTypes": [
- "authorization_code",
- "password"
], - "callbackURLs": [
- "regexp=(https://app.example.com/callback1|https://app.example.com/callback2)"
], - "publicClient": false,
- "pkce": {
- "mandatory": false,
- "supportPlainTransformAlgorithm": true
}, - "accessToken": {
- "type": "JWT",
- "userAccessTokenExpiryInSeconds": 3600,
- "applicationAccessTokenExpiryInSeconds": 3600,
- "bindingType": "cookie",
- "revokeTokensWhenIDPSessionTerminated": true,
- "validateTokenBinding": true
}, - "refreshToken": {
- "expiryInSeconds": 86400,
- "renewRefreshToken": true
}, - "idToken": {
- "expiryInSeconds": 3600,
- "encryption": {
- "enabled": false,
- "algorithm": "RSA-OAEP",
- "method": "A128CBC+HS256"
}
}, - "logout": {
}, - "validateRequestObjectSignature": false,
- "scopeValidators": [
- "Role based scope validator",
- "XACML Scope Validator"
]
}, - "passiveSts": {
- "realm": "string",
- "replyTo": "string"
}, - "custom": [
- {
- "name": "cas",
- "configName": "cas",
- "properties": [
- {
- "key": "app-identifier",
- "friendlyName": "Application Identifier"
}
]
}
]
}, - "authenticationSequence": {
- "type": "DEFAULT",
- "steps": [
- {
- "id": 1,
- "options": [
- {
- "idp": "LOCAL",
- "authenticator": "basic"
}
]
}
], - "requestPathAuthenticators": [
- "string"
], - "script": "string",
- "subjectStepId": 1,
- "attributeStepId": 1
}, - "advancedConfigurations": {
- "saas": false,
- "discoverableByEndUsers": false,
- "certificate": {
- "type": "string",
- "value": "string"
}, - "skipLoginConsent": false,
- "skipLogoutConsent": false,
- "useExternalConsentPage": false,
- "returnAuthenticatedIdpList": false,
- "enableAuthorization": true,
- "additionalSpProperties": [
- {
- "name": "isInternalApp",
- "value": "true",
- "displayName": "Internal Application"
}
]
}, - "provisioningConfigurations": {
- "inboundProvisioning": {
- "proxyMode": false,
- "provisioningUserstoreDomain": "PRIMARY"
}, - "outboundProvisioningIdps": [
- {
- "idp": "Google",
- "connector": "googleapps",
- "blocking": false,
- "rules": false,
- "jit": false
}
]
}
}
}Response samples
- 400
- 409
- 500
- 501
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Retrieve application template by ID
This API provides the capability to retrieve the application template from the template id.
Scope(Permission) required: internal_application_mgt_view
Authorizations:
path Parameters
| template-id required | string Application template ID. This should be a valid locale. |
Responses
Request samples
- Curl
curl -X 'GET' \ 'https://localhost:9443/api/server/v1/applications/templates/{template-id}' \ -H 'accept: application/json' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 200
- 400
- 404
- 500
{- "id": "85e3f4b8-0d22-4181-b1e3-1651f71b88bd",
- "name": "OIDC Protocol Template",
- "description": "Template to be used for Single Page Applications",
- "authenticationProtocol": "oidc",
- "types": [
- "react",
- "angular"
], - "category": "DEFAULT",
- "templateGroup": "web-application",
- "displayOrder": 2,
- "application": {
- "id": "394b8adcce24c64a8a09a0d80abf8c337bd253de",
- "name": "pickup",
- "description": "This is the configuration for Pickup application.",
- "templateId": "980b8tester24c64a8a09a0d80abf8c337bd2555",
- "isManagementApp": false,
- "claimConfiguration": {
- "dialect": "CUSTOM",
- "claimMappings": [
- {
- "applicationClaim": "firstname",
- "localClaim": {
- "id": "aHR0cDovL3dzbzIub3JnL2NsYWltcy91c2VybmFtZQ",
- "displayName": "Username"
}
}
], - "requestedClaims": [
- {
- "claim": {
- "id": "aHR0cDovL3dzbzIub3JnL2NsYWltcy91c2VybmFtZQ",
- "displayName": "Username"
}, - "mandatory": false
}
], - "subject": {
- "claim": {
- "id": "aHR0cDovL3dzbzIub3JnL2NsYWltcy91c2VybmFtZQ",
- "displayName": "Username"
}, - "includeUserDomain": false,
- "includeTenantDomain": false,
- "useMappedLocalSubject": false
}, - "role": {
- "mappings": [
- {
- "localRole": "admin",
- "applicationRole": "Administrator"
}
], - "includeUserDomain": true,
- "claim": {
- "id": "aHR0cDovL3dzbzIub3JnL2NsYWltcy91c2VybmFtZQ",
- "displayName": "Username"
}
}
}, - "inboundProtocolConfiguration": {
- "saml": {
- "metadataFile": "Base64 encoded metadata file content",
- "manualConfiguration": {
- "issuer": "string",
- "serviceProviderQualifier": "string",
- "assertionConsumerUrls": [
- "string"
], - "defaultAssertionConsumerUrl": "string",
- "idpEntityIdAlias": "string",
- "singleSignOnProfile": {
- "bindings": [
- "HTTP_POST"
], - "enableSignatureValidationForArtifactBinding": false,
- "attributeConsumingServiceIndex": "string",
- "enableIdpInitiatedSingleSignOn": false,
- "assertion": {
- "nameIdFormat": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
- "encryption": {
- "enabled": false,
}
}
}, - "attributeProfile": {
- "enabled": false,
- "alwaysIncludeAttributesInResponse": false
}, - "singleLogoutProfile": {
- "enabled": true,
- "logoutRequestUrl": "string",
- "logoutResponseUrl": "string",
- "logoutMethod": "BACKCHANNEL",
- "idpInitiatedSingleLogout": {
- "enabled": false,
- "returnToUrls": [
- "string"
]
}
}, - "requestValidation": {
- "enableSignatureValidation": true,
- "signatureValidationCertAlias": "string"
}, - "responseSigning": {
- "enabled": true,
- "signingAlgorithm": "string"
}, - "enableAssertionQueryProfile": false
}
}, - "oidc": {
- "clientId": "string",
- "clientSecret": "string",
- "state": "ACTIVE",
- "grantTypes": [
- "authorization_code",
- "password"
], - "callbackURLs": [
- "regexp=(https://app.example.com/callback1|https://app.example.com/callback2)"
], - "publicClient": false,
- "pkce": {
- "mandatory": false,
- "supportPlainTransformAlgorithm": true
}, - "accessToken": {
- "type": "JWT",
- "userAccessTokenExpiryInSeconds": 3600,
- "applicationAccessTokenExpiryInSeconds": 3600,
- "bindingType": "cookie",
- "revokeTokensWhenIDPSessionTerminated": true,
- "validateTokenBinding": true
}, - "refreshToken": {
- "expiryInSeconds": 86400,
- "renewRefreshToken": true
}, - "idToken": {
- "expiryInSeconds": 3600,
- "encryption": {
- "enabled": false,
- "algorithm": "RSA-OAEP",
- "method": "A128CBC+HS256"
}
}, - "logout": {
}, - "validateRequestObjectSignature": false,
- "scopeValidators": [
- "Role based scope validator",
- "XACML Scope Validator"
]
}, - "passiveSts": {
- "realm": "string",
- "replyTo": "string"
}, - "custom": [
- {
- "name": "cas",
- "configName": "cas",
- "properties": [
- {
- "key": "app-identifier",
- "friendlyName": "Application Identifier"
}
]
}
]
}, - "authenticationSequence": {
- "type": "DEFAULT",
- "steps": [
- {
- "id": 1,
- "options": [
- {
- "idp": "LOCAL",
- "authenticator": "basic"
}
]
}
], - "requestPathAuthenticators": [
- "string"
], - "script": "string",
- "subjectStepId": 1,
- "attributeStepId": 1
}, - "advancedConfigurations": {
- "saas": false,
- "discoverableByEndUsers": false,
- "certificate": {
- "type": "string",
- "value": "string"
}, - "skipLoginConsent": false,
- "skipLogoutConsent": false,
- "useExternalConsentPage": false,
- "returnAuthenticatedIdpList": false,
- "enableAuthorization": true,
- "additionalSpProperties": [
- {
- "name": "isInternalApp",
- "value": "true",
- "displayName": "Internal Application"
}
]
}, - "provisioningConfigurations": {
- "inboundProvisioning": {
- "proxyMode": false,
- "provisioningUserstoreDomain": "PRIMARY"
}, - "outboundProvisioningIdps": [
- {
- "idp": "Google",
- "connector": "googleapps",
- "blocking": false,
- "rules": false,
- "jit": false
}
]
}
}
}Update the application template by the template ID
This API provides the capability to update an application template by the template ID.
Scope(Permission) required: internal_application_mgt_update
Authorizations:
path Parameters
| template-id required | string Application template ID. This should be a valid locale. |
Request Body schema: application/jsonrequired
This represents the new application template.
| name required | string |
| description | string |
| image | string |
| authenticationProtocol | string |
| types | Array of strings |
| category | string Enum: "DEFAULT" "VENDOR" |
| templateGroup | string |
| displayOrder | integer |
required | object (ApplicationModel) |
Responses
Request samples
- Payload
- Curl
{- "name": "OIDC Protocol Template",
- "description": "Template to be used for Single Page Applications",
- "authenticationProtocol": "oidc",
- "types": [
- "react",
- "angular"
], - "category": "DEFAULT",
- "templateGroup": "web-application",
- "displayOrder": 2,
- "application": {
- "name": "pickup",
- "description": "This is the configuration for Pickup application.",
- "templateId": "980b8tester24c64a8a09a0d80abf8c337bd2555",
- "isManagementApp": false,
- "claimConfiguration": {
- "dialect": "CUSTOM",
- "claimMappings": [
], - "subject": {
- "includeUserDomain": false,
- "includeTenantDomain": false,
- "useMappedLocalSubject": false
}, - "role": {
- "mappings": [
- {
- "localRole": "admin",
- "applicationRole": "Administrator"
}
], - "includeUserDomain": true,
}
}, - "inboundProtocolConfiguration": {
- "saml": {
- "metadataFile": "Base64 encoded metadata file content",
- "manualConfiguration": {
- "issuer": "string",
- "serviceProviderQualifier": "string",
- "assertionConsumerUrls": [
- "string"
], - "defaultAssertionConsumerUrl": "string",
- "idpEntityIdAlias": "string",
- "singleSignOnProfile": {
- "bindings": [
- "HTTP_POST"
], - "enableSignatureValidationForArtifactBinding": false,
- "enableIdpInitiatedSingleSignOn": false,
- "assertion": {
- "nameIdFormat": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
- "encryption": {
- "enabled": false,
}
}
}, - "attributeProfile": {
- "enabled": false,
- "alwaysIncludeAttributesInResponse": false
}, - "singleLogoutProfile": {
- "enabled": true,
- "logoutRequestUrl": "string",
- "logoutResponseUrl": "string",
- "logoutMethod": "BACKCHANNEL",
- "idpInitiatedSingleLogout": {
- "enabled": false,
- "returnToUrls": [
- "string"
]
}
}, - "requestValidation": {
- "enableSignatureValidation": true,
- "signatureValidationCertAlias": "string"
}, - "responseSigning": {
- "enabled": true,
- "signingAlgorithm": "string"
}, - "enableAssertionQueryProfile": false
}
}, - "oidc": {
- "clientId": "string",
- "clientSecret": "string",
- "grantTypes": [
- "authorization_code",
- "password"
], - "callbackURLs": [
- "regexp=(https://app.example.com/callback1|https://app.example.com/callback2)"
], - "publicClient": false,
- "pkce": {
- "mandatory": false,
- "supportPlainTransformAlgorithm": true
}, - "accessToken": {
- "type": "JWT",
- "userAccessTokenExpiryInSeconds": 3600,
- "applicationAccessTokenExpiryInSeconds": 3600,
- "bindingType": "cookie",
- "revokeTokensWhenIDPSessionTerminated": true,
- "validateTokenBinding": true
}, - "refreshToken": {
- "expiryInSeconds": 86400,
- "renewRefreshToken": true
}, - "idToken": {
- "expiryInSeconds": 3600,
- "encryption": {
- "enabled": false,
- "algorithm": "RSA-OAEP",
- "method": "A128CBC+HS256"
}
}, - "logout": {
}, - "validateRequestObjectSignature": false,
- "scopeValidators": [
- "Role based scope validator",
- "XACML Scope Validator"
]
}, - "passiveSts": {
- "realm": "string",
- "replyTo": "string"
}, - "custom": [
- {
- "name": "cas",
- "configName": "cas",
- "properties": [
- {
- "key": "app-identifier",
- "friendlyName": "Application Identifier"
}
]
}
]
}, - "authenticationSequence": {
- "type": "DEFAULT",
- "steps": [
- {
- "id": 1,
- "options": [
- {
- "idp": "LOCAL",
- "authenticator": "basic"
}
]
}
], - "requestPathAuthenticators": [
- "string"
], - "script": "string",
- "subjectStepId": 1,
- "attributeStepId": 1
}, - "advancedConfigurations": {
- "saas": false,
- "discoverableByEndUsers": false,
- "certificate": {
- "type": "string",
- "value": "string"
}, - "skipLoginConsent": false,
- "skipLogoutConsent": false,
- "useExternalConsentPage": false,
- "returnAuthenticatedIdpList": false,
- "enableAuthorization": true,
- "additionalSpProperties": [
- {
- "name": "isInternalApp",
- "value": "true",
- "displayName": "Internal Application"
}
]
}, - "provisioningConfigurations": {
- "inboundProvisioning": {
- "proxyMode": false,
- "provisioningUserstoreDomain": "PRIMARY"
}, - "outboundProvisioningIdps": [
- {
- "idp": "Google",
- "connector": "googleapps",
- "blocking": false,
- "rules": false,
- "jit": false
}
]
}
}
}Response samples
- 400
- 404
- 409
- 500
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}Delete application template by template ID
This API provides the capability to delete an application template by template ID.
Scope(Permission) required: internal_application_mgt_delete
Authorizations:
path Parameters
| template-id required | string Application template ID. This should be a valid locale. |
Responses
Request samples
- Curl
curl -X 'DELETE' \ 'https://localhost:9443/api/server/v1/applications/templates/{template-id}' \ -H 'accept: */*' \ -H 'Authorization: Basic YWRtaW46YWRtaW4='
Response samples
- 400
- 404
- 500
{- "code": "AAA-00000",
- "message": "Some error message.",
- "description": "Some error description.",
- "traceId": "e0fbcfeb-3617-43c4-8dd0-7b7d38e13047"
}