{"info":{"_postman_id":"4589f880-53f0-4981-bc7b-a5f4a5b47b07","name":"emCA REST API V5.0.0","description":"<html><head></head><body><p>emCA provides an open API (Application Programming Interface) for integrating signature modules with third party applications, portals, or websites, and to customize as per your needs. With the emCA REST API, you can extract Recruit data in JSON format and develop new applications or integrate with your existing business applications. As the emCA API is independent of programming languages, you can develop applications in any programming language (Java, .Net etc.).</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"40123569","collectionId":"4589f880-53f0-4981-bc7b-a5f4a5b47b07","publishedId":"2sBXqDuPtp","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-04-20T19:28:45.000Z"},"item":[{"name":"Authenticate","item":[{"name":"getJwt-token","event":[{"listen":"prerequest","script":{"exec":[""],"type":"text/javascript","packages":{},"requests":{},"id":"410e0a3e-9b4a-4ee1-ad9a-161041ac785e"}}],"id":"19096823-dbe4-413a-9305-68e8089ab201","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"username\": \"emcainternaluser1\",\r\n  \"password\": \"Safe@123\",\r\n  \"clientId\": \"tade1c9c-a272-42e8-a2a8-0803db4d5ec5\",\r\n  \"validityInMins\": 1200\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/auth/token","description":"<p>Authentication for Certificate Management in emCA REST APIs is handled using a JWT token with a configurable expiry time. This token must be included in the header of every request to the APIs for authentication.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p>To obtain a JWT token for the Certificate Management REST APIs, users need to provide their registered username (appCode), password, and clientId to the API.</p>\n<h3 id=\"prerequisites\">Prerequisites</h3>\n<ol>\n<li><p><strong>Register Your Application</strong>: Ensure your application is registered as an external application in emCA before using the API.</p>\n</li>\n<li><p><strong>Share Credentials</strong>: As part of the registration process, provide the emCA team with your username (appCode), password, and IP address.</p>\n</li>\n<li><p><strong>Obtain clientId</strong>: Receive the clientId from Team emCA upon registering an external application user.</p>\n</li>\n</ol>\n<p><strong>Request Body Parameters</strong></p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>username</td>\n<td>String</td>\n<td>Yes</td>\n<td>Username (appCode) which is used as part of External Application Registartion at emCA.  <br />  <br />ex:- \"emca_tenant_01\"</td>\n</tr>\n<tr>\n<td>password</td>\n<td>String</td>\n<td>Yes</td>\n<td>Password which is used as part of External Application Registartion at emCA.  <br />  <br />ex:- \"P@ssw0rd\"</td>\n</tr>\n<tr>\n<td>clientId</td>\n<td>String</td>\n<td>Yes</td>\n<td>ClientID. Received from team emCA post successful Registration  <br />  <br />ex:- \"924e5g30-8cea-4bf4-be77-4b0e160dbaf9\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["auth","token"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"619bd1ce-74ae-4aad-ba90-0836381485e1","name":"200 OK – Token issued","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"username\": \"emcainternaluser1\",\r\n  \"password\": \"Safe@123\",\r\n  \"clientId\": \"tade1c9c-a272-42e8-a2a8-0803db4d5ec5\",\r\n  \"validityInMins\": 1200\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/auth/token","description":"Authentication for Certificate Management in emCA REST APIs is handled using a JWT token with a configurable expiry time. This token must be included in the header of every request to the APIs for authentication.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\nTo obtain a JWT token for the Certificate Management REST APIs, users need to provide their registered username (appCode), password, and clientId to the API.\n\n### Prerequisites\n\n1. **Register Your Application**: Ensure your application is registered as an external application in emCA before using the API.\n    \n2. **Share Credentials**: As part of the registration process, provide the emCA team with your username (appCode), password, and IP address.\n    \n3. **Obtain clientId**: Receive the clientId from Team emCA upon registering an external application user.\n    \n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| username | String | Yes | Username (appCode) which is used as part of External Application Registartion at emCA.  <br>  <br>ex:- \"emca_tenant_01\" |\n| password | String | Yes | Password which is used as part of External Application Registartion at emCA.  <br>  <br>ex:- \"P@ssw0rd\" |\n| clientId | String | Yes | ClientID. Received from team emCA post successful Registration  <br>  <br>ex:- \"924e5g30-8cea-4bf4-be77-4b0e160dbaf9\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"success\",\n  \"message\": \"Authentication successful\",\n  \"authToken\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJncnBJZCI6IjEiLCJDbGllbnRJZCI6InRhZGUxYzljLWEyNzItNDJlOC1hMmE4LTA4MDNkYjRkNWVjNSIsImlhdCI6MTcwMDAwMDAwMCwiZXhwIjoxNzAwMDcyMDAwfQ.sampleSignature\",\n  \"authKey\": null,\n  \"expiresAt\": \"2024-01-01T13:00:00+05:30\"\n}"},{"id":"6edb6230-d2c9-4e53-940c-cbfdf6946dce","name":"401 Unauthorized – Bad credentials","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"username\": \"emcainternaluser1\",\r\n  \"password\": \"Safe@123\",\r\n  \"clientId\": \"tade1c9c-a272-42e8-a2a8-0803db4d5ec5\",\r\n  \"validityInMins\": 1200\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/auth/token","description":"Authentication for Certificate Management in emCA REST APIs is handled using a JWT token with a configurable expiry time. This token must be included in the header of every request to the APIs for authentication.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\nTo obtain a JWT token for the Certificate Management REST APIs, users need to provide their registered username (appCode), password, and clientId to the API.\n\n### Prerequisites\n\n1. **Register Your Application**: Ensure your application is registered as an external application in emCA before using the API.\n    \n2. **Share Credentials**: As part of the registration process, provide the emCA team with your username (appCode), password, and IP address.\n    \n3. **Obtain clientId**: Receive the clientId from Team emCA upon registering an external application user.\n    \n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| username | String | Yes | Username (appCode) which is used as part of External Application Registartion at emCA.  <br>  <br>ex:- \"emca_tenant_01\" |\n| password | String | Yes | Password which is used as part of External Application Registartion at emCA.  <br>  <br>ex:- \"P@ssw0rd\" |\n| clientId | String | Yes | ClientID. Received from team emCA post successful Registration  <br>  <br>ex:- \"924e5g30-8cea-4bf4-be77-4b0e160dbaf9\" |"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"failure\",\n  \"message\": \"Invalid username or password\",\n  \"authToken\": null,\n  \"authKey\": null,\n  \"expiresAt\": null\n}"}],"_postman_id":"19096823-dbe4-413a-9305-68e8089ab201"}],"id":"b5fc84cf-1008-4137-98a7-a50fcf1549a2","description":"<p>Authentication for the emCA REST API v5.0.0 is handled via <strong>JWT (JSON Web Token)</strong>. A token must be obtained once and then included in every subsequent API request as the <strong><code>X-Emca-Api-Key</code></strong> header.</p>\n<h3 id=\"how-it-works\">How it works</h3>\n<ol>\n<li>Call <strong><code>POST /auth/token</code></strong> with your registered <code>username</code>, <code>password</code>, and <code>clientId</code>.</li>\n<li>The response returns an <code>authToken</code> (JWT) valid for the configured <code>validityInMins</code>.</li>\n<li>Include the token in every API request:</li>\n</ol>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Value</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>X-Nonce</code></td>\n<td>A unique UUID generated per request (replay attack prevention)</td>\n</tr>\n<tr>\n<td><code>X-Client-ID</code></td>\n<td>Your <code>clientId</code> received on external application registration</td>\n</tr>\n<tr>\n<td><code>X-Emca-Api-Key</code></td>\n<td>The JWT <code>authToken</code> returned by this endpoint</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"prerequisites\">Prerequisites</h3>\n<ul>\n<li>Your application must be registered as an external application in emCA.</li>\n<li>Obtain your <code>clientId</code> from the emCA team after registration.</li>\n<li>Tokens expire after <code>validityInMins</code> minutes — re-authenticate to get a new token.</li>\n</ul>\n","_postman_id":"b5fc84cf-1008-4137-98a7-a50fcf1549a2"},{"name":"Tenant Management","item":[{"name":"createTnenant","id":"f59de750-4c2b-417a-b779-0a0242be6017","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"tenantName\": \"emca_tenant_01\",\n  \"description\": \"POC Group A\",\n  \"maxCAs\": 99,\n  \"encryptionKeyB64\": \"U29tZVJhbmRvbUVuY3J5cHRpb25LZXkxMjM0NTY3ODk=\",\n  \"authorizationMatrix\": {\n    \"admin\": {\n      \"min\": 1,\n      \"max\": 2\n    },\n    \"officer\": {\n      \"min\": 1,\n      \"max\": 2\n    },\n    \"auditor\": {\n      \"min\": 1,\n      \"max\": 2\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/tenant","description":"<p>The <strong>\"createTenant\"</strong> API creates a new tenant in the emCA platform. A tenant is an isolated organisational unit under which CAs, certificates, and external applications are managed.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>tenantName</td>\n<td>String</td>\n<td>Yes</td>\n<td>Unique name for the tenant. Only alphanumeric characters and underscores are allowed; cannot start with an underscore.  <br />  <br />ex:- \"emca_tenant_01\"</td>\n</tr>\n<tr>\n<td>description</td>\n<td>String</td>\n<td>No</td>\n<td>Human-readable description of the tenant.  <br />  <br />ex:- \"POC Group A\"</td>\n</tr>\n<tr>\n<td>maxCAs</td>\n<td>Integer</td>\n<td>No</td>\n<td>Maximum number of CAs allowed under this tenant. Default is <strong>99</strong>. Must be between 0 and 999.  <br />  <br />ex:- 99</td>\n</tr>\n<tr>\n<td>encryptionKeyB64</td>\n<td>String</td>\n<td>No</td>\n<td>Optional Base64-encoded AES-256 encryption key (32 bytes) for encrypting sensitive tenant data. If not provided, the system uses its default key.  <br />  <br />ex:- \"U29tZVJhbmRvbUVuY3J5cHRpb25LZXkxMjM0NTY3ODk=\"</td>\n</tr>\n<tr>\n<td>authorizationMatrix</td>\n<td>JSON</td>\n<td>No</td>\n<td>Optional dual-control authorization configuration. Defines the minimum and maximum number of approvals required from each role before sensitive operations are executed.  <br />  <br />See <strong>authorizationMatrix fields</strong> below.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>authorizationMatrix fields</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>admin</td>\n<td>AuthorizationLimit</td>\n<td>No</td>\n<td>Approval limits for the Admin role.</td>\n</tr>\n<tr>\n<td>officer</td>\n<td>AuthorizationLimit</td>\n<td>No</td>\n<td>Approval limits for the Officer role.</td>\n</tr>\n<tr>\n<td>auditor</td>\n<td>AuthorizationLimit</td>\n<td>No</td>\n<td>Approval limits for the Auditor role.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>AuthorizationLimit fields</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>min</td>\n<td>Integer</td>\n<td>No</td>\n<td>Minimum number of approvals required (&gt;= 0).  <br />  <br />ex:- 1</td>\n</tr>\n<tr>\n<td>max</td>\n<td>Integer</td>\n<td>No</td>\n<td>Maximum number of approvals allowed (&lt;= 9).  <br />  <br />ex:- 2</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["create","tenant"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"ed1d3206-a9a0-4b9a-bf43-ef673f7612e2","name":"200 OK – Tenant created","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"tenantName\": \"emca_tenant_01\",\n  \"description\": \"POC Group A\",\n  \"maxCAs\": 99,\n  \"encryptionKeyB64\": \"U29tZVJhbmRvbUVuY3J5cHRpb25LZXkxMjM0NTY3ODk=\",\n  \"authorizationMatrix\": {\n    \"admin\": {\n      \"min\": 1,\n      \"max\": 2\n    },\n    \"officer\": {\n      \"min\": 1,\n      \"max\": 2\n    },\n    \"auditor\": {\n      \"min\": 1,\n      \"max\": 2\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/tenant","description":"The **\"createTenant\"** API creates a new tenant in the emCA platform. A tenant is an isolated organisational unit under which CAs, certificates, and external applications are managed.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| tenantName | String | Yes | Unique name for the tenant. Only alphanumeric characters and underscores are allowed; cannot start with an underscore.  <br>  <br>ex:- \"emca_tenant_01\" |\n| description | String | No | Human-readable description of the tenant.  <br>  <br>ex:- \"POC Group A\" |\n| maxCAs | Integer | No | Maximum number of CAs allowed under this tenant. Default is **99**. Must be between 0 and 999.  <br>  <br>ex:- 99 |\n| encryptionKeyB64 | String | No | Optional Base64-encoded AES-256 encryption key (32 bytes) for encrypting sensitive tenant data. If not provided, the system uses its default key.  <br>  <br>ex:- \"U29tZVJhbmRvbUVuY3J5cHRpb25LZXkxMjM0NTY3ODk=\" |\n| authorizationMatrix | JSON | No | Optional dual-control authorization configuration. Defines the minimum and maximum number of approvals required from each role before sensitive operations are executed.  <br>  <br>See **authorizationMatrix fields** below. |\n\n**authorizationMatrix fields**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| admin | AuthorizationLimit | No | Approval limits for the Admin role. |\n| officer | AuthorizationLimit | No | Approval limits for the Officer role. |\n| auditor | AuthorizationLimit | No | Approval limits for the Auditor role. |\n\n**AuthorizationLimit fields**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| min | Integer | No | Minimum number of approvals required (>= 0).  <br>  <br>ex:- 1 |\n| max | Integer | No | Maximum number of approvals allowed (<= 9).  <br>  <br>ex:- 2 |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"message\": \"Tenant created successfully\",\n  \"tenantName\": \"emca_tenant_01\"\n}"},{"id":"4976e5f6-cf21-4d9f-ba0d-35a13d6c8f31","name":"400 Bad Request – Tenant already exists","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"tenantName\": \"emca_tenant_01\",\n  \"description\": \"POC Group A\",\n  \"maxCAs\": 99,\n  \"encryptionKeyB64\": \"U29tZVJhbmRvbUVuY3J5cHRpb25LZXkxMjM0NTY3ODk=\",\n  \"authorizationMatrix\": {\n    \"admin\": {\n      \"min\": 1,\n      \"max\": 2\n    },\n    \"officer\": {\n      \"min\": 1,\n      \"max\": 2\n    },\n    \"auditor\": {\n      \"min\": 1,\n      \"max\": 2\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/tenant","description":"The **\"createTenant\"** API creates a new tenant in the emCA platform. A tenant is an isolated organisational unit under which CAs, certificates, and external applications are managed.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| tenantName | String | Yes | Unique name for the tenant. Only alphanumeric characters and underscores are allowed; cannot start with an underscore.  <br>  <br>ex:- \"emca_tenant_01\" |\n| description | String | No | Human-readable description of the tenant.  <br>  <br>ex:- \"POC Group A\" |\n| maxCAs | Integer | No | Maximum number of CAs allowed under this tenant. Default is **99**. Must be between 0 and 999.  <br>  <br>ex:- 99 |\n| encryptionKeyB64 | String | No | Optional Base64-encoded AES-256 encryption key (32 bytes) for encrypting sensitive tenant data. If not provided, the system uses its default key.  <br>  <br>ex:- \"U29tZVJhbmRvbUVuY3J5cHRpb25LZXkxMjM0NTY3ODk=\" |\n| authorizationMatrix | JSON | No | Optional dual-control authorization configuration. Defines the minimum and maximum number of approvals required from each role before sensitive operations are executed.  <br>  <br>See **authorizationMatrix fields** below. |\n\n**authorizationMatrix fields**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| admin | AuthorizationLimit | No | Approval limits for the Admin role. |\n| officer | AuthorizationLimit | No | Approval limits for the Officer role. |\n| auditor | AuthorizationLimit | No | Approval limits for the Auditor role. |\n\n**AuthorizationLimit fields**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| min | Integer | No | Minimum number of approvals required (>= 0).  <br>  <br>ex:- 1 |\n| max | Integer | No | Maximum number of approvals allowed (<= 9).  <br>  <br>ex:- 2 |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"FAILURE\",\n  \"message\": \"Tenant with name 'emca_tenant_01' already exists\",\n  \"tenantName\": null\n}"}],"_postman_id":"f59de750-4c2b-417a-b779-0a0242be6017"},{"name":"registerExternalAppp","id":"db0d2dfa-0d90-463c-ae72-65d8c0dbbc33","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"tenantName\": \"emca_tenant_01\",\n  \"appName\": \"MyExternalApp\",\n  \"username\": \"ext_app_user\",\n  \"password\": \"P@ssw0rd123\",\n  \"allowedIpAddres\": \"192.168.1.100\",\n  \"caApiAccessEnabled\": \"1\",\n  \"backupApiAccessEnabled\": \"0\",\n  \"cmpAccessEnabled\": \"0\",\n  \"estAccessEnabled\": \"0\",\n  \"scepAccessEnabled\": \"0\",\n  \"acmeAccessEnabled\": \"0\",\n  \"ipValidationEnabled\": \"1\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/external-applications/register","description":"<p>Registers an external application and generates API credentials (clientId and apiKey) for programmatic access to the emCA REST API.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>tenantName</td>\n<td>String</td>\n<td>Yes</td>\n<td>The tenant under which the external application is registered</td>\n</tr>\n<tr>\n<td>appName</td>\n<td>String</td>\n<td>Yes</td>\n<td>Unique name identifying the external application</td>\n</tr>\n<tr>\n<td>username</td>\n<td>String</td>\n<td>Yes</td>\n<td>Username for the external application account</td>\n</tr>\n<tr>\n<td>password</td>\n<td>String</td>\n<td>Yes</td>\n<td>Password for the external application account</td>\n</tr>\n<tr>\n<td>allowedIpAddres</td>\n<td>String</td>\n<td>No</td>\n<td>IP address allowed to call the API (enforced when ipValidationEnabled = \"1\")</td>\n</tr>\n<tr>\n<td>caApiAccessEnabled</td>\n<td>String</td>\n<td>No</td>\n<td>Enable CA management API access: \"1\" to enable, \"0\" to disable (default: \"0\")</td>\n</tr>\n<tr>\n<td>backupApiAccessEnabled</td>\n<td>String</td>\n<td>No</td>\n<td>Enable Backup API access: \"1\" to enable, \"0\" to disable (default: \"0\")</td>\n</tr>\n<tr>\n<td>cmpAccessEnabled</td>\n<td>String</td>\n<td>No</td>\n<td>Enable CMP (Certificate Management Protocol) access: \"1\" to enable, \"0\" to disable (default: \"0\")</td>\n</tr>\n<tr>\n<td>estAccessEnabled</td>\n<td>String</td>\n<td>No</td>\n<td>Enable EST (Enrollment over Secure Transport) access: \"1\" to enable, \"0\" to disable (default: \"0\")</td>\n</tr>\n<tr>\n<td>scepAccessEnabled</td>\n<td>String</td>\n<td>No</td>\n<td>Enable SCEP (Simple Certificate Enrollment Protocol) access: \"1\" to enable, \"0\" to disable (default: \"0\")</td>\n</tr>\n<tr>\n<td>acmeAccessEnabled</td>\n<td>String</td>\n<td>No</td>\n<td>Enable ACME (Automatic Certificate Management Environment) access: \"1\" to enable, \"0\" to disable (default: \"0\")</td>\n</tr>\n<tr>\n<td>ipValidationEnabled</td>\n<td>String</td>\n<td>No</td>\n<td>Enforce IP validation for all calls from this app: \"1\" to enable, \"0\" to disable (default: \"0\")</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Response Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>String</td>\n<td>Operation status: \"Success\" or \"Failure\"</td>\n</tr>\n<tr>\n<td>result</td>\n<td>String</td>\n<td>Description of the operation result or error message</td>\n</tr>\n<tr>\n<td>clientId</td>\n<td>String</td>\n<td>Generated client ID for the external application</td>\n</tr>\n<tr>\n<td>apiKey</td>\n<td>String</td>\n<td>Generated API key for the external application</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["external-applications","register"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"728e599c-08ab-473e-a0f2-4a7d149a5088","name":"200 OK – Application registered","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"tenantName\": \"emca_tenant_01\",\n  \"appName\": \"MyExternalApp\",\n  \"username\": \"ext_app_user\",\n  \"password\": \"P@ssw0rd123\",\n  \"allowedIpAddres\": \"192.168.1.100\",\n  \"caApiAccessEnabled\": \"1\",\n  \"backupApiAccessEnabled\": \"0\",\n  \"cmpAccessEnabled\": \"0\",\n  \"estAccessEnabled\": \"0\",\n  \"scepAccessEnabled\": \"0\",\n  \"acmeAccessEnabled\": \"0\",\n  \"ipValidationEnabled\": \"1\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/external-applications/register","description":"Registers an external application and generates API credentials (clientId and apiKey) for programmatic access to the emCA REST API.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| tenantName | String | Yes | The tenant under which the external application is registered |\n| appName | String | Yes | Unique name identifying the external application |\n| username | String | Yes | Username for the external application account |\n| password | String | Yes | Password for the external application account |\n| allowedIpAddres | String | No | IP address allowed to call the API (enforced when ipValidationEnabled = \"1\") |\n| caApiAccessEnabled | String | No | Enable CA management API access: \"1\" to enable, \"0\" to disable (default: \"0\") |\n| backupApiAccessEnabled | String | No | Enable Backup API access: \"1\" to enable, \"0\" to disable (default: \"0\") |\n| cmpAccessEnabled | String | No | Enable CMP (Certificate Management Protocol) access: \"1\" to enable, \"0\" to disable (default: \"0\") |\n| estAccessEnabled | String | No | Enable EST (Enrollment over Secure Transport) access: \"1\" to enable, \"0\" to disable (default: \"0\") |\n| scepAccessEnabled | String | No | Enable SCEP (Simple Certificate Enrollment Protocol) access: \"1\" to enable, \"0\" to disable (default: \"0\") |\n| acmeAccessEnabled | String | No | Enable ACME (Automatic Certificate Management Environment) access: \"1\" to enable, \"0\" to disable (default: \"0\") |\n| ipValidationEnabled | String | No | Enforce IP validation for all calls from this app: \"1\" to enable, \"0\" to disable (default: \"0\") |\n\n**Response Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| status | String | Operation status: \"Success\" or \"Failure\" |\n| result | String | Description of the operation result or error message |\n| clientId | String | Generated client ID for the external application |\n| apiKey | String | Generated API key for the external application |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"message\": \"External application registered successfully\",\n  \"clientId\": \"tade1c9c-a272-42e8-a2a8-0803db4d5ec5\"\n}"},{"id":"359f5caf-eca4-452d-8ec8-8ddbe7c30594","name":"400 Bad Request – Duplicate app name","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"tenantName\": \"emca_tenant_01\",\n  \"appName\": \"MyExternalApp\",\n  \"username\": \"ext_app_user\",\n  \"password\": \"P@ssw0rd123\",\n  \"allowedIpAddres\": \"192.168.1.100\",\n  \"caApiAccessEnabled\": \"1\",\n  \"backupApiAccessEnabled\": \"0\",\n  \"cmpAccessEnabled\": \"0\",\n  \"estAccessEnabled\": \"0\",\n  \"scepAccessEnabled\": \"0\",\n  \"acmeAccessEnabled\": \"0\",\n  \"ipValidationEnabled\": \"1\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/external-applications/register","description":"Registers an external application and generates API credentials (clientId and apiKey) for programmatic access to the emCA REST API.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| tenantName | String | Yes | The tenant under which the external application is registered |\n| appName | String | Yes | Unique name identifying the external application |\n| username | String | Yes | Username for the external application account |\n| password | String | Yes | Password for the external application account |\n| allowedIpAddres | String | No | IP address allowed to call the API (enforced when ipValidationEnabled = \"1\") |\n| caApiAccessEnabled | String | No | Enable CA management API access: \"1\" to enable, \"0\" to disable (default: \"0\") |\n| backupApiAccessEnabled | String | No | Enable Backup API access: \"1\" to enable, \"0\" to disable (default: \"0\") |\n| cmpAccessEnabled | String | No | Enable CMP (Certificate Management Protocol) access: \"1\" to enable, \"0\" to disable (default: \"0\") |\n| estAccessEnabled | String | No | Enable EST (Enrollment over Secure Transport) access: \"1\" to enable, \"0\" to disable (default: \"0\") |\n| scepAccessEnabled | String | No | Enable SCEP (Simple Certificate Enrollment Protocol) access: \"1\" to enable, \"0\" to disable (default: \"0\") |\n| acmeAccessEnabled | String | No | Enable ACME (Automatic Certificate Management Environment) access: \"1\" to enable, \"0\" to disable (default: \"0\") |\n| ipValidationEnabled | String | No | Enforce IP validation for all calls from this app: \"1\" to enable, \"0\" to disable (default: \"0\") |\n\n**Response Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| status | String | Operation status: \"Success\" or \"Failure\" |\n| result | String | Description of the operation result or error message |\n| clientId | String | Generated client ID for the external application |\n| apiKey | String | Generated API key for the external application |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"FAILURE\",\n  \"message\": \"Application with name 'ext_app_01' already registered for tenant\",\n  \"clientId\": null\n}"}],"_postman_id":"db0d2dfa-0d90-463c-ae72-65d8c0dbbc33"},{"name":"initializeEncryptionKey","id":"d226d410-c494-4721-a9e9-300059631897","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"tenantName\": \"emca_tenant_01\",\n  \"encryptionKeyB64\": \"U29tZVJhbmRvbUVuY3J5cHRpb25LZXk=\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/initialize-encryption-key","description":"<p>The <strong>\"initializeEncryptionKey\"</strong> API sets the BYOK (Bring Your Own Key) encryption key for a tenant. This key is used to encrypt sensitive data stored by the tenant. Only <code>X-Nonce</code> is required — no JWT authentication.</p>\n<p><strong>Request Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>tenantName</td>\n<td>String</td>\n<td>Yes</td>\n<td>Name of the tenant.  <br />  <br />ex:- \"emca_tenant_01\"</td>\n</tr>\n<tr>\n<td>encryptionKeyB64</td>\n<td>String</td>\n<td>Yes</td>\n<td>Base64-encoded AES encryption key.  <br />  <br />ex:- \"U29tZVJhbmRvbUVuY3J5cHRpb25LZXk=\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["initialize-encryption-key"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"26ca60e7-53af-409c-b6fa-f3c3e93df489","name":"200 OK – Key initialized","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"tenantName\": \"emca_tenant_01\",\n  \"encryptionKeyB64\": \"U29tZVJhbmRvbUVuY3J5cHRpb25LZXk=\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/initialize-encryption-key","description":"The **\"initializeEncryptionKey\"** API sets the BYOK (Bring Your Own Key) encryption key for a tenant. This key is used to encrypt sensitive data stored by the tenant. Only `X-Nonce` is required — no JWT authentication.\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| tenantName | String | Yes | Name of the tenant.  <br>  <br>ex:- \"emca_tenant_01\" |\n| encryptionKeyB64 | String | Yes | Base64-encoded AES encryption key.  <br>  <br>ex:- \"U29tZVJhbmRvbUVuY3J5cHRpb25LZXk=\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"message\": \"Encryption key initialized successfully\"\n}"},{"id":"38aa71c9-ad74-4f8f-9547-3798166d4a3f","name":"400 Bad Request – Invalid key","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"tenantName\": \"emca_tenant_01\",\n  \"encryptionKeyB64\": \"U29tZVJhbmRvbUVuY3J5cHRpb25LZXk=\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/initialize-encryption-key","description":"The **\"initializeEncryptionKey\"** API sets the BYOK (Bring Your Own Key) encryption key for a tenant. This key is used to encrypt sensitive data stored by the tenant. Only `X-Nonce` is required — no JWT authentication.\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| tenantName | String | Yes | Name of the tenant.  <br>  <br>ex:- \"emca_tenant_01\" |\n| encryptionKeyB64 | String | Yes | Base64-encoded AES encryption key.  <br>  <br>ex:- \"U29tZVJhbmRvbUVuY3J5cHRpb25LZXk=\" |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"FAILURE\",\n  \"message\": \"Encryption key is invalid or not properly Base64-encoded\"\n}"}],"_postman_id":"d226d410-c494-4721-a9e9-300059631897"},{"name":"updateTenantStatus","id":"9ad7761b-3b3f-46a3-83ab-11d6c7a1e74e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"tenantName\": \"emca_tenant_01\",\n  \"action\": \"DEACTIVATE\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/tenants/status","description":"<p>The <strong>\"updateTenantStatus\"</strong> API activates or deactivates a tenant. Deactivating a tenant prevents its external applications from authenticating to the platform.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>tenantName</td>\n<td>String</td>\n<td>Yes</td>\n<td>Name of the tenant to update.  <br />  <br />ex:- \"emca_tenant_01\"</td>\n</tr>\n<tr>\n<td>action</td>\n<td>String</td>\n<td>Yes</td>\n<td>Lifecycle action. Supported values: <strong>ACTIVATE</strong>, <strong>DEACTIVATE</strong>.  <br />  <br />ex:- \"DEACTIVATE\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["tenants","status"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"b19ac976-43f4-43c3-ac60-26cd64f8acb1","name":"200 OK – Status updated","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"tenantName\": \"emca_tenant_01\",\n  \"action\": \"DEACTIVATE\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/tenants/status","description":"The **\"updateTenantStatus\"** API activates or deactivates a tenant. Deactivating a tenant prevents its external applications from authenticating to the platform.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| tenantName | String | Yes | Name of the tenant to update.  <br>  <br>ex:- \"emca_tenant_01\" |\n| action | String | Yes | Lifecycle action. Supported values: **ACTIVATE**, **DEACTIVATE**.  <br>  <br>ex:- \"DEACTIVATE\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"message\": \"Tenant status updated successfully\",\n  \"tenantName\": \"emca_tenant_01\",\n  \"previousStatus\": \"ACTIVE\",\n  \"currentStatus\": \"INACTIVE\"\n}"},{"id":"54ed61a6-b5fd-45f4-9091-5dbd5c2d008c","name":"404 Not Found – Tenant not found","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"tenantName\": \"emca_tenant_01\",\n  \"action\": \"DEACTIVATE\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/tenants/status","description":"The **\"updateTenantStatus\"** API activates or deactivates a tenant. Deactivating a tenant prevents its external applications from authenticating to the platform.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| tenantName | String | Yes | Name of the tenant to update.  <br>  <br>ex:- \"emca_tenant_01\" |\n| action | String | Yes | Lifecycle action. Supported values: **ACTIVATE**, **DEACTIVATE**.  <br>  <br>ex:- \"DEACTIVATE\" |"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"FAILURE\",\n  \"message\": \"Tenant 'emca_tenant_01' not found\",\n  \"tenantName\": null,\n  \"previousStatus\": null,\n  \"currentStatus\": null\n}"}],"_postman_id":"9ad7761b-3b3f-46a3-83ab-11d6c7a1e74e"},{"name":"rotateKEK","id":"cc25fa24-e7a8-4425-b103-80e2a7b9b3ed","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"tenantName\": \"emca_tenant_01\",\n  \"oldKek\": \"b2xkS2V5QmFzZTY0RW5jb2RlZA==\",\n  \"newKek\": \"bmV3S2V5QmFzZTY0RW5jb2RlZA==\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/rotate-kek","description":"<p>The <strong>\"rotateKEK\"</strong> API replaces the current Key Encryption Key (KEK) for a tenant with a new one. Only <code>X-Nonce</code> is required — no JWT authentication.</p>\n<p><strong>Request Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>tenantName</td>\n<td>String</td>\n<td>Yes</td>\n<td>Name of the tenant.  <br />  <br />ex:- \"emca_tenant_01\"</td>\n</tr>\n<tr>\n<td>oldKek</td>\n<td>String</td>\n<td>Yes</td>\n<td>Base64-encoded current KEK.  <br />  <br />ex:- \"b2xkS2V5QmFzZTY0RW5jb2RlZA==\"</td>\n</tr>\n<tr>\n<td>newKek</td>\n<td>String</td>\n<td>Yes</td>\n<td>Base64-encoded replacement KEK.  <br />  <br />ex:- \"bmV3S2V5QmFzZTY0RW5jb2RlZA==\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["rotate-kek"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"fed56155-d6d2-4c45-b19b-c43291013d99","name":"200 OK – KEK rotated","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"tenantName\": \"emca_tenant_01\",\n  \"oldKek\": \"b2xkS2V5QmFzZTY0RW5jb2RlZA==\",\n  \"newKek\": \"bmV3S2V5QmFzZTY0RW5jb2RlZA==\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/rotate-kek","description":"The **\"rotateKEK\"** API replaces the current Key Encryption Key (KEK) for a tenant with a new one. Only `X-Nonce` is required — no JWT authentication.\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| tenantName | String | Yes | Name of the tenant.  <br>  <br>ex:- \"emca_tenant_01\" |\n| oldKek | String | Yes | Base64-encoded current KEK.  <br>  <br>ex:- \"b2xkS2V5QmFzZTY0RW5jb2RlZA==\" |\n| newKek | String | Yes | Base64-encoded replacement KEK.  <br>  <br>ex:- \"bmV3S2V5QmFzZTY0RW5jb2RlZA==\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"message\": \"Key Encryption Key rotated successfully\"\n}"},{"id":"88fa7299-f1a9-40e5-8920-b79969f8707a","name":"400 Bad Request – Old KEK mismatch","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"tenantName\": \"emca_tenant_01\",\n  \"oldKek\": \"b2xkS2V5QmFzZTY0RW5jb2RlZA==\",\n  \"newKek\": \"bmV3S2V5QmFzZTY0RW5jb2RlZA==\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/rotate-kek","description":"The **\"rotateKEK\"** API replaces the current Key Encryption Key (KEK) for a tenant with a new one. Only `X-Nonce` is required — no JWT authentication.\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| tenantName | String | Yes | Name of the tenant.  <br>  <br>ex:- \"emca_tenant_01\" |\n| oldKek | String | Yes | Base64-encoded current KEK.  <br>  <br>ex:- \"b2xkS2V5QmFzZTY0RW5jb2RlZA==\" |\n| newKek | String | Yes | Base64-encoded replacement KEK.  <br>  <br>ex:- \"bmV3S2V5QmFzZTY0RW5jb2RlZA==\" |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"FAILURE\",\n  \"message\": \"Provided old KEK does not match the current KEK for the tenant\"\n}"}],"_postman_id":"cc25fa24-e7a8-4425-b103-80e2a7b9b3ed"},{"name":"createOrUpdateMyIDPolicy","id":"3160ca85-ed94-457e-a5d4-4e30cd880eed","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"caPath\": \"SubCA_Policy\",\n  \"overrideKeyDefault\": \"1\",\n  \"policies\": [\n    {\n      \"displayName\": \"Employee RSA 2048\",\n      \"keyLength\": \"2048\",\n      \"certProfileId\": \"3\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/update/myid-policy","description":"<p>Creates or updates a MyID policy configuration that maps certificate profiles to MyID client policy paths for automated certificate issuance.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>caPath</td>\n<td>String</td>\n<td>Yes</td>\n<td>Unique policy name used as the CA path identifier by MyID clients</td>\n</tr>\n<tr>\n<td>overrideKeyDefault</td>\n<td>String</td>\n<td>No</td>\n<td>Override key defaults from the certificate profile: \"1\" to override, \"0\" to use profile defaults</td>\n</tr>\n<tr>\n<td>policies</td>\n<td>Array</td>\n<td>Yes</td>\n<td>List of certificate profile policy objects to associate with this configuration</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>policies Array Items</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>displayName</td>\n<td>String</td>\n<td>Yes</td>\n<td>Human-readable label shown in MyID for this policy (e.g., \"Employee RSA 2048\")</td>\n</tr>\n<tr>\n<td>keyLength</td>\n<td>String</td>\n<td>Yes</td>\n<td>Key length or algorithm: \"1024\", \"2048\", \"3072\", \"4096\" for RSA; \"ECC_P256\", \"ECC_P384\", \"ECC_P521\" for EC</td>\n</tr>\n<tr>\n<td>certProfileId</td>\n<td>String</td>\n<td>Yes</td>\n<td>Unique identifier (as string) of the certificate profile to associate with this policy</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Response Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>String</td>\n<td>Operation status: \"Success\" or \"Failure\"</td>\n</tr>\n<tr>\n<td>result</td>\n<td>String</td>\n<td>Description of the operation result or error message</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["create","update","myid-policy"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"57b27a47-43ae-4bd5-acbc-8b79f669d794","name":"200 OK – Policy saved","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"caPath\": \"SubCA_Policy\",\n  \"overrideKeyDefault\": \"1\",\n  \"policies\": [\n    {\n      \"displayName\": \"Employee RSA 2048\",\n      \"keyLength\": \"2048\",\n      \"certProfileId\": \"3\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/update/myid-policy","description":"Creates or updates a MyID policy configuration that maps certificate profiles to MyID client policy paths for automated certificate issuance.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| caPath | String | Yes | Unique policy name used as the CA path identifier by MyID clients |\n| overrideKeyDefault | String | No | Override key defaults from the certificate profile: \"1\" to override, \"0\" to use profile defaults |\n| policies | Array | Yes | List of certificate profile policy objects to associate with this configuration |\n\n**policies Array Items**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| displayName | String | Yes | Human-readable label shown in MyID for this policy (e.g., \"Employee RSA 2048\") |\n| keyLength | String | Yes | Key length or algorithm: \"1024\", \"2048\", \"3072\", \"4096\" for RSA; \"ECC_P256\", \"ECC_P384\", \"ECC_P521\" for EC |\n| certProfileId | String | Yes | Unique identifier (as string) of the certificate profile to associate with this policy |\n\n**Response Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| status | String | Operation status: \"Success\" or \"Failure\" |\n| result | String | Description of the operation result or error message |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"message\": \"MyID policy saved successfully\",\n  \"caPath\": \"SubCA_Policy\"\n}"},{"id":"8faa4187-76b4-4e47-b8b7-717623873d80","name":"400 Bad Request – Invalid policy","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"caPath\": \"SubCA_Policy\",\n  \"overrideKeyDefault\": \"1\",\n  \"policies\": [\n    {\n      \"displayName\": \"Employee RSA 2048\",\n      \"keyLength\": \"2048\",\n      \"certProfileId\": \"3\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/update/myid-policy","description":"Creates or updates a MyID policy configuration that maps certificate profiles to MyID client policy paths for automated certificate issuance.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| caPath | String | Yes | Unique policy name used as the CA path identifier by MyID clients |\n| overrideKeyDefault | String | No | Override key defaults from the certificate profile: \"1\" to override, \"0\" to use profile defaults |\n| policies | Array | Yes | List of certificate profile policy objects to associate with this configuration |\n\n**policies Array Items**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| displayName | String | Yes | Human-readable label shown in MyID for this policy (e.g., \"Employee RSA 2048\") |\n| keyLength | String | Yes | Key length or algorithm: \"1024\", \"2048\", \"3072\", \"4096\" for RSA; \"ECC_P256\", \"ECC_P384\", \"ECC_P521\" for EC |\n| certProfileId | String | Yes | Unique identifier (as string) of the certificate profile to associate with this policy |\n\n**Response Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| status | String | Operation status: \"Success\" or \"Failure\" |\n| result | String | Description of the operation result or error message |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"FAILURE\",\n  \"message\": \"Invalid policy configuration: profileId is required\",\n  \"caPath\": null\n}"}],"_postman_id":"3160ca85-ed94-457e-a5d4-4e30cd880eed"}],"id":"0af85b1e-bc41-4aca-bf73-54386bb6ca87","description":"<p>The <strong>Tenant Management APIs</strong> provide a secure, programmatic interface for managing tenants and external application registrations within the emCA platform. These APIs enable administrators to create tenants, register external applications, manage encryption keys (BYOK), control tenant lifecycle, and configure MyID policy integrations.</p>\n<p>All endpoints require <code>X-Nonce</code> for replay attack prevention. Endpoints that mutate tenant state additionally require <code>X-Client-ID</code> and <code>X-Emca-Api-Key</code> (JWT) headers.</p>\n","event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":["function generateUUID() {\r","    let d = new Date().getTime();\r","    if (typeof performance !== 'undefined' && typeof performance.now === 'function'){\r","        d += performance.now(); // use high-precision timer if available\r","    }\r","    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\r","        const r = (d + Math.random()*16)%16 | 0;\r","        d = Math.floor(d/16);\r","        return (c==='x' ? r : (r&0x3|0x8)).toString(16);\r","    });\r","}\r","\r","const nonce = `${Date.now()}-${generateUUID()}`;\r","\r","// Set it as a global or local variable\r","pm.variables.set(\"baseUrl\", \"https://appemca.emudhra.com:8443/441/emCAServices/rest/v5\");\r","pm.variables.set(\"x_nonce\", nonce);\r","pm.variables.set(\"x_client_id\", \"tade1c9c-a272-42e8-a2a8-0803db4d5ec5\");\r","pm.variables.set(\"x_emca_api_key\", \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJncnBJZCI6IjEiLCJDbGllbnRJZCI6InRhZGUxYzljLWEyNzItNDJlOC1hMmE4LTA4MDNkYjRkNWVjNSIsImlhdCI6MTc3NjMzNTgxOCwiZXhwIjoxNzc2NDA3ODE4fQ.q9KMO362uTrPsYZq-qFwdvfaM0LbO6R3VJ4Othg_uGc\");"],"id":"169d16b6-feaf-411d-b0b1-8a5ef64a0610"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"3bb7c9c3-3d58-479d-814b-3acefc95395f"}}],"_postman_id":"0af85b1e-bc41-4aca-bf73-54386bb6ca87"},{"name":"CA Management","item":[{"name":"createkeyprofile","id":"a7757706-1e4b-4100-a2e3-6c9646c95b57","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"profileName\": \"SampleKeyProfile\",\n  \"keyProfileType\": \"PKCS11\",\n  \"configData\": \"bmFtZSA9IGVtY2FfNDQxX3FhDQpsaWJyYXJ5ID0gL3Vzci9saWIvc29mdGhzbS9saWJzb2Z0aHNtMi5zbw0KYXR0cmlidXRlcyhnZW5lcmF0ZSwgQ0tPX1BVQkxJQ19LRVksICopID0gew0KICBDS0FfVE9LRU4gPSB0cnVlDQogIENLQV9WRVJJRlkgPSB0cnVlDQogIENLQV9FTkNSWVBUID0gdHJ1ZQ0KfQ0KYXR0cmlidXRlcyhnZW5lcmF0ZSwgQ0tPX1BSSVZBVEVfS0VZLCAqKSA9IHsNCiAgQ0tBX1RPS0VOID0gdHJ1ZQ0KICBDS0FfU0lHTiA9IHRydWUNCiAgQ0tBX0RFQ1JZUFQgPSB0cnVlDQogIENLQV9FWFRSQUNUQUJMRSA9IGZhbHNlDQp9DQoNCmF0dHJpYnV0ZXMoZ2VuZXJhdGUsIENLT19TRUNSRVRfS0VZLCBDS0tfQUVTKSA9IHsNCiAgQ0tBX1RPS0VOID0gdHJ1ZQ0KICBDS0FfRU5DUllQVCA9IHRydWUNCiAgQ0tBX0RFQ1JZUFQgPSB0cnVlDQogIENLQV9FWFRSQUNUQUJMRSA9IGZhbHNlDQp9DQpzbG90PTk0OTMyNDkzMg\",\n  \"password\": \"654321\",\n  \"keyVaultUrl\": \"https://my-vault.vault.azure.net/\",\n  \"tenantId\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n  \"clientId\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n  \"clientSecret\": \"azure-client-secret-value\",\n  \"cloudHsmUsername\": \"hsm_user_01\",\n  \"crypto4aBaseUrl\": \"https://crypto4a.example.com/api\",\n  \"crypto4aApiKey\": \"c4a-api-key-value\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/key-profile","description":"<p>Creates a new key profile defining the cryptographic hardware or software provider used for key operations in emCA.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>profileName</td>\n<td>String</td>\n<td>Yes</td>\n<td>Unique name for the key profile</td>\n</tr>\n<tr>\n<td>keyProfileType</td>\n<td>String</td>\n<td>Yes</td>\n<td>Type of cryptographic provider (see Key Profile Types below)</td>\n</tr>\n<tr>\n<td>configData</td>\n<td>String</td>\n<td>No</td>\n<td>Provider-specific configuration — e.g., Base64-encoded PKCS#11 config file for SOFTHSM/PKCS11 types</td>\n</tr>\n<tr>\n<td>password</td>\n<td>String</td>\n<td>No</td>\n<td>Password or PIN to access the key store (for SOFTHSM, PKCS11, etc.)</td>\n</tr>\n<tr>\n<td>keyVaultUrl</td>\n<td>String</td>\n<td>Conditional</td>\n<td>Azure Key Vault URL — required for AZURE_KEY_VAULT type (e.g., <a href=\"https://my-vault.vault.azure.net/\">https://my-vault.vault.azure.net/</a>)</td>\n</tr>\n<tr>\n<td>tenantId</td>\n<td>String</td>\n<td>Conditional</td>\n<td>Azure Active Directory Tenant ID — required for AZURE_KEY_VAULT type</td>\n</tr>\n<tr>\n<td>clientId</td>\n<td>String</td>\n<td>Conditional</td>\n<td>Azure Application (Client) ID — required for AZURE_KEY_VAULT type</td>\n</tr>\n<tr>\n<td>clientSecret</td>\n<td>String</td>\n<td>Conditional</td>\n<td>Azure Client Secret — required for AZURE_KEY_VAULT type</td>\n</tr>\n<tr>\n<td>cloudHsmUsername</td>\n<td>String</td>\n<td>Conditional</td>\n<td>Username for Cloud HSM authentication — required for CLOUD_HSM type</td>\n</tr>\n<tr>\n<td>crypto4aBaseUrl</td>\n<td>String</td>\n<td>Conditional</td>\n<td>Base URL of the Crypto4A QASM server — required for CRYPTO4A type</td>\n</tr>\n<tr>\n<td>crypto4aApiKey</td>\n<td>String</td>\n<td>Conditional</td>\n<td>API key for the Crypto4A service — required for CRYPTO4A type</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Key Profile Types</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>SOFTHSM</td>\n<td>SoftHSM2 software-based HSM</td>\n</tr>\n<tr>\n<td>PKCS11</td>\n<td>Generic PKCS#11 compatible hardware token or HSM</td>\n</tr>\n<tr>\n<td>MSSQL</td>\n<td>Microsoft SQL Server-backed key storage</td>\n</tr>\n<tr>\n<td>AZURE_KEY_VAULT</td>\n<td>Microsoft Azure Key Vault — requires keyVaultUrl, tenantId, clientId, clientSecret</td>\n</tr>\n<tr>\n<td>CLOUD_HSM</td>\n<td>AWS CloudHSM or equivalent cloud-hosted HSM — requires cloudHsmUsername</td>\n</tr>\n<tr>\n<td>CRYPTO4A</td>\n<td>Crypto4A Quantum-Safe HSM — requires crypto4aBaseUrl, crypto4aApiKey</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Response Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>String</td>\n<td>Operation status: \"Success\" or \"Failure\"</td>\n</tr>\n<tr>\n<td>result</td>\n<td>String</td>\n<td>Description of the operation result or error message</td>\n</tr>\n<tr>\n<td>keyProfileId</td>\n<td>Integer</td>\n<td>The unique ID assigned to the created key profile</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["create","key-profile"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"7343d562-2fe4-451b-a997-78bb0a8bb168","name":"200 OK – Key profile created","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"profileName\": \"SampleKeyProfile\",\n  \"keyProfileType\": \"PKCS11\",\n  \"configData\": \"bmFtZSA9IGVtY2FfNDQxX3FhDQpsaWJyYXJ5ID0gL3Vzci9saWIvc29mdGhzbS9saWJzb2Z0aHNtMi5zbw0KYXR0cmlidXRlcyhnZW5lcmF0ZSwgQ0tPX1BVQkxJQ19LRVksICopID0gew0KICBDS0FfVE9LRU4gPSB0cnVlDQogIENLQV9WRVJJRlkgPSB0cnVlDQogIENLQV9FTkNSWVBUID0gdHJ1ZQ0KfQ0KYXR0cmlidXRlcyhnZW5lcmF0ZSwgQ0tPX1BSSVZBVEVfS0VZLCAqKSA9IHsNCiAgQ0tBX1RPS0VOID0gdHJ1ZQ0KICBDS0FfU0lHTiA9IHRydWUNCiAgQ0tBX0RFQ1JZUFQgPSB0cnVlDQogIENLQV9FWFRSQUNUQUJMRSA9IGZhbHNlDQp9DQoNCmF0dHJpYnV0ZXMoZ2VuZXJhdGUsIENLT19TRUNSRVRfS0VZLCBDS0tfQUVTKSA9IHsNCiAgQ0tBX1RPS0VOID0gdHJ1ZQ0KICBDS0FfRU5DUllQVCA9IHRydWUNCiAgQ0tBX0RFQ1JZUFQgPSB0cnVlDQogIENLQV9FWFRSQUNUQUJMRSA9IGZhbHNlDQp9DQpzbG90PTk0OTMyNDkzMg\",\n  \"password\": \"654321\",\n  \"keyVaultUrl\": \"https://my-vault.vault.azure.net/\",\n  \"tenantId\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n  \"clientId\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n  \"clientSecret\": \"azure-client-secret-value\",\n  \"cloudHsmUsername\": \"hsm_user_01\",\n  \"crypto4aBaseUrl\": \"https://crypto4a.example.com/api\",\n  \"crypto4aApiKey\": \"c4a-api-key-value\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/key-profile","description":"Creates a new key profile defining the cryptographic hardware or software provider used for key operations in emCA.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| profileName | String | Yes | Unique name for the key profile |\n| keyProfileType | String | Yes | Type of cryptographic provider (see Key Profile Types below) |\n| configData | String | No | Provider-specific configuration — e.g., Base64-encoded PKCS#11 config file for SOFTHSM/PKCS11 types |\n| password | String | No | Password or PIN to access the key store (for SOFTHSM, PKCS11, etc.) |\n| keyVaultUrl | String | Conditional | Azure Key Vault URL — required for AZURE_KEY_VAULT type (e.g., https://my-vault.vault.azure.net/) |\n| tenantId | String | Conditional | Azure Active Directory Tenant ID — required for AZURE_KEY_VAULT type |\n| clientId | String | Conditional | Azure Application (Client) ID — required for AZURE_KEY_VAULT type |\n| clientSecret | String | Conditional | Azure Client Secret — required for AZURE_KEY_VAULT type |\n| cloudHsmUsername | String | Conditional | Username for Cloud HSM authentication — required for CLOUD_HSM type |\n| crypto4aBaseUrl | String | Conditional | Base URL of the Crypto4A QASM server — required for CRYPTO4A type |\n| crypto4aApiKey | String | Conditional | API key for the Crypto4A service — required for CRYPTO4A type |\n\n**Key Profile Types**\n\n| Type | Description |\n|------|-------------|\n| SOFTHSM | SoftHSM2 software-based HSM |\n| PKCS11 | Generic PKCS#11 compatible hardware token or HSM |\n| MSSQL | Microsoft SQL Server-backed key storage |\n| AZURE_KEY_VAULT | Microsoft Azure Key Vault — requires keyVaultUrl, tenantId, clientId, clientSecret |\n| CLOUD_HSM | AWS CloudHSM or equivalent cloud-hosted HSM — requires cloudHsmUsername |\n| CRYPTO4A | Crypto4A Quantum-Safe HSM — requires crypto4aBaseUrl, crypto4aApiKey |\n\n**Response Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| status | String | Operation status: \"Success\" or \"Failure\" |\n| result | String | Description of the operation result or error message |\n| keyProfileId | Integer | The unique ID assigned to the created key profile |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"SUCCESS\",\n    \"errorCode\": null,\n    \"errorMessage\": null\n  },\n  \"keyProfileDetails\": {\n    \"keyProfileId\": \"3\",\n    \"profileName\": \"SampleKeyProfile\",\n    \"keyProfileType\": \"PKCS11\"\n  }\n}"},{"id":"b9c1333f-9048-4a3a-ae38-56c8de76b42b","name":"400 Bad Request – Profile exists","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"profileName\": \"SampleKeyProfile\",\n  \"keyProfileType\": \"PKCS11\",\n  \"configData\": \"bmFtZSA9IGVtY2FfNDQxX3FhDQpsaWJyYXJ5ID0gL3Vzci9saWIvc29mdGhzbS9saWJzb2Z0aHNtMi5zbw0KYXR0cmlidXRlcyhnZW5lcmF0ZSwgQ0tPX1BVQkxJQ19LRVksICopID0gew0KICBDS0FfVE9LRU4gPSB0cnVlDQogIENLQV9WRVJJRlkgPSB0cnVlDQogIENLQV9FTkNSWVBUID0gdHJ1ZQ0KfQ0KYXR0cmlidXRlcyhnZW5lcmF0ZSwgQ0tPX1BSSVZBVEVfS0VZLCAqKSA9IHsNCiAgQ0tBX1RPS0VOID0gdHJ1ZQ0KICBDS0FfU0lHTiA9IHRydWUNCiAgQ0tBX0RFQ1JZUFQgPSB0cnVlDQogIENLQV9FWFRSQUNUQUJMRSA9IGZhbHNlDQp9DQoNCmF0dHJpYnV0ZXMoZ2VuZXJhdGUsIENLT19TRUNSRVRfS0VZLCBDS0tfQUVTKSA9IHsNCiAgQ0tBX1RPS0VOID0gdHJ1ZQ0KICBDS0FfRU5DUllQVCA9IHRydWUNCiAgQ0tBX0RFQ1JZUFQgPSB0cnVlDQogIENLQV9FWFRSQUNUQUJMRSA9IGZhbHNlDQp9DQpzbG90PTk0OTMyNDkzMg\",\n  \"password\": \"654321\",\n  \"keyVaultUrl\": \"https://my-vault.vault.azure.net/\",\n  \"tenantId\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n  \"clientId\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n  \"clientSecret\": \"azure-client-secret-value\",\n  \"cloudHsmUsername\": \"hsm_user_01\",\n  \"crypto4aBaseUrl\": \"https://crypto4a.example.com/api\",\n  \"crypto4aApiKey\": \"c4a-api-key-value\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/key-profile","description":"Creates a new key profile defining the cryptographic hardware or software provider used for key operations in emCA.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| profileName | String | Yes | Unique name for the key profile |\n| keyProfileType | String | Yes | Type of cryptographic provider (see Key Profile Types below) |\n| configData | String | No | Provider-specific configuration — e.g., Base64-encoded PKCS#11 config file for SOFTHSM/PKCS11 types |\n| password | String | No | Password or PIN to access the key store (for SOFTHSM, PKCS11, etc.) |\n| keyVaultUrl | String | Conditional | Azure Key Vault URL — required for AZURE_KEY_VAULT type (e.g., https://my-vault.vault.azure.net/) |\n| tenantId | String | Conditional | Azure Active Directory Tenant ID — required for AZURE_KEY_VAULT type |\n| clientId | String | Conditional | Azure Application (Client) ID — required for AZURE_KEY_VAULT type |\n| clientSecret | String | Conditional | Azure Client Secret — required for AZURE_KEY_VAULT type |\n| cloudHsmUsername | String | Conditional | Username for Cloud HSM authentication — required for CLOUD_HSM type |\n| crypto4aBaseUrl | String | Conditional | Base URL of the Crypto4A QASM server — required for CRYPTO4A type |\n| crypto4aApiKey | String | Conditional | API key for the Crypto4A service — required for CRYPTO4A type |\n\n**Key Profile Types**\n\n| Type | Description |\n|------|-------------|\n| SOFTHSM | SoftHSM2 software-based HSM |\n| PKCS11 | Generic PKCS#11 compatible hardware token or HSM |\n| MSSQL | Microsoft SQL Server-backed key storage |\n| AZURE_KEY_VAULT | Microsoft Azure Key Vault — requires keyVaultUrl, tenantId, clientId, clientSecret |\n| CLOUD_HSM | AWS CloudHSM or equivalent cloud-hosted HSM — requires cloudHsmUsername |\n| CRYPTO4A | Crypto4A Quantum-Safe HSM — requires crypto4aBaseUrl, crypto4aApiKey |\n\n**Response Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| status | String | Operation status: \"Success\" or \"Failure\" |\n| result | String | Description of the operation result or error message |\n| keyProfileId | Integer | The unique ID assigned to the created key profile |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"FAILURE\",\n    \"errorCode\": \"EMCA-400\",\n    \"errorMessage\": \"Invalid request parameters\"\n  }\n}"}],"_postman_id":"a7757706-1e4b-4100-a2e3-6c9646c95b57"},{"name":"testkeyprofile","id":"f4bea156-9ccb-4a8f-949f-fde01dacff68","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"keyProfile\": \"1\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/test/key-profile","description":"<p>The <strong>\"testKeyProfile\"</strong> API verifies that a key profile is correctly configured and that the system can successfully connect to and use the specified HSM or PKCS#11 device. This is useful for validating the key profile configuration before using it in CA certificate creation.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>keyProfile</td>\n<td>String</td>\n<td>Yes</td>\n<td>The name or ID of the key profile to test.  <br />  <br />ex:- \"1\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["test","key-profile"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"61b043b6-7a7d-4c97-a693-9bc6809688b7","name":"200 OK – Key profile valid","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"keyProfile\": \"1\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/test/key-profile","description":"The **\"testKeyProfile\"** API verifies that a key profile is correctly configured and that the system can successfully connect to and use the specified HSM or PKCS#11 device. This is useful for validating the key profile configuration before using it in CA certificate creation.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| keyProfile | String | Yes | The name or ID of the key profile to test.  <br>  <br>ex:- \"1\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"SUCCESS\",\n    \"errorMessage\": null\n  }\n}"},{"id":"19714902-24d1-40f2-8203-b469683b89dc","name":"400 Bad Request – Profile not found","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"keyProfile\": \"1\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/test/key-profile","description":"The **\"testKeyProfile\"** API verifies that a key profile is correctly configured and that the system can successfully connect to and use the specified HSM or PKCS#11 device. This is useful for validating the key profile configuration before using it in CA certificate creation.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| keyProfile | String | Yes | The name or ID of the key profile to test.  <br>  <br>ex:- \"1\" |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"FAILURE\",\n    \"errorMessage\": \"Key profile '1' not found or HSM not reachable\"\n  }\n}"}],"_postman_id":"f4bea156-9ccb-4a8f-949f-fde01dacff68"},{"name":"getKeyProfiles","id":"a9739161-cf37-4d7d-a32f-f017558bcffc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"}],"url":"{{baseUrl}}/get-keyProfiles/{{x_client_id}}","description":"<p>The \"<strong>getKeyProfiles</strong>\" API is used to retrieve the list of available key profiles that have been created in the CA system. The clientId is passed as a path variable.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<p><strong>Request Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>clientId</td>\n<td>String</td>\n<td>Yes</td>\n<td><strong>clientId</strong> is the unique client identifier received from emCA upon registering an external application. It needs to be passed as a path variable.  <br />  <br />Ex :- \"924e0d30-8cea-4bf4-be77-4b0e160dbaf9\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["get-keyProfiles","{{x_client_id}}"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"d6bcd266-60c5-438f-84cf-97f8e540977c","name":"200 OK – Profiles listed","originalRequest":{"method":"GET","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"}],"url":"{{baseUrl}}/get-keyProfiles/{{x_client_id}}","description":"The \"**getKeyProfiles**\" API is used to retrieve the list of available key profiles that have been created in the CA system. The clientId is passed as a path variable.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n**Request Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| clientId | String | Yes | **clientId** is the unique client identifier received from emCA upon registering an external application. It needs to be passed as a path variable.  <br>  <br>Ex :- \"924e0d30-8cea-4bf4-be77-4b0e160dbaf9\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"SUCCESS\",\n    \"errorCode\": null,\n    \"errorMessage\": null\n  },\n  \"keyProfile\": [\n    {\n      \"keyProfileId\": \"1\",\n      \"profileName\": \"PKCS11_PROFILE\",\n      \"keyProfileType\": \"PKCS11\"\n    },\n    {\n      \"keyProfileId\": \"2\",\n      \"profileName\": \"SoftHSM_Profile\",\n      \"keyProfileType\": \"PKCS11\"\n    }\n  ]\n}"},{"id":"a010e44b-fc9a-46bb-8d08-42683a4b2573","name":"200 OK – No profiles","originalRequest":{"method":"GET","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"}],"url":"{{baseUrl}}/get-keyProfiles/{{x_client_id}}","description":"The \"**getKeyProfiles**\" API is used to retrieve the list of available key profiles that have been created in the CA system. The clientId is passed as a path variable.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n**Request Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| clientId | String | Yes | **clientId** is the unique client identifier received from emCA upon registering an external application. It needs to be passed as a path variable.  <br>  <br>Ex :- \"924e0d30-8cea-4bf4-be77-4b0e160dbaf9\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"SUCCESS\",\n    \"errorCode\": null,\n    \"errorMessage\": null\n  },\n  \"keyProfile\": []\n}"}],"_postman_id":"a9739161-cf37-4d7d-a32f-f017558bcffc"},{"name":"createCA","id":"89d619c1-0b90-4e50-ac71-6aea1c9ebec4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{   \"certificateRequestDetails\": {\r\n        \"caType\": \"root\",\r\n        \"parentCAID\": \"\",\r\n        \"validityCriteria\": \"y\",\r\n        \"validityValue\": \"20\",\r\n        \"keyAlgorithm\": \"RSA2048\",\r\n        \"signingAlgorithm\": \"SHA256WithRSA\",\r\n        \"keyProfile\": \"PKCS11_PROFILE\",\r\n        \"caSubjectAttributes\": [\r\n            {\r\n                \"dataType\": \"PrintableString\",\r\n                \"oid\": \"2.5.4.3\",\r\n                \"value\": \"Test Root Certificate 2026\"\r\n            },\r\n            {\r\n                \"dataType\": \"PrintableString\",\r\n                \"oid\": \"2.5.4.10\",\r\n                \"value\": \"Example Corporation\"\r\n            },\r\n            {\r\n                \"dataType\": \"PrintableString\",\r\n                \"oid\": \"2.5.4.6\",\r\n                \"value\": \"US\"\r\n            }\r\n        ],\r\n        \"caExtensions\": {\r\n            \"basicConstraints\": {\r\n                \"isEnabled\": \"1\",\r\n                \"isCritical\": \"1\",\r\n                \"type\": \"ca\",\r\n                \"pathLength\": \"None\",\r\n                \"sortOrder\": \"1\"\r\n            },\r\n            \"keyUsageAttributes\": {\r\n                \"encipherOnly\": \"0\",\r\n                \"isEnabled\": \"1\",\r\n                \"isCritical\": \"1\",\r\n                \"nonRepudiation\": \"0\",\r\n                \"digitalSignature\": \"0\",\r\n                \"keyEncipherment\": \"0\",\r\n                \"dataEncipherment\": \"0\",\r\n                \"keyAgreement\": \"0\",\r\n                \"keyCertSign\": \"1\",\r\n                \"crlSign\": \"1\",\r\n                \"decipherOnly\": \"0\",\r\n                \"sortOrder\": \"2\"\r\n            },\r\n            \"subjectKeyIdentifier\": {\r\n                \"isEnabled\": \"1\",\r\n                \"isCritical\": \"0\",\r\n                \"sortOrder\": \"7\"\r\n            },\r\n            \"authorityKeyIdentifier\": {\r\n                \"isEnabled\": \"1\",\r\n                \"isCritical\": \"0\",\r\n                \"sortOrder\": \"3\"\r\n            },\r\n            \"certificatePolicy\": {\r\n                \"isEnabled\": \"1\",\r\n                \"isCritical\": \"0\",\r\n                \"policyOID\": [],\r\n                \"cpsURL\": \"http://pki.example.com/repository/cps/CPS.pdf\",\r\n                \"cpsPolicyOID\": \"2.16.356.100.1.8.1\",\r\n                \"sortOrder\": \"4\"\r\n            },\r\n            \"crlDistribution\": {\r\n                \"isEnabled\": \"1\",\r\n                \"isCritical\": \"0\",\r\n                \"crlURL\": \"http://pki.example.com/repository/crl/ExampleRootCA.crl\",\r\n                \"sortOrder\": \"5\"\r\n            },\r\n            \"authInfoAccess\": {\r\n                \"isEnabled\": \"1\",\r\n                \"isCritical\": \"0\",\r\n                \"ocspURL\": \"http://pki.example.com/ocsp/Example\",\r\n                \"cAIssuerURL\": \"http://pki.example.com/repository/ca/ExampleRootCA.cer\",\r\n                \"sortOrder\": \"6\"\r\n            }\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/ca","description":"<p>The \"<strong>createCA</strong>\" API is used to generate a Certificate Authority (CA) certificate based on the provided input parameters. This API can generate both self-signed CA certificates and sub CA certificates by specifying the parent CA ID. The generated CA certificate is returned in base64 encoded X509 format.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>certificateRequestDetails</td>\n<td>JSON</td>\n<td>Yes</td>\n<td>The certificateRequestDetails parameter is a required JSON object that contains specific details about the certificate to be generated.  <br />  <br />see <strong>certificateRequestDetails Fields</strong> below</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>certificateRequestDetails Fields</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>caType</td>\n<td>String</td>\n<td>Yes</td>\n<td>Specifies the type of CA certificate being generated. Possible values include \"root\" for a self-signed root CA certificate and \"subCA\" for a sub CA certificate.  <br />  <br />ex:- \"root\" or \"subCA\"</td>\n</tr>\n<tr>\n<td>parentCAID</td>\n<td>String</td>\n<td>No</td>\n<td>The ID of the parent CA. Required if generating a sub CA certificate.  <br />  <br />ex:- \"2\", \"5\"</td>\n</tr>\n<tr>\n<td>validityCriteria</td>\n<td>String</td>\n<td>Yes</td>\n<td><strong>validityCriteria (String, required)</strong>: The criteria for the certificate's validity (e.g., \"d\", \"m\", \"y\").  <br />  <br />ex:- \"d\"</td>\n</tr>\n<tr>\n<td>validityValue</td>\n<td>String</td>\n<td>Yes</td>\n<td><strong>validityValue :</strong> The value corresponding to the validity criteria (e.g., 365 for 365 days).  <br />  <br />ex:-\"365\"</td>\n</tr>\n<tr>\n<td>keyAlgorithm</td>\n<td>String</td>\n<td>Yes</td>\n<td>The key algorithm and size used to generate the key.  <br />see <strong>Supported Algorithms</strong> below  <br />  <br />ex:- \"RSA2048\"</td>\n</tr>\n<tr>\n<td>signingAlgorithm</td>\n<td>String</td>\n<td>Yes</td>\n<td>The algorithm used to sign the certificate.  <br />  <br />see <strong>Supported Algorithms</strong> below  <br />  <br />ex:- \"SHA256WithRSA\"</td>\n</tr>\n<tr>\n<td>keyProfile</td>\n<td>String</td>\n<td>No</td>\n<td>This is created from emCA by the administrator and specifies the key profile name, indicating whether keys are created for a particular device such as HSM or PKCS12.  <br />  <br />Ex:- \"HSMProfile\"</td>\n</tr>\n<tr>\n<td>caSubjectAttributes</td>\n<td>ArrayList of Object</td>\n<td>Yes</td>\n<td><strong>caSubjectAttributes (Array, required)</strong>: An array of objects containing the subject attributes of the CA certificate. Each object includes:  <br /><strong>dataType</strong> (String, required): The data type of the attribute (e.g., \"PrintableString\").  <br /><strong>oid</strong> (String, required): The Object Identifier (OID) for the attribute.  <br /><strong>value</strong> (String, required): The value of the attribute.  <br />  <br />ex:-  <br />[  <br />{  <br />\"dataType\": \"PrintableString\",  <br />\"oid\": \"2.5.4.3\",  <br />\"value\": \"common name\"  <br />},  <br />\"dataType\": \"Utif8String\",  <br />\"oid\": \"2.5.4.6\",  <br />\"value\": \"IN\"  <br />}  <br />]</td>\n</tr>\n<tr>\n<td>caExtensions</td>\n<td>JSON</td>\n<td>Yes</td>\n<td><strong>caExtensions</strong> (Object, optional): A JSON object containing additional X509 extensions for the certificate such as keyUsage, authInfoAccess, certificatePolicy etc  <br />see <strong>caExtensions Fields</strong> below  <br />  <br />ex:-  <br />\"basicConstraints\": {  <br />\"isEnabled\": \"0\",  <br />\"isCritical\": \"0\",  <br />\"type\": \"root\",  <br />\"pathLength\": \"none\",  <br />\"sortOrder\": \"2\"  <br />},  <br />\"authInfoAccess\": {  <br />\"isEnabled\": \"0\",  <br />\"isCritical\": \"0\",  <br />\"ocspURL\": \"<a href=\"http://example.com/ocsp\">http://example.com/ocsp</a>,  <br />\"cAIssuerURL\": \"<a href=\"http://example.com/ca/testca.cer\">http://example.com/ca/testca.cer</a>,  <br />\"sortOrder\": \"1\"  <br />}</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Supported Algorithms</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Type of Key algorithm</th>\n<th>Supported key algorithm and Sizes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>RSA</td>\n<td>RSA1024, RSA2048, RSA3072, RSA4096, and RSA8192</td>\n</tr>\n<tr>\n<td>ECDSA secp</td>\n<td>ECC256, ECC384 and ECC521</td>\n</tr>\n<tr>\n<td>ECDSA Brainpool</td>\n<td>B-ECDSA-256, B-ECDSA-384 and B-ECDSA-512</td>\n</tr>\n<tr>\n<td>ECDSA Prime</td>\n<td>P-ECDSA-256, P-ECDSA-384 and P-ECDSA-521</td>\n</tr>\n<tr>\n<td>EDDSA</td>\n<td>Ed25519</td>\n</tr>\n<tr>\n<td>PQC</td>\n<td>DILITHIUM2, DILITHIUM3, DILITHIUM5, FALCON-512, FALCON-1024, sha2_256f, sha2_256s, sha2_128f, sha2_128s, sha2_192f, sha2_192s, shake_128f, shake_128s, shake_192f, hake_192s, shake_256f, shake_256s, haraka_192f, haraka_192s, haraka_256f, haraka_256s and haraka_128f</td>\n</tr>\n</tbody>\n</table>\n</div><div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Type of Signature algorithms</th>\n<th>Supported algorithms</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>RSA</td>\n<td>SHA1WithRSA, SHA256WithRSA, SHA384WithRSA, SHA512WithRSA and SHA512WithRSA</td>\n</tr>\n<tr>\n<td>ECDSA</td>\n<td>SHA1WithECDSA, SHA256WithECDSA, SHA384WithECDSA and SHA512WithECDSA</td>\n</tr>\n<tr>\n<td>PQC</td>\n<td>DILITHIUM2, DILITHIUM3, DILITHIUM5, FALCON-512, FALCON-1024, and SPHINCSPlus</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>caExtensions Fields</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>basicConstraints</td>\n<td>JSON</td>\n<td>Yes</td>\n<td><strong>basicConstraints</strong>: Specifies whether the certificate is a CA certificate and its criticality, including type and path length constraints.  <br />this parameter is a required JSON object that contains specific details such as below  <br />  <br /><strong>isEnabled</strong> (String, required): Indicates if the basic constraints extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br /><strong>isCritical</strong> (String, required): Indicates if the basic constraints extension is critical (\"1\" for enabled, \"0\" for disabled).  <br /><strong>type</strong> (String, required): Specifies the type of CA (e.g., \"root\", \"subCA\").  <br /><strong>pathLength</strong> (String, required): Specifies the maximum depth of valid certification paths that include this certificate.  <br />sortOrder (String, required): Specifies the order in which this extension is processed.  <br />  <br />ex:-  <br />{  <br />\"isEnabled\": \"0\",  <br />\"isCritical\": \"0\",  <br />\"type\": \"root\",  <br />\"pathLength\": \"none\",  <br />\"sortOrder\": \"2\"  <br />}</td>\n</tr>\n<tr>\n<td>authInfoAccess</td>\n<td></td>\n<td>No</td>\n<td><strong>authInfoAccess</strong>: Contains URLs for OCSP responder and CA issuer, providing authority information access.  <br />  <br />this parameter is a required JSON object that contains specific details such as below  <br />  <br /><strong>isEnabled</strong> (String, required): Indicates if the authority information access extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br /><strong>isCritical</strong> (String, required): Indicates if the authority information access extension is critical (\"1\" for enabled, \"0\" for disabled).  <br /><strong>ocspURL</strong> (String, required): URL of the OCSP responder.  <br />cAIssuerURL (String, required): URL of the CA issuer certificate.  <br /><strong>sortOrder</strong> (String, required): Specifies the order in which this extension is processed.  <br />  <br />{  <br />\"isEnabled\": \"0\",  <br />\"isCritical\": \"0\",  <br />\"ocspURL\": \"<a href=\"http://example.com/ocsp\">http://example.com/ocsp</a>,  <br />\"cAIssuerURL\": \"<a href=\"http://example.com/ca/testca.cer\">http://example.com/ca/testca.cer</a>,  <br />\"sortOrder\": \"1\"  <br />}</td>\n</tr>\n<tr>\n<td>certificatePolicy</td>\n<td>JSON</td>\n<td>No</td>\n<td><strong>certificatePolicy</strong>: Defines policies under which the certificate was issued, including policy OIDs and CPS URLs.  <br />this parameter is a required JSON object that contains specific details such as below  <br />  <br /><strong>isEnabled</strong> (String, required): Indicates if the certificate policy extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br /><strong>isCritical</strong> (String, required): Indicates if the certificate policy extension is critical (\"1\" for enabled, \"0\" for disabled).  <br />policyOID (Array, required): An array of objects defining policy OIDs and optional user notice texts.  <br />oid (String, required): The Object Identifier for the policy.  <br />noticeText (String, required): Optional text notice for the policy.  <br />cpsURL (String, required): URL of the Certification Practice Statement.  <br />cpsPolicyOID (String, required): OID for the CPS policy.  <br />sortOrder (String, required): Specifies the order in which this extension is processed.  <br />  <br />ex:-  <br />{  <br />\"isEnabled\": \"0\",  <br />\"isCritical\": \"0\",  <br />\"policyOID\": [  <br />{  <br />\"oid\": \"1.3.24.33.34.34\",  <br />\"noticeText\": \"User Notice\"  <br />}  <br />],  <br />\"cpsURL\": \"<a href=\"http://www.example.com/repository/cps/test.pdf\">http://www.example.com/repository/cps/test.pdf</a>,  <br />\"cpsPolicyOID\": \"2.16.356.100.1.8.2\",  <br />\"sortOrder\": \"3\"  <br />}</td>\n</tr>\n<tr>\n<td>crlDistribution</td>\n<td></td>\n<td>No</td>\n<td><strong>crlDistribution</strong>: Provides URLs where the CRL (Certificate Revocation List) can be accessed.  <br />this parameter is a required JSON object that contains specific details such as below  <br />  <br /><strong>isEnabled</strong> (String, required): Indicates if the CRL distribution points extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br /><strong>isCritical</strong> (String, required): Indicates if the CRL distribution points extension is critical (\"1\" for enabled, \"0\" for disabled).  <br /><strong>crlURL</strong> (String, required): URL of the CRL.  <br /><strong>sortOrder</strong> (String, required): Specifies the order in which this extension is processed.  <br />  <br />ex:-  <br />{  <br />\"isEnabled\": \"0\",  <br />\"isCritical\": \"0\",  <br />\"crlURL\": \"<a href=\"http://www.example.com/repository/crls/test.crl\">http://www.example.com/repository/crls/test.crl</a>,  <br />\"sortOrder\": \"4\"  <br />}</td>\n</tr>\n<tr>\n<td>keyUsageAttributes</td>\n<td>JSON</td>\n<td>Yes</td>\n<td><strong>keyUsageAttributes</strong>: Defines the purpose of the key contained in the certificate, such as signing or enciphering.  <br />this parameter is a required JSON object that contains specific details.  <br />  <br /><strong>isEnabled</strong> (String, required): Indicates if the key usage extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br />  <br /><strong>isCritical</strong> (String, required): Indicates if the key usage extension is critical (\"1\" for enabled, \"0\" for disabled).  <br />  <br /><strong>encipherOnly</strong> (String, required): Indicates if the key is used for enciphering only.  <br />  <br /><strong>nonRepudiation</strong> (String, required): Indicates if the key is used for non-repudiation.  <br />  <br /><strong>digitalSignature</strong> (String, required): Indicates if the key is used for digital signatures.  <br />  <br /><strong>keyEncipherment</strong> (String, required): Indicates if the key is used for key encipherment.  <br />dataEncipherment (String, required): Indicates if the key is used for data encipherment.  <br />  <br /><strong>keyAgreement</strong> (String, required): Indicates if the key is used for key agreement.  <br />keyCertSign (String, required): Indicates if the key is used for signing certificates.  <br />  <br /><strong>crlSign</strong> (String, required): Indicates if the key is used for signing CRLs.  <br />  <br /><strong>decipherOnly</strong> (String, required): Indicates if the key is used for deciphering only.  <br />  <br /><strong>sortOrder</strong> (String, required): Specifies the order in which this extension is processed.  <br />ex:-  <br />{  <br />\"isEnabled\": \"0\",  <br />\"encipherOnly\": \"0\",  <br />\"isCritical\": \"0\",  <br />\"nonRepudiation\": \"0\",  <br />\"digitalSignature\": \"0\",  <br />\"keyEncipherment\": \"0\",  <br />\"dataEncipherment\": \"0\",  <br />\"keyAgreement\": \"0\",  <br />\"keyCertSign\": \"0\",  <br />\"crlSign\": \"0\",  <br />\"decipherOnly\": \"0\",  <br />\"sortOrder\": \"5\"  <br />}</td>\n</tr>\n<tr>\n<td>extendedKeyUsageAttributes</td>\n<td></td>\n<td>No</td>\n<td><strong>extendedKeyUsageAttributes</strong>: Specifies additional key usages for the certificate, such as server authentication or email protection.  <br />  <br />this parameter is a required JSON object that contains specific details.  <br />  <br /><strong>isEnabled</strong> (String, required): Indicates if the extended key usage extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br />  <br /><strong>isCritical</strong> (String, required): Indicates if the extended key usage extension is critical (\"1\" for enabled, \"0\" for disabled).  <br />  <br /><strong>serverAuthentication</strong> (String, required): Indicates if the key is used for server authentication.  <br />  <br /><strong>clientAuthentication</strong> (String, required): Indicates if the key is used for client authentication.  <br />  <br /><strong>codeSigning</strong> (String, required): Indicates if the key is used for code signing.  <br />  <br /><strong>emailProtection</strong> (String, required): Indicates if the key is used for email protection.  <br />  <br /><strong>timeStamping</strong> (String, required): Indicates if the key is used for timestamping.  <br />  <br /><strong>ocspSigning</strong> (String, required): Indicates if the key is used for OCSP signing.  <br />  <br /><strong>msftDocumentSigning</strong> (String, required): Indicates if the key is used for Microsoft document signing.  <br />  <br />smartCardLogon (String, required): Indicates if the key is used for smart card logon.  <br />  <br /><strong>adobeCertifiedDocumentSigning</strong> (String, required): Indicates if the key is used for Adobe certified document signing.  <br />  <br /><strong>encryptionFileSystem</strong> (String, required): Indicates if the key is used for the encryption file system.  <br /><strong>sortOrder</strong> (String, required): Specifies the order in which this extension is processed.  <br />  <br />ex:-  <br />{  <br />\"isEnabled\": \"0\",  <br />\"isCritical\": \"0\",  <br />\"serverAuthentication\": \"0\",  <br />\"clientAuthentication\": \"0\",  <br />\"codeSigning\": \"0\",  <br />\"emailProtection\": \"0\",  <br />\"timeStamping\": \"0\",  <br />\"ocspSigning\": \"0\",  <br />\"msftDocumentSigning\": \"0\",  <br />\"smartCardLogon\": \"0\",  <br />\"adobeCertifiedDocumentSigning\": \"0\",  <br />\"encryptionFileSystem\": \"0\",  <br />\"sortOrder\": \"6\"  <br />}</td>\n</tr>\n<tr>\n<td>subjectKeyIdentifier</td>\n<td></td>\n<td>Yes</td>\n<td><strong>subjectKeyIdentifier</strong>: Provides a unique identifier for the certificate's public key.  <br />  <br /><strong>isEnabled</strong> (String, required): Indicates if the subject key identifier extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br /><strong>isCritical</strong> (String, required): Indicates if the subject key identifier extension is critical (\"1\" for enabled, \"0\" for disabled).  <br /><strong>sortOrder</strong> (String, required): Specifies the order in which this extension is processed.  <br />  <br />ex:-  <br />{  <br />\"isEnabled\": \"0\",  <br />\"isCritical\": \"0\",  <br />\"sortOrder\": \"6\"  <br />}</td>\n</tr>\n<tr>\n<td>authorityKeyIdentifier</td>\n<td></td>\n<td>Yes</td>\n<td><strong>authorityKeyIdentifier</strong>: Provides a unique identifier for the key used to sign the certificate.  <br />  <br /><strong>isEnabled</strong> (String, required): Indicates if the authority key identifier extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br /><strong>isCritical</strong> (String, required): Indicates if the authority key identifier extension is critical (\"1\" for enabled, \"0\" for disabled).  <br /><strong>sortOrder</strong> (String, required): Specifies the order in which this extension is processed.  <br />  <br />{  <br />\"isEnabled\": \"0\",  <br />\"isCritical\": \"0\",  <br />\"sortOrder\": \"7\"  <br />}</td>\n</tr>\n<tr>\n<td>sanDetails</td>\n<td></td>\n<td>No</td>\n<td><strong>sanDetails</strong>: Specifies the Subject Alternative Name (SAN) attributes, including types and values.  <br />  <br /><strong>isCritical</strong> (String, required): Indicates if the SAN extension is critical (\"1\" for enabled, \"0\" for disabled).  <br />  <br /><strong>isEnabled</strong> (String, required): Indicates if the SAN extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br />  <br /><strong>sortOrder</strong> (String, required): Specifies the order in which this extension is processed.  <br />  <br /><strong>attri</strong>butes (Array, required): An array of objects specifying SAN attributes, each containing:  <br />  <br /><strong>type</strong> (String, required): The type of SAN (e.g., \"rfc822Name\").  <br />  <br /><strong>value</strong> (String, required): The value of the SAN attribute.  <br />  <br /><strong>isMandatory</strong> (String, required): Indicates if the SAN attribute is mandatory.  <br />  <br />ex:-  <br />{  <br />\"isCritical\": \"0\",  <br />\"isEnabled\": \"0\",  <br />\"sortOrder\": \"1\",  <br />\"attributes\": [  <br />{  <br />\"type\": \"rfc822Name\",  <br />\"value\": \"<a href=\"https://mailto:test@test.com\">test@test.com</a>\",  <br />\"isMandatory\": \"0\"  <br />}  <br />]  <br />}</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Note — crlDistribution:</strong> The <code>crlURLs</code> field (Array of Strings) can be used in place of the single <code>crlURL</code> field to specify multiple CRL distribution point URLs. When <code>crlURLs</code> is provided it takes precedence over <code>crlURL</code>.</p>\n","urlObject":{"path":["create","ca"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"e166504d-edc7-40f0-a486-beb438f6c214","name":"200 OK – CA created","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{   \"certificateRequestDetails\": {\r\n        \"caType\": \"root\",\r\n        \"parentCAID\": \"\",\r\n        \"validityCriteria\": \"y\",\r\n        \"validityValue\": \"20\",\r\n        \"keyAlgorithm\": \"RSA2048\",\r\n        \"signingAlgorithm\": \"SHA256WithRSA\",\r\n        \"keyProfile\": \"PKCS11_PROFILE\",\r\n        \"caSubjectAttributes\": [\r\n            {\r\n                \"dataType\": \"PrintableString\",\r\n                \"oid\": \"2.5.4.3\",\r\n                \"value\": \"Test Root Certificate 2026\"\r\n            },\r\n            {\r\n                \"dataType\": \"PrintableString\",\r\n                \"oid\": \"2.5.4.10\",\r\n                \"value\": \"Example Corporation\"\r\n            },\r\n            {\r\n                \"dataType\": \"PrintableString\",\r\n                \"oid\": \"2.5.4.6\",\r\n                \"value\": \"US\"\r\n            }\r\n        ],\r\n        \"caExtensions\": {\r\n            \"basicConstraints\": {\r\n                \"isEnabled\": \"1\",\r\n                \"isCritical\": \"1\",\r\n                \"type\": \"ca\",\r\n                \"pathLength\": \"None\",\r\n                \"sortOrder\": \"1\"\r\n            },\r\n            \"keyUsageAttributes\": {\r\n                \"encipherOnly\": \"0\",\r\n                \"isEnabled\": \"1\",\r\n                \"isCritical\": \"1\",\r\n                \"nonRepudiation\": \"0\",\r\n                \"digitalSignature\": \"0\",\r\n                \"keyEncipherment\": \"0\",\r\n                \"dataEncipherment\": \"0\",\r\n                \"keyAgreement\": \"0\",\r\n                \"keyCertSign\": \"1\",\r\n                \"crlSign\": \"1\",\r\n                \"decipherOnly\": \"0\",\r\n                \"sortOrder\": \"2\"\r\n            },\r\n            \"subjectKeyIdentifier\": {\r\n                \"isEnabled\": \"1\",\r\n                \"isCritical\": \"0\",\r\n                \"sortOrder\": \"7\"\r\n            },\r\n            \"authorityKeyIdentifier\": {\r\n                \"isEnabled\": \"1\",\r\n                \"isCritical\": \"0\",\r\n                \"sortOrder\": \"3\"\r\n            },\r\n            \"certificatePolicy\": {\r\n                \"isEnabled\": \"1\",\r\n                \"isCritical\": \"0\",\r\n                \"policyOID\": [],\r\n                \"cpsURL\": \"http://pki.example.com/repository/cps/CPS.pdf\",\r\n                \"cpsPolicyOID\": \"2.16.356.100.1.8.1\",\r\n                \"sortOrder\": \"4\"\r\n            },\r\n            \"crlDistribution\": {\r\n                \"isEnabled\": \"1\",\r\n                \"isCritical\": \"0\",\r\n                \"crlURL\": \"http://pki.example.com/repository/crl/ExampleRootCA.crl\",\r\n                \"sortOrder\": \"5\"\r\n            },\r\n            \"authInfoAccess\": {\r\n                \"isEnabled\": \"1\",\r\n                \"isCritical\": \"0\",\r\n                \"ocspURL\": \"http://pki.example.com/ocsp/Example\",\r\n                \"cAIssuerURL\": \"http://pki.example.com/repository/ca/ExampleRootCA.cer\",\r\n                \"sortOrder\": \"6\"\r\n            }\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/ca","description":"The \"**createCA**\" API is used to generate a Certificate Authority (CA) certificate based on the provided input parameters. This API can generate both self-signed CA certificates and sub CA certificates by specifying the parent CA ID. The generated CA certificate is returned in base64 encoded X509 format.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| certificateRequestDetails | JSON | Yes | The certificateRequestDetails parameter is a required JSON object that contains specific details about the certificate to be generated.  <br>  <br>see **certificateRequestDetails Fields** below |\n\n**certificateRequestDetails Fields**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| caType | String | Yes | Specifies the type of CA certificate being generated. Possible values include \"root\" for a self-signed root CA certificate and \"subCA\" for a sub CA certificate.  <br>  <br>ex:- \"root\" or \"subCA\" |\n| parentCAID | String | No | The ID of the parent CA. Required if generating a sub CA certificate.  <br>  <br>ex:- \"2\", \"5\" |\n| validityCriteria | String | Yes | **validityCriteria (String, required)**: The criteria for the certificate's validity (e.g., \"d\", \"m\", \"y\").  <br>  <br>ex:- \"d\" |\n| validityValue | String | Yes | **validityValue :** The value corresponding to the validity criteria (e.g., 365 for 365 days).  <br>  <br>ex:-\"365\" |\n| keyAlgorithm | String | Yes | The key algorithm and size used to generate the key.  <br>see **Supported Algorithms** below  <br>  <br>ex:- \"RSA2048\" |\n| signingAlgorithm | String | Yes | The algorithm used to sign the certificate.  <br>  <br>see **Supported Algorithms** below  <br>  <br>ex:- \"SHA256WithRSA\" |\n| keyProfile | String | No | This is created from emCA by the administrator and specifies the key profile name, indicating whether keys are created for a particular device such as HSM or PKCS12.  <br>  <br>Ex:- \"HSMProfile\" |\n| caSubjectAttributes | ArrayList of Object | Yes | **caSubjectAttributes (Array, required)**: An array of objects containing the subject attributes of the CA certificate. Each object includes:  <br>**dataType** (String, required): The data type of the attribute (e.g., \"PrintableString\").  <br>**oid** (String, required): The Object Identifier (OID) for the attribute.  <br>**value** (String, required): The value of the attribute.  <br>  <br>ex:-  <br>\\[  <br>{  <br>\"dataType\": \"PrintableString\",  <br>\"oid\": \"2.5.4.3\",  <br>\"value\": \"common name\"  <br>},  <br>\"dataType\": \"Utif8String\",  <br>\"oid\": \"2.5.4.6\",  <br>\"value\": \"IN\"  <br>}  <br>\\] |\n| caExtensions | JSON | Yes | **caExtensions** (Object, optional): A JSON object containing additional X509 extensions for the certificate such as keyUsage, authInfoAccess, certificatePolicy etc  <br>see **caExtensions Fields** below  <br>  <br>ex:-  <br>\"basicConstraints\": {  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"type\": \"root\",  <br>\"pathLength\": \"none\",  <br>\"sortOrder\": \"2\"  <br>},  <br>\"authInfoAccess\": {  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"ocspURL\": \"http://example.com/ocsp,  <br>\"cAIssuerURL\": \"http://example.com/ca/testca.cer,  <br>\"sortOrder\": \"1\"  <br>} |\n\n**Supported Algorithms**\n\n| Type of Key algorithm | Supported key algorithm and Sizes |\n|-----------|-------------|\n| RSA | RSA1024, RSA2048, RSA3072, RSA4096, and RSA8192 |\n| ECDSA secp | ECC256, ECC384 and ECC521 |\n| ECDSA Brainpool | B-ECDSA-256, B-ECDSA-384 and B-ECDSA-512 |\n| ECDSA Prime | P-ECDSA-256, P-ECDSA-384 and P-ECDSA-521 |\n| EDDSA | Ed25519 |\n| PQC | DILITHIUM2, DILITHIUM3, DILITHIUM5, FALCON-512, FALCON-1024, sha2_256f, sha2_256s, sha2_128f, sha2_128s, sha2_192f, sha2_192s, shake_128f, shake_128s, shake_192f, hake_192s, shake_256f, shake_256s, haraka_192f, haraka_192s, haraka_256f, haraka_256s and haraka_128f |\n\n| Type of Signature algorithms | Supported algorithms |\n|-----------|-------------|\n| RSA | SHA1WithRSA, SHA256WithRSA, SHA384WithRSA, SHA512WithRSA and SHA512WithRSA |\n| ECDSA | SHA1WithECDSA, SHA256WithECDSA, SHA384WithECDSA and SHA512WithECDSA |\n| PQC | DILITHIUM2, DILITHIUM3, DILITHIUM5, FALCON-512, FALCON-1024, and SPHINCSPlus |\n\n**caExtensions Fields**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| basicConstraints | JSON | Yes | **basicConstraints**: Specifies whether the certificate is a CA certificate and its criticality, including type and path length constraints.  <br>this parameter is a required JSON object that contains specific details such as below  <br>  <br>**isEnabled** (String, required): Indicates if the basic constraints extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the basic constraints extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>**type** (String, required): Specifies the type of CA (e.g., \"root\", \"subCA\").  <br>**pathLength** (String, required): Specifies the maximum depth of valid certification paths that include this certificate.  <br>sortOrder (String, required): Specifies the order in which this extension is processed.  <br>  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"type\": \"root\",  <br>\"pathLength\": \"none\",  <br>\"sortOrder\": \"2\"  <br>} |\n| authInfoAccess |  | No | **authInfoAccess**: Contains URLs for OCSP responder and CA issuer, providing authority information access.  <br>  <br>this parameter is a required JSON object that contains specific details such as below  <br>  <br>**isEnabled** (String, required): Indicates if the authority information access extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the authority information access extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>**ocspURL** (String, required): URL of the OCSP responder.  <br>cAIssuerURL (String, required): URL of the CA issuer certificate.  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"ocspURL\": \"http://example.com/ocsp,  <br>\"cAIssuerURL\": \"http://example.com/ca/testca.cer,  <br>\"sortOrder\": \"1\"  <br>} |\n| certificatePolicy | JSON | No | **certificatePolicy**: Defines policies under which the certificate was issued, including policy OIDs and CPS URLs.  <br>this parameter is a required JSON object that contains specific details such as below  <br>  <br>**isEnabled** (String, required): Indicates if the certificate policy extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the certificate policy extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>policyOID (Array, required): An array of objects defining policy OIDs and optional user notice texts.  <br>oid (String, required): The Object Identifier for the policy.  <br>noticeText (String, required): Optional text notice for the policy.  <br>cpsURL (String, required): URL of the Certification Practice Statement.  <br>cpsPolicyOID (String, required): OID for the CPS policy.  <br>sortOrder (String, required): Specifies the order in which this extension is processed.  <br>  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"policyOID\": \\[  <br>{  <br>\"oid\": \"1.3.24.33.34.34\",  <br>\"noticeText\": \"User Notice\"  <br>}  <br>\\],  <br>\"cpsURL\": \"http://www.example.com/repository/cps/test.pdf,  <br>\"cpsPolicyOID\": \"2.16.356.100.1.8.2\",  <br>\"sortOrder\": \"3\"  <br>} |\n| crlDistribution |  | No | **crlDistribution**: Provides URLs where the CRL (Certificate Revocation List) can be accessed.  <br>this parameter is a required JSON object that contains specific details such as below  <br>  <br>**isEnabled** (String, required): Indicates if the CRL distribution points extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the CRL distribution points extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>**crlURL** (String, required): URL of the CRL.  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"crlURL\": \"http://www.example.com/repository/crls/test.crl,  <br>\"sortOrder\": \"4\"  <br>} |\n| keyUsageAttributes | JSON | Yes | **keyUsageAttributes**: Defines the purpose of the key contained in the certificate, such as signing or enciphering.  <br>this parameter is a required JSON object that contains specific details.  <br>  <br>**isEnabled** (String, required): Indicates if the key usage extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**isCritical** (String, required): Indicates if the key usage extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**encipherOnly** (String, required): Indicates if the key is used for enciphering only.  <br>  <br>**nonRepudiation** (String, required): Indicates if the key is used for non-repudiation.  <br>  <br>**digitalSignature** (String, required): Indicates if the key is used for digital signatures.  <br>  <br>**keyEncipherment** (String, required): Indicates if the key is used for key encipherment.  <br>dataEncipherment (String, required): Indicates if the key is used for data encipherment.  <br>  <br>**keyAgreement** (String, required): Indicates if the key is used for key agreement.  <br>keyCertSign (String, required): Indicates if the key is used for signing certificates.  <br>  <br>**crlSign** (String, required): Indicates if the key is used for signing CRLs.  <br>  <br>**decipherOnly** (String, required): Indicates if the key is used for deciphering only.  <br>  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"encipherOnly\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"nonRepudiation\": \"0\",  <br>\"digitalSignature\": \"0\",  <br>\"keyEncipherment\": \"0\",  <br>\"dataEncipherment\": \"0\",  <br>\"keyAgreement\": \"0\",  <br>\"keyCertSign\": \"0\",  <br>\"crlSign\": \"0\",  <br>\"decipherOnly\": \"0\",  <br>\"sortOrder\": \"5\"  <br>} |\n| extendedKeyUsageAttributes |  | No | **extendedKeyUsageAttributes**: Specifies additional key usages for the certificate, such as server authentication or email protection.  <br>  <br>this parameter is a required JSON object that contains specific details.  <br>  <br>**isEnabled** (String, required): Indicates if the extended key usage extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**isCritical** (String, required): Indicates if the extended key usage extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**serverAuthentication** (String, required): Indicates if the key is used for server authentication.  <br>  <br>**clientAuthentication** (String, required): Indicates if the key is used for client authentication.  <br>  <br>**codeSigning** (String, required): Indicates if the key is used for code signing.  <br>  <br>**emailProtection** (String, required): Indicates if the key is used for email protection.  <br>  <br>**timeStamping** (String, required): Indicates if the key is used for timestamping.  <br>  <br>**ocspSigning** (String, required): Indicates if the key is used for OCSP signing.  <br>  <br>**msftDocumentSigning** (String, required): Indicates if the key is used for Microsoft document signing.  <br>  <br>smartCardLogon (String, required): Indicates if the key is used for smart card logon.  <br>  <br>**adobeCertifiedDocumentSigning** (String, required): Indicates if the key is used for Adobe certified document signing.  <br>  <br>**encryptionFileSystem** (String, required): Indicates if the key is used for the encryption file system.  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"serverAuthentication\": \"0\",  <br>\"clientAuthentication\": \"0\",  <br>\"codeSigning\": \"0\",  <br>\"emailProtection\": \"0\",  <br>\"timeStamping\": \"0\",  <br>\"ocspSigning\": \"0\",  <br>\"msftDocumentSigning\": \"0\",  <br>\"smartCardLogon\": \"0\",  <br>\"adobeCertifiedDocumentSigning\": \"0\",  <br>\"encryptionFileSystem\": \"0\",  <br>\"sortOrder\": \"6\"  <br>} |\n| subjectKeyIdentifier |  | Yes | **subjectKeyIdentifier**: Provides a unique identifier for the certificate's public key.  <br>  <br>**isEnabled** (String, required): Indicates if the subject key identifier extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the subject key identifier extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"sortOrder\": \"6\"  <br>} |\n| authorityKeyIdentifier |  | Yes | **authorityKeyIdentifier**: Provides a unique identifier for the key used to sign the certificate.  <br>  <br>**isEnabled** (String, required): Indicates if the authority key identifier extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the authority key identifier extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"sortOrder\": \"7\"  <br>} |\n| sanDetails |  | No | **sanDetails**: Specifies the Subject Alternative Name (SAN) attributes, including types and values.  <br>  <br>**isCritical** (String, required): Indicates if the SAN extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**isEnabled** (String, required): Indicates if the SAN extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>**attri**butes (Array, required): An array of objects specifying SAN attributes, each containing:  <br>  <br>**type** (String, required): The type of SAN (e.g., \"rfc822Name\").  <br>  <br>**value** (String, required): The value of the SAN attribute.  <br>  <br>**isMandatory** (String, required): Indicates if the SAN attribute is mandatory.  <br>  <br>ex:-  <br>{  <br>\"isCritical\": \"0\",  <br>\"isEnabled\": \"0\",  <br>\"sortOrder\": \"1\",  <br>\"attributes\": \\[  <br>{  <br>\"type\": \"rfc822Name\",  <br>\"value\": \"[test@test.com](https://mailto:test@test.com)\",  <br>\"isMandatory\": \"0\"  <br>}  <br>\\]  <br>} |\n\n**Note — crlDistribution:** The `crlURLs` field (Array of Strings) can be used in place of the single `crlURL` field to specify multiple CRL distribution point URLs. When `crlURLs` is provided it takes precedence over `crlURL`."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"SUCCESS\",\n    \"errorCode\": null,\n    \"errorMessage\": null\n  },\n  \"certificateDetails\": {\n    \"caId\": \"1\",\n    \"commonName\": \"Test Root Certificate 2026\",\n    \"caType\": \"root\",\n    \"serialNumber\": \"7a3f2e1d0c9b8a4f\",\n    \"validFrom\": \"2026-01-01T00:00:00\",\n    \"expiryDate\": \"2046-01-01T00:00:00\",\n    \"certificateData\": \"MIID6TCCAtGgAwIBAgIUejProtO/R/base64==\",\n    \"status\": \"ACTIVE\"\n  }\n}"},{"id":"f40da202-10f9-41af-baab-bda36cdc817c","name":"400 Bad Request – Invalid parameters","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{   \"certificateRequestDetails\": {\r\n        \"caType\": \"root\",\r\n        \"parentCAID\": \"\",\r\n        \"validityCriteria\": \"y\",\r\n        \"validityValue\": \"20\",\r\n        \"keyAlgorithm\": \"RSA2048\",\r\n        \"signingAlgorithm\": \"SHA256WithRSA\",\r\n        \"keyProfile\": \"PKCS11_PROFILE\",\r\n        \"caSubjectAttributes\": [\r\n            {\r\n                \"dataType\": \"PrintableString\",\r\n                \"oid\": \"2.5.4.3\",\r\n                \"value\": \"Test Root Certificate 2026\"\r\n            },\r\n            {\r\n                \"dataType\": \"PrintableString\",\r\n                \"oid\": \"2.5.4.10\",\r\n                \"value\": \"Example Corporation\"\r\n            },\r\n            {\r\n                \"dataType\": \"PrintableString\",\r\n                \"oid\": \"2.5.4.6\",\r\n                \"value\": \"US\"\r\n            }\r\n        ],\r\n        \"caExtensions\": {\r\n            \"basicConstraints\": {\r\n                \"isEnabled\": \"1\",\r\n                \"isCritical\": \"1\",\r\n                \"type\": \"ca\",\r\n                \"pathLength\": \"None\",\r\n                \"sortOrder\": \"1\"\r\n            },\r\n            \"keyUsageAttributes\": {\r\n                \"encipherOnly\": \"0\",\r\n                \"isEnabled\": \"1\",\r\n                \"isCritical\": \"1\",\r\n                \"nonRepudiation\": \"0\",\r\n                \"digitalSignature\": \"0\",\r\n                \"keyEncipherment\": \"0\",\r\n                \"dataEncipherment\": \"0\",\r\n                \"keyAgreement\": \"0\",\r\n                \"keyCertSign\": \"1\",\r\n                \"crlSign\": \"1\",\r\n                \"decipherOnly\": \"0\",\r\n                \"sortOrder\": \"2\"\r\n            },\r\n            \"subjectKeyIdentifier\": {\r\n                \"isEnabled\": \"1\",\r\n                \"isCritical\": \"0\",\r\n                \"sortOrder\": \"7\"\r\n            },\r\n            \"authorityKeyIdentifier\": {\r\n                \"isEnabled\": \"1\",\r\n                \"isCritical\": \"0\",\r\n                \"sortOrder\": \"3\"\r\n            },\r\n            \"certificatePolicy\": {\r\n                \"isEnabled\": \"1\",\r\n                \"isCritical\": \"0\",\r\n                \"policyOID\": [],\r\n                \"cpsURL\": \"http://pki.example.com/repository/cps/CPS.pdf\",\r\n                \"cpsPolicyOID\": \"2.16.356.100.1.8.1\",\r\n                \"sortOrder\": \"4\"\r\n            },\r\n            \"crlDistribution\": {\r\n                \"isEnabled\": \"1\",\r\n                \"isCritical\": \"0\",\r\n                \"crlURL\": \"http://pki.example.com/repository/crl/ExampleRootCA.crl\",\r\n                \"sortOrder\": \"5\"\r\n            },\r\n            \"authInfoAccess\": {\r\n                \"isEnabled\": \"1\",\r\n                \"isCritical\": \"0\",\r\n                \"ocspURL\": \"http://pki.example.com/ocsp/Example\",\r\n                \"cAIssuerURL\": \"http://pki.example.com/repository/ca/ExampleRootCA.cer\",\r\n                \"sortOrder\": \"6\"\r\n            }\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/ca","description":"The \"**createCA**\" API is used to generate a Certificate Authority (CA) certificate based on the provided input parameters. This API can generate both self-signed CA certificates and sub CA certificates by specifying the parent CA ID. The generated CA certificate is returned in base64 encoded X509 format.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| certificateRequestDetails | JSON | Yes | The certificateRequestDetails parameter is a required JSON object that contains specific details about the certificate to be generated.  <br>  <br>see **certificateRequestDetails Fields** below |\n\n**certificateRequestDetails Fields**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| caType | String | Yes | Specifies the type of CA certificate being generated. Possible values include \"root\" for a self-signed root CA certificate and \"subCA\" for a sub CA certificate.  <br>  <br>ex:- \"root\" or \"subCA\" |\n| parentCAID | String | No | The ID of the parent CA. Required if generating a sub CA certificate.  <br>  <br>ex:- \"2\", \"5\" |\n| validityCriteria | String | Yes | **validityCriteria (String, required)**: The criteria for the certificate's validity (e.g., \"d\", \"m\", \"y\").  <br>  <br>ex:- \"d\" |\n| validityValue | String | Yes | **validityValue :** The value corresponding to the validity criteria (e.g., 365 for 365 days).  <br>  <br>ex:-\"365\" |\n| keyAlgorithm | String | Yes | The key algorithm and size used to generate the key.  <br>see **Supported Algorithms** below  <br>  <br>ex:- \"RSA2048\" |\n| signingAlgorithm | String | Yes | The algorithm used to sign the certificate.  <br>  <br>see **Supported Algorithms** below  <br>  <br>ex:- \"SHA256WithRSA\" |\n| keyProfile | String | No | This is created from emCA by the administrator and specifies the key profile name, indicating whether keys are created for a particular device such as HSM or PKCS12.  <br>  <br>Ex:- \"HSMProfile\" |\n| caSubjectAttributes | ArrayList of Object | Yes | **caSubjectAttributes (Array, required)**: An array of objects containing the subject attributes of the CA certificate. Each object includes:  <br>**dataType** (String, required): The data type of the attribute (e.g., \"PrintableString\").  <br>**oid** (String, required): The Object Identifier (OID) for the attribute.  <br>**value** (String, required): The value of the attribute.  <br>  <br>ex:-  <br>\\[  <br>{  <br>\"dataType\": \"PrintableString\",  <br>\"oid\": \"2.5.4.3\",  <br>\"value\": \"common name\"  <br>},  <br>\"dataType\": \"Utif8String\",  <br>\"oid\": \"2.5.4.6\",  <br>\"value\": \"IN\"  <br>}  <br>\\] |\n| caExtensions | JSON | Yes | **caExtensions** (Object, optional): A JSON object containing additional X509 extensions for the certificate such as keyUsage, authInfoAccess, certificatePolicy etc  <br>see **caExtensions Fields** below  <br>  <br>ex:-  <br>\"basicConstraints\": {  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"type\": \"root\",  <br>\"pathLength\": \"none\",  <br>\"sortOrder\": \"2\"  <br>},  <br>\"authInfoAccess\": {  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"ocspURL\": \"http://example.com/ocsp,  <br>\"cAIssuerURL\": \"http://example.com/ca/testca.cer,  <br>\"sortOrder\": \"1\"  <br>} |\n\n**Supported Algorithms**\n\n| Type of Key algorithm | Supported key algorithm and Sizes |\n|-----------|-------------|\n| RSA | RSA1024, RSA2048, RSA3072, RSA4096, and RSA8192 |\n| ECDSA secp | ECC256, ECC384 and ECC521 |\n| ECDSA Brainpool | B-ECDSA-256, B-ECDSA-384 and B-ECDSA-512 |\n| ECDSA Prime | P-ECDSA-256, P-ECDSA-384 and P-ECDSA-521 |\n| EDDSA | Ed25519 |\n| PQC | DILITHIUM2, DILITHIUM3, DILITHIUM5, FALCON-512, FALCON-1024, sha2_256f, sha2_256s, sha2_128f, sha2_128s, sha2_192f, sha2_192s, shake_128f, shake_128s, shake_192f, hake_192s, shake_256f, shake_256s, haraka_192f, haraka_192s, haraka_256f, haraka_256s and haraka_128f |\n\n| Type of Signature algorithms | Supported algorithms |\n|-----------|-------------|\n| RSA | SHA1WithRSA, SHA256WithRSA, SHA384WithRSA, SHA512WithRSA and SHA512WithRSA |\n| ECDSA | SHA1WithECDSA, SHA256WithECDSA, SHA384WithECDSA and SHA512WithECDSA |\n| PQC | DILITHIUM2, DILITHIUM3, DILITHIUM5, FALCON-512, FALCON-1024, and SPHINCSPlus |\n\n**caExtensions Fields**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| basicConstraints | JSON | Yes | **basicConstraints**: Specifies whether the certificate is a CA certificate and its criticality, including type and path length constraints.  <br>this parameter is a required JSON object that contains specific details such as below  <br>  <br>**isEnabled** (String, required): Indicates if the basic constraints extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the basic constraints extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>**type** (String, required): Specifies the type of CA (e.g., \"root\", \"subCA\").  <br>**pathLength** (String, required): Specifies the maximum depth of valid certification paths that include this certificate.  <br>sortOrder (String, required): Specifies the order in which this extension is processed.  <br>  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"type\": \"root\",  <br>\"pathLength\": \"none\",  <br>\"sortOrder\": \"2\"  <br>} |\n| authInfoAccess |  | No | **authInfoAccess**: Contains URLs for OCSP responder and CA issuer, providing authority information access.  <br>  <br>this parameter is a required JSON object that contains specific details such as below  <br>  <br>**isEnabled** (String, required): Indicates if the authority information access extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the authority information access extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>**ocspURL** (String, required): URL of the OCSP responder.  <br>cAIssuerURL (String, required): URL of the CA issuer certificate.  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"ocspURL\": \"http://example.com/ocsp,  <br>\"cAIssuerURL\": \"http://example.com/ca/testca.cer,  <br>\"sortOrder\": \"1\"  <br>} |\n| certificatePolicy | JSON | No | **certificatePolicy**: Defines policies under which the certificate was issued, including policy OIDs and CPS URLs.  <br>this parameter is a required JSON object that contains specific details such as below  <br>  <br>**isEnabled** (String, required): Indicates if the certificate policy extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the certificate policy extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>policyOID (Array, required): An array of objects defining policy OIDs and optional user notice texts.  <br>oid (String, required): The Object Identifier for the policy.  <br>noticeText (String, required): Optional text notice for the policy.  <br>cpsURL (String, required): URL of the Certification Practice Statement.  <br>cpsPolicyOID (String, required): OID for the CPS policy.  <br>sortOrder (String, required): Specifies the order in which this extension is processed.  <br>  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"policyOID\": \\[  <br>{  <br>\"oid\": \"1.3.24.33.34.34\",  <br>\"noticeText\": \"User Notice\"  <br>}  <br>\\],  <br>\"cpsURL\": \"http://www.example.com/repository/cps/test.pdf,  <br>\"cpsPolicyOID\": \"2.16.356.100.1.8.2\",  <br>\"sortOrder\": \"3\"  <br>} |\n| crlDistribution |  | No | **crlDistribution**: Provides URLs where the CRL (Certificate Revocation List) can be accessed.  <br>this parameter is a required JSON object that contains specific details such as below  <br>  <br>**isEnabled** (String, required): Indicates if the CRL distribution points extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the CRL distribution points extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>**crlURL** (String, required): URL of the CRL.  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"crlURL\": \"http://www.example.com/repository/crls/test.crl,  <br>\"sortOrder\": \"4\"  <br>} |\n| keyUsageAttributes | JSON | Yes | **keyUsageAttributes**: Defines the purpose of the key contained in the certificate, such as signing or enciphering.  <br>this parameter is a required JSON object that contains specific details.  <br>  <br>**isEnabled** (String, required): Indicates if the key usage extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**isCritical** (String, required): Indicates if the key usage extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**encipherOnly** (String, required): Indicates if the key is used for enciphering only.  <br>  <br>**nonRepudiation** (String, required): Indicates if the key is used for non-repudiation.  <br>  <br>**digitalSignature** (String, required): Indicates if the key is used for digital signatures.  <br>  <br>**keyEncipherment** (String, required): Indicates if the key is used for key encipherment.  <br>dataEncipherment (String, required): Indicates if the key is used for data encipherment.  <br>  <br>**keyAgreement** (String, required): Indicates if the key is used for key agreement.  <br>keyCertSign (String, required): Indicates if the key is used for signing certificates.  <br>  <br>**crlSign** (String, required): Indicates if the key is used for signing CRLs.  <br>  <br>**decipherOnly** (String, required): Indicates if the key is used for deciphering only.  <br>  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"encipherOnly\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"nonRepudiation\": \"0\",  <br>\"digitalSignature\": \"0\",  <br>\"keyEncipherment\": \"0\",  <br>\"dataEncipherment\": \"0\",  <br>\"keyAgreement\": \"0\",  <br>\"keyCertSign\": \"0\",  <br>\"crlSign\": \"0\",  <br>\"decipherOnly\": \"0\",  <br>\"sortOrder\": \"5\"  <br>} |\n| extendedKeyUsageAttributes |  | No | **extendedKeyUsageAttributes**: Specifies additional key usages for the certificate, such as server authentication or email protection.  <br>  <br>this parameter is a required JSON object that contains specific details.  <br>  <br>**isEnabled** (String, required): Indicates if the extended key usage extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**isCritical** (String, required): Indicates if the extended key usage extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**serverAuthentication** (String, required): Indicates if the key is used for server authentication.  <br>  <br>**clientAuthentication** (String, required): Indicates if the key is used for client authentication.  <br>  <br>**codeSigning** (String, required): Indicates if the key is used for code signing.  <br>  <br>**emailProtection** (String, required): Indicates if the key is used for email protection.  <br>  <br>**timeStamping** (String, required): Indicates if the key is used for timestamping.  <br>  <br>**ocspSigning** (String, required): Indicates if the key is used for OCSP signing.  <br>  <br>**msftDocumentSigning** (String, required): Indicates if the key is used for Microsoft document signing.  <br>  <br>smartCardLogon (String, required): Indicates if the key is used for smart card logon.  <br>  <br>**adobeCertifiedDocumentSigning** (String, required): Indicates if the key is used for Adobe certified document signing.  <br>  <br>**encryptionFileSystem** (String, required): Indicates if the key is used for the encryption file system.  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"serverAuthentication\": \"0\",  <br>\"clientAuthentication\": \"0\",  <br>\"codeSigning\": \"0\",  <br>\"emailProtection\": \"0\",  <br>\"timeStamping\": \"0\",  <br>\"ocspSigning\": \"0\",  <br>\"msftDocumentSigning\": \"0\",  <br>\"smartCardLogon\": \"0\",  <br>\"adobeCertifiedDocumentSigning\": \"0\",  <br>\"encryptionFileSystem\": \"0\",  <br>\"sortOrder\": \"6\"  <br>} |\n| subjectKeyIdentifier |  | Yes | **subjectKeyIdentifier**: Provides a unique identifier for the certificate's public key.  <br>  <br>**isEnabled** (String, required): Indicates if the subject key identifier extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the subject key identifier extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"sortOrder\": \"6\"  <br>} |\n| authorityKeyIdentifier |  | Yes | **authorityKeyIdentifier**: Provides a unique identifier for the key used to sign the certificate.  <br>  <br>**isEnabled** (String, required): Indicates if the authority key identifier extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the authority key identifier extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"sortOrder\": \"7\"  <br>} |\n| sanDetails |  | No | **sanDetails**: Specifies the Subject Alternative Name (SAN) attributes, including types and values.  <br>  <br>**isCritical** (String, required): Indicates if the SAN extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**isEnabled** (String, required): Indicates if the SAN extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>**attri**butes (Array, required): An array of objects specifying SAN attributes, each containing:  <br>  <br>**type** (String, required): The type of SAN (e.g., \"rfc822Name\").  <br>  <br>**value** (String, required): The value of the SAN attribute.  <br>  <br>**isMandatory** (String, required): Indicates if the SAN attribute is mandatory.  <br>  <br>ex:-  <br>{  <br>\"isCritical\": \"0\",  <br>\"isEnabled\": \"0\",  <br>\"sortOrder\": \"1\",  <br>\"attributes\": \\[  <br>{  <br>\"type\": \"rfc822Name\",  <br>\"value\": \"[test@test.com](https://mailto:test@test.com)\",  <br>\"isMandatory\": \"0\"  <br>}  <br>\\]  <br>} |\n\n**Note — crlDistribution:** The `crlURLs` field (Array of Strings) can be used in place of the single `crlURL` field to specify multiple CRL distribution point URLs. When `crlURLs` is provided it takes precedence over `crlURL`."},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"FAILURE\",\n    \"errorCode\": \"EMCA-400\",\n    \"errorMessage\": \"Invalid request parameters\"\n  }\n}"}],"_postman_id":"89d619c1-0b90-4e50-ac71-6aea1c9ebec4"},{"name":"createOrUpdateCRLProfile","id":"3cf1e53d-6c07-4847-afa1-ac63c831a9e6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n   \"crlProfileRequestDetails\": {\r\n    \"crlProfileID\": 0,\r\n    \"profileName\": \"CRL Profile\",\r\n    \"validity\": 15,\r\n    \"customCRLNumber\": 1,\r\n    \"isCRLAutoGeneration\": \"1\",\r\n    \"crlFrequency\": 1,\r\n    \"extensions\": {\r\n      \"authorityInformationAccess\": {\r\n        \"isEnabled\": \"0\",\r\n        \"sortOrder\": 0\r\n      },\r\n      \"deltaCRL\": {\r\n        \"baseCRLNumber\": 0,\r\n        \"isEnabled\": \"string\",\r\n        \"sortOrder\": 0\r\n      },\r\n      \"freshestCRL\": {\r\n        \"deltaCRLDistributionPoint\": \"string\",\r\n        \"isEnabled\": \"string\",\r\n        \"sortOrder\": 0\r\n      },\r\n      \"issuerAlternateName\": {\r\n        \"isEnabled\": \"string\",\r\n        \"sortOrder\": 0\r\n      },\r\n      \"issusingDistributionPoint\": {\r\n        \"certificateCount\": 0,\r\n        \"distributionPointUrl\": \"string\",\r\n        \"inDirectCRL\": \"string\",\r\n        \"isEnabled\": \"string\",\r\n        \"onlyContainsCACerts\": \"string\",\r\n        \"onlyContainsUserCert\": \"string\",\r\n        \"partitionCount\": 0,\r\n        \"sortOrder\": 0\r\n      }\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/update/crl-profile","description":"<p>The \"<strong>createOrUpdateCRLProfile</strong>\" API is used to create or update a Certificate Revocation List (CRL) template. The createOrUpdateCRLProfile API is used to create or update a Certificate Revocation List (CRL) template.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>crlProfileRequestDetails</td>\n<td>JSON</td>\n<td>Yes</td>\n<td>The crlProfileRequestDetails parameter is a required JSON object that contains specific details about the crl template to be generated.  <br />  <br />see <strong>certificateRequestDetails Fields</strong> below</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>crlProfileDetails Fields</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>crlProfileID</td>\n<td>Integer</td>\n<td>Yes</td>\n<td><strong>crlProfileID</strong> (Integer, optional): The unique identifier for the CRL profile. If provided, updates the existing profile; if not provided (or set to 0), creates a new profile.  <br />  <br />ex:- 4</td>\n</tr>\n<tr>\n<td>profileName</td>\n<td>String</td>\n<td>No</td>\n<td>profileName (String, required): The name of the CRL profile.  <br />  <br />ex:- \"sub ca crl profile\"</td>\n</tr>\n<tr>\n<td>validity</td>\n<td>Integer</td>\n<td>Yes</td>\n<td><strong>validity</strong> (Integer, required): The validity period of the CRL in days.  <br />  <br />ex:-365</td>\n</tr>\n<tr>\n<td>customCRLNumber</td>\n<td>Integer</td>\n<td>Yes</td>\n<td><strong>customCRLNumber</strong> (Integer, required): Custom CRL number for the CRL.  <br />  <br />ex:- 1</td>\n</tr>\n<tr>\n<td>isCRLAutoGeneration</td>\n<td>String</td>\n<td>Yes</td>\n<td><strong>isCRLAutoGeneration</strong> (String, required): Indicates whether CRL auto-generation is enabled ( \"1\" - \"true\", \"0\"- false\").  <br />  <br />ex:- \"1\"</td>\n</tr>\n<tr>\n<td>crlFrequency</td>\n<td>Integer</td>\n<td>No</td>\n<td><strong>crlFrequency</strong> (Integer, required): Frequency of CRL generation.  <br />  <br />Ex:- \"1\"</td>\n</tr>\n<tr>\n<td>extensions</td>\n<td>JSON</td>\n<td>Yes</td>\n<td><strong>extensions</strong> (Object, required): Contains extension settings for the CRL profile, including:  <br />authorityInformationAccess: Settings for Authority Information Access.  <br />deltaCRL: Settings for Delta CRL.  <br />freshestCRL: Settings for Freshest CRL.  <br />issuerAlternateName: Settings for Issuer Alternate Name.  <br />issuingDistributionPoint: Settings for Issuing Distribution Point.  <br />  <br />ex:-  <br />{ \"authorityInformationAccess\": {  <br />\"isEnabled\": \"0\",  <br />\"sortOrder\": 0  <br />},  <br />\"deltaCRL\": {  <br />\"baseCRLNumber\": 0,  <br />\"isEnabled\": \"0\",  <br />\"sortOrder\": 0  <br />},  <br />\"issuerAlternateName\": {  <br />\"isEnabled\": \"0\",  <br />\"sortOrder\": 0  <br />},  <br />}</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Supported Algorithms</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>authorityInformationAccess</td>\n<td>JSON</td>\n<td>No</td>\n<td><strong>authInfoAccess</strong>: Contains URLs for OCSP responder and CA issuer, providing authority information access.  <br />  <br />this parameter is a required JSON object that contains specific details such as below  <br />  <br /><strong>isEnabled</strong> (String, required): Indicates if the authority information access extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br /><strong>isCritical</strong> (String, required): Indicates if the authority information access extension is critical (\"1\" for enabled, \"0\" for disabled).  <br />  <br />{  <br />\"isEnabled\": \"0\",  <br />\"isCritical\": \"0\"  <br />}</td>\n</tr>\n<tr>\n<td>deltaCRL</td>\n<td></td>\n<td>No</td>\n<td><strong>deltaCRL</strong>: Configures Delta CRL settings, including \"baseCRLNumber\" for the base CRL number, \"isEnabled\" (\"1\" for enabled, \"0\" for disabled) to activate Delta CRL, and \"sortOrder\" for prioritization.  <br />  <br />{  <br />\"baseCRLNumber\": 0,  <br />\"isEnabled\": \"0\",  <br />\"sortOrder\": 0  <br />}</td>\n</tr>\n<tr>\n<td>freshestCRL</td>\n<td>JSON</td>\n<td>No</td>\n<td><strong>freshestCRL</strong>: Handles Freshest CRL settings, with \"<strong>deltaCRLDistributionPoint</strong>\" for Delta CRL distribution, \"<strong>isEnabled</strong>\" (\"1\" for enabled, \"0\" for disabled) to activate Freshest CRL, and \"<strong>sortOrder</strong>\" for ordering.  <br />  <br />ex:-  <br />{  <br />\"deltaCRLDistributionPoint\": \"string\",  <br />\"isEnabled\": \"0\",  <br />\"sortOrder\": 0  <br />}</td>\n</tr>\n<tr>\n<td>issuerAlternateName</td>\n<td></td>\n<td>No</td>\n<td><strong>issuerAlternateName</strong>: Controls Issuer Alternate Name settings, using \"<strong>isEnabled</strong>\" (\"1\" for enabled, \"0\" for disabled) to activate this feature and \"<strong>sortOrder</strong>\" to define its order.  <br />  <br />ex:-  <br />{  <br />\"isEnabled\": \"0\",  <br />\"sortOrder\": 0  <br />}</td>\n</tr>\n<tr>\n<td>issusingDistributionPoint</td>\n<td>JSON</td>\n<td>No</td>\n<td><strong>issuingDistributionPoint</strong>: Manages Issuing Distribution Point attributes, including \"<strong>inDirectCRL</strong>\" for indirect CRLs, \"<strong>onlyContainsCACerts</strong>\" and \"<strong>onlyContainsUserCert</strong>\" for certificate types, \"<strong>isEnabled</strong>\" (\"1\" for enabled, \"0\" for disabled) to activate this feature, \"<strong>distributionPointUrl</strong>\" for URL, \"<strong>partitionCount</strong>\", \"<strong>certificateCount</strong>\", and \"<strong>sortOrder</strong>\" for ordering attributes.  <br />  <br />ex:-  <br />{  <br />\"inDirectCRL\": \"0\", \"onlyContainsCACerts\": \"0\", \"onlyContainsUserCert\": \"0\",  <br />\"isEnabled\": \"0\",  <br />\"distributionPointUrl\": \"<a href=\"http://pki.example.com/repository/crl/ExampleRootCA.crl\">http://pki.example.com/repository/crl/ExampleRootCA.crl</a>\",  <br />\"partitionCount\": 0,  <br />\"certificateCount\": 0,  <br />\"sortOrder\": 5  <br />}</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["create","update","crl-profile"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"c765fefb-50ad-40c0-819e-190eb530f012","name":"200 OK – CRL profile saved","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n   \"crlProfileRequestDetails\": {\r\n    \"crlProfileID\": 0,\r\n    \"profileName\": \"CRL Profile\",\r\n    \"validity\": 15,\r\n    \"customCRLNumber\": 1,\r\n    \"isCRLAutoGeneration\": \"1\",\r\n    \"crlFrequency\": 1,\r\n    \"extensions\": {\r\n      \"authorityInformationAccess\": {\r\n        \"isEnabled\": \"0\",\r\n        \"sortOrder\": 0\r\n      },\r\n      \"deltaCRL\": {\r\n        \"baseCRLNumber\": 0,\r\n        \"isEnabled\": \"string\",\r\n        \"sortOrder\": 0\r\n      },\r\n      \"freshestCRL\": {\r\n        \"deltaCRLDistributionPoint\": \"string\",\r\n        \"isEnabled\": \"string\",\r\n        \"sortOrder\": 0\r\n      },\r\n      \"issuerAlternateName\": {\r\n        \"isEnabled\": \"string\",\r\n        \"sortOrder\": 0\r\n      },\r\n      \"issusingDistributionPoint\": {\r\n        \"certificateCount\": 0,\r\n        \"distributionPointUrl\": \"string\",\r\n        \"inDirectCRL\": \"string\",\r\n        \"isEnabled\": \"string\",\r\n        \"onlyContainsCACerts\": \"string\",\r\n        \"onlyContainsUserCert\": \"string\",\r\n        \"partitionCount\": 0,\r\n        \"sortOrder\": 0\r\n      }\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/update/crl-profile","description":"The \"**createOrUpdateCRLProfile**\" API is used to create or update a Certificate Revocation List (CRL) template. The createOrUpdateCRLProfile API is used to create or update a Certificate Revocation List (CRL) template.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| crlProfileRequestDetails | JSON | Yes | The crlProfileRequestDetails parameter is a required JSON object that contains specific details about the crl template to be generated.  <br>  <br>see **certificateRequestDetails Fields** below |\n\n**crlProfileDetails Fields**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| crlProfileID | Integer | Yes | **crlProfileID** (Integer, optional): The unique identifier for the CRL profile. If provided, updates the existing profile; if not provided (or set to 0), creates a new profile.  <br>  <br>ex:- 4 |\n| profileName | String | No | profileName (String, required): The name of the CRL profile.  <br>  <br>ex:- \"sub ca crl profile\" |\n| validity | Integer | Yes | **validity** (Integer, required): The validity period of the CRL in days.  <br>  <br>ex:-365 |\n| customCRLNumber | Integer | Yes | **customCRLNumber** (Integer, required): Custom CRL number for the CRL.  <br>  <br>ex:- 1 |\n| isCRLAutoGeneration | String | Yes | **isCRLAutoGeneration** (String, required): Indicates whether CRL auto-generation is enabled ( \"1\" - \"true\", \"0\"- false\").  <br>  <br>ex:- \"1\" |\n| crlFrequency | Integer | No | **crlFrequency** (Integer, required): Frequency of CRL generation.  <br>  <br>Ex:- \"1\" |\n| extensions | JSON | Yes | **extensions** (Object, required): Contains extension settings for the CRL profile, including:  <br>authorityInformationAccess: Settings for Authority Information Access.  <br>deltaCRL: Settings for Delta CRL.  <br>freshestCRL: Settings for Freshest CRL.  <br>issuerAlternateName: Settings for Issuer Alternate Name.  <br>issuingDistributionPoint: Settings for Issuing Distribution Point.  <br>  <br>ex:-  <br>{ \"authorityInformationAccess\": {  <br>\"isEnabled\": \"0\",  <br>\"sortOrder\": 0  <br>},  <br>\"deltaCRL\": {  <br>\"baseCRLNumber\": 0,  <br>\"isEnabled\": \"0\",  <br>\"sortOrder\": 0  <br>},  <br>\"issuerAlternateName\": {  <br>\"isEnabled\": \"0\",  <br>\"sortOrder\": 0  <br>},  <br>} |\n\n**Supported Algorithms**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| authorityInformationAccess | JSON | No | **authInfoAccess**: Contains URLs for OCSP responder and CA issuer, providing authority information access.  <br>  <br>this parameter is a required JSON object that contains specific details such as below  <br>  <br>**isEnabled** (String, required): Indicates if the authority information access extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the authority information access extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\"  <br>} |\n| deltaCRL |  | No | **deltaCRL**: Configures Delta CRL settings, including \"baseCRLNumber\" for the base CRL number, \"isEnabled\" (\"1\" for enabled, \"0\" for disabled) to activate Delta CRL, and \"sortOrder\" for prioritization.  <br>  <br>{  <br>\"baseCRLNumber\": 0,  <br>\"isEnabled\": \"0\",  <br>\"sortOrder\": 0  <br>} |\n| freshestCRL | JSON | No | **freshestCRL**: Handles Freshest CRL settings, with \"**deltaCRLDistributionPoint**\" for Delta CRL distribution, \"**isEnabled**\" (\"1\" for enabled, \"0\" for disabled) to activate Freshest CRL, and \"**sortOrder**\" for ordering.  <br>  <br>ex:-  <br>{  <br>\"deltaCRLDistributionPoint\": \"string\",  <br>\"isEnabled\": \"0\",  <br>\"sortOrder\": 0  <br>} |\n| issuerAlternateName |  | No | **issuerAlternateName**: Controls Issuer Alternate Name settings, using \"**isEnabled**\" (\"1\" for enabled, \"0\" for disabled) to activate this feature and \"**sortOrder**\" to define its order.  <br>  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"sortOrder\": 0  <br>} |\n| issusingDistributionPoint | JSON | No | **issuingDistributionPoint**: Manages Issuing Distribution Point attributes, including \"**inDirectCRL**\" for indirect CRLs, \"**onlyContainsCACerts**\" and \"**onlyContainsUserCert**\" for certificate types, \"**isEnabled**\" (\"1\" for enabled, \"0\" for disabled) to activate this feature, \"**distributionPointUrl**\" for URL, \"**partitionCount**\", \"**certificateCount**\", and \"**sortOrder**\" for ordering attributes.  <br>  <br>ex:-  <br>{  <br>\"inDirectCRL\": \"0\", \"onlyContainsCACerts\": \"0\", \"onlyContainsUserCert\": \"0\",  <br>\"isEnabled\": \"0\",  <br>\"distributionPointUrl\": \"http://pki.example.com/repository/crl/ExampleRootCA.crl\",  <br>\"partitionCount\": 0,  <br>\"certificateCount\": 0,  <br>\"sortOrder\": 5  <br>} |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"SUCCESS\",\n    \"errorCode\": null,\n    \"errorMessage\": null\n  },\n  \"crlProfileDetaills\": {\n    \"crlProfileId\": \"1\",\n    \"profileName\": \"DefaultCRLProfile\",\n    \"validityCriteria\": \"d\",\n    \"validityValue\": \"7\"\n  }\n}"},{"id":"096f346a-3731-47ea-b9f4-7102d3cd3bf0","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n   \"crlProfileRequestDetails\": {\r\n    \"crlProfileID\": 0,\r\n    \"profileName\": \"CRL Profile\",\r\n    \"validity\": 15,\r\n    \"customCRLNumber\": 1,\r\n    \"isCRLAutoGeneration\": \"1\",\r\n    \"crlFrequency\": 1,\r\n    \"extensions\": {\r\n      \"authorityInformationAccess\": {\r\n        \"isEnabled\": \"0\",\r\n        \"sortOrder\": 0\r\n      },\r\n      \"deltaCRL\": {\r\n        \"baseCRLNumber\": 0,\r\n        \"isEnabled\": \"string\",\r\n        \"sortOrder\": 0\r\n      },\r\n      \"freshestCRL\": {\r\n        \"deltaCRLDistributionPoint\": \"string\",\r\n        \"isEnabled\": \"string\",\r\n        \"sortOrder\": 0\r\n      },\r\n      \"issuerAlternateName\": {\r\n        \"isEnabled\": \"string\",\r\n        \"sortOrder\": 0\r\n      },\r\n      \"issusingDistributionPoint\": {\r\n        \"certificateCount\": 0,\r\n        \"distributionPointUrl\": \"string\",\r\n        \"inDirectCRL\": \"string\",\r\n        \"isEnabled\": \"string\",\r\n        \"onlyContainsCACerts\": \"string\",\r\n        \"onlyContainsUserCert\": \"string\",\r\n        \"partitionCount\": 0,\r\n        \"sortOrder\": 0\r\n      }\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/update/crl-profile","description":"The \"**createOrUpdateCRLProfile**\" API is used to create or update a Certificate Revocation List (CRL) template. The createOrUpdateCRLProfile API is used to create or update a Certificate Revocation List (CRL) template.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| crlProfileRequestDetails | JSON | Yes | The crlProfileRequestDetails parameter is a required JSON object that contains specific details about the crl template to be generated.  <br>  <br>see **certificateRequestDetails Fields** below |\n\n**crlProfileDetails Fields**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| crlProfileID | Integer | Yes | **crlProfileID** (Integer, optional): The unique identifier for the CRL profile. If provided, updates the existing profile; if not provided (or set to 0), creates a new profile.  <br>  <br>ex:- 4 |\n| profileName | String | No | profileName (String, required): The name of the CRL profile.  <br>  <br>ex:- \"sub ca crl profile\" |\n| validity | Integer | Yes | **validity** (Integer, required): The validity period of the CRL in days.  <br>  <br>ex:-365 |\n| customCRLNumber | Integer | Yes | **customCRLNumber** (Integer, required): Custom CRL number for the CRL.  <br>  <br>ex:- 1 |\n| isCRLAutoGeneration | String | Yes | **isCRLAutoGeneration** (String, required): Indicates whether CRL auto-generation is enabled ( \"1\" - \"true\", \"0\"- false\").  <br>  <br>ex:- \"1\" |\n| crlFrequency | Integer | No | **crlFrequency** (Integer, required): Frequency of CRL generation.  <br>  <br>Ex:- \"1\" |\n| extensions | JSON | Yes | **extensions** (Object, required): Contains extension settings for the CRL profile, including:  <br>authorityInformationAccess: Settings for Authority Information Access.  <br>deltaCRL: Settings for Delta CRL.  <br>freshestCRL: Settings for Freshest CRL.  <br>issuerAlternateName: Settings for Issuer Alternate Name.  <br>issuingDistributionPoint: Settings for Issuing Distribution Point.  <br>  <br>ex:-  <br>{ \"authorityInformationAccess\": {  <br>\"isEnabled\": \"0\",  <br>\"sortOrder\": 0  <br>},  <br>\"deltaCRL\": {  <br>\"baseCRLNumber\": 0,  <br>\"isEnabled\": \"0\",  <br>\"sortOrder\": 0  <br>},  <br>\"issuerAlternateName\": {  <br>\"isEnabled\": \"0\",  <br>\"sortOrder\": 0  <br>},  <br>} |\n\n**Supported Algorithms**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| authorityInformationAccess | JSON | No | **authInfoAccess**: Contains URLs for OCSP responder and CA issuer, providing authority information access.  <br>  <br>this parameter is a required JSON object that contains specific details such as below  <br>  <br>**isEnabled** (String, required): Indicates if the authority information access extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the authority information access extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\"  <br>} |\n| deltaCRL |  | No | **deltaCRL**: Configures Delta CRL settings, including \"baseCRLNumber\" for the base CRL number, \"isEnabled\" (\"1\" for enabled, \"0\" for disabled) to activate Delta CRL, and \"sortOrder\" for prioritization.  <br>  <br>{  <br>\"baseCRLNumber\": 0,  <br>\"isEnabled\": \"0\",  <br>\"sortOrder\": 0  <br>} |\n| freshestCRL | JSON | No | **freshestCRL**: Handles Freshest CRL settings, with \"**deltaCRLDistributionPoint**\" for Delta CRL distribution, \"**isEnabled**\" (\"1\" for enabled, \"0\" for disabled) to activate Freshest CRL, and \"**sortOrder**\" for ordering.  <br>  <br>ex:-  <br>{  <br>\"deltaCRLDistributionPoint\": \"string\",  <br>\"isEnabled\": \"0\",  <br>\"sortOrder\": 0  <br>} |\n| issuerAlternateName |  | No | **issuerAlternateName**: Controls Issuer Alternate Name settings, using \"**isEnabled**\" (\"1\" for enabled, \"0\" for disabled) to activate this feature and \"**sortOrder**\" to define its order.  <br>  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"sortOrder\": 0  <br>} |\n| issusingDistributionPoint | JSON | No | **issuingDistributionPoint**: Manages Issuing Distribution Point attributes, including \"**inDirectCRL**\" for indirect CRLs, \"**onlyContainsCACerts**\" and \"**onlyContainsUserCert**\" for certificate types, \"**isEnabled**\" (\"1\" for enabled, \"0\" for disabled) to activate this feature, \"**distributionPointUrl**\" for URL, \"**partitionCount**\", \"**certificateCount**\", and \"**sortOrder**\" for ordering attributes.  <br>  <br>ex:-  <br>{  <br>\"inDirectCRL\": \"0\", \"onlyContainsCACerts\": \"0\", \"onlyContainsUserCert\": \"0\",  <br>\"isEnabled\": \"0\",  <br>\"distributionPointUrl\": \"http://pki.example.com/repository/crl/ExampleRootCA.crl\",  <br>\"partitionCount\": 0,  <br>\"certificateCount\": 0,  <br>\"sortOrder\": 5  <br>} |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"FAILURE\",\n    \"errorCode\": \"EMCA-400\",\n    \"errorMessage\": \"Invalid request parameters\"\n  }\n}"}],"_postman_id":"3cf1e53d-6c07-4847-afa1-ac63c831a9e6"},{"name":"createOrUpdateCRL","id":"33ebb195-13d6-498e-b982-1327ce7ff159","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"crlRequestDetails\": {\n    \"caId\": 1,\n    \"signingAlgorithm\": \"SHA256withRSA\",\n    \"crlProfileId\": 1,\n    \"emergencyCRL\": false,\n    \"emergencyValidity\": 24\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/update/crl","description":"<p>Creates or updates a Certificate Revocation List (CRL) for a specified Certification Authority.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>crlRequestDetails</td>\n<td>Object</td>\n<td>Yes</td>\n<td>Wrapper object containing the CRL generation parameters</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>crlRequestDetails Object</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>caId</td>\n<td>Integer</td>\n<td>Yes</td>\n<td>Unique identifier of the CA for which the CRL is generated</td>\n</tr>\n<tr>\n<td>signingAlgorithm</td>\n<td>String</td>\n<td>No</td>\n<td>Algorithm used to sign the CRL (e.g., SHA256withRSA, SHA384withECDSA, SHA256withECDSA)</td>\n</tr>\n<tr>\n<td>crlProfileId</td>\n<td>Integer</td>\n<td>Yes</td>\n<td>Unique identifier of the CRL profile to use</td>\n</tr>\n<tr>\n<td>emergencyCRL</td>\n<td>Boolean</td>\n<td>No</td>\n<td>If true, generates an emergency off-schedule CRL; default: false</td>\n</tr>\n<tr>\n<td>emergencyValidity</td>\n<td>Integer</td>\n<td>No</td>\n<td>Validity period in hours for the emergency CRL — only used when emergencyCRL = true</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Response Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>String</td>\n<td>Operation status: \"Success\" or \"Failure\"</td>\n</tr>\n<tr>\n<td>result</td>\n<td>String</td>\n<td>Description of the operation result or error message</td>\n</tr>\n<tr>\n<td>crlId</td>\n<td>Integer</td>\n<td>Unique identifier of the created or updated CRL</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["create","update","crl"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"bf95df36-4683-4e92-8f32-a2f63c4008cc","name":"200 OK – CRL issued","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"crlRequestDetails\": {\n    \"caId\": 1,\n    \"signingAlgorithm\": \"SHA256withRSA\",\n    \"crlProfileId\": 1,\n    \"emergencyCRL\": false,\n    \"emergencyValidity\": 24\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/update/crl","description":"Creates or updates a Certificate Revocation List (CRL) for a specified Certification Authority.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| crlRequestDetails | Object | Yes | Wrapper object containing the CRL generation parameters |\n\n**crlRequestDetails Object**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| caId | Integer | Yes | Unique identifier of the CA for which the CRL is generated |\n| signingAlgorithm | String | No | Algorithm used to sign the CRL (e.g., SHA256withRSA, SHA384withECDSA, SHA256withECDSA) |\n| crlProfileId | Integer | Yes | Unique identifier of the CRL profile to use |\n| emergencyCRL | Boolean | No | If true, generates an emergency off-schedule CRL; default: false |\n| emergencyValidity | Integer | No | Validity period in hours for the emergency CRL — only used when emergencyCRL = true |\n\n**Response Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| status | String | Operation status: \"Success\" or \"Failure\" |\n| result | String | Description of the operation result or error message |\n| crlId | Integer | Unique identifier of the created or updated CRL |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"SUCCESS\",\n    \"errorCode\": null,\n    \"errorMessage\": null\n  },\n  \"crlDetails\": {\n    \"caId\": \"1\",\n    \"crlData\": \"MIIBvgYJKoZIhvcNAQcCoIIBrzCCAasCAQMxbase64==\",\n    \"thisUpdate\": \"2026-04-17T00:00:00\",\n    \"nextUpdate\": \"2026-04-24T00:00:00\"\n  },\n  \"emergencyCrlDetails\": null\n}"},{"id":"608dcf20-bfb2-446f-9a40-53c5f41a1f8c","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"crlRequestDetails\": {\n    \"caId\": 1,\n    \"signingAlgorithm\": \"SHA256withRSA\",\n    \"crlProfileId\": 1,\n    \"emergencyCRL\": false,\n    \"emergencyValidity\": 24\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/update/crl","description":"Creates or updates a Certificate Revocation List (CRL) for a specified Certification Authority.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| crlRequestDetails | Object | Yes | Wrapper object containing the CRL generation parameters |\n\n**crlRequestDetails Object**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| caId | Integer | Yes | Unique identifier of the CA for which the CRL is generated |\n| signingAlgorithm | String | No | Algorithm used to sign the CRL (e.g., SHA256withRSA, SHA384withECDSA, SHA256withECDSA) |\n| crlProfileId | Integer | Yes | Unique identifier of the CRL profile to use |\n| emergencyCRL | Boolean | No | If true, generates an emergency off-schedule CRL; default: false |\n| emergencyValidity | Integer | No | Validity period in hours for the emergency CRL — only used when emergencyCRL = true |\n\n**Response Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| status | String | Operation status: \"Success\" or \"Failure\" |\n| result | String | Description of the operation result or error message |\n| crlId | Integer | Unique identifier of the created or updated CRL |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"FAILURE\",\n    \"errorCode\": \"EMCA-400\",\n    \"errorMessage\": \"Invalid request parameters\"\n  }\n}"}],"_postman_id":"33ebb195-13d6-498e-b982-1327ce7ff159"},{"name":"getCRL","id":"e9e18646-ce2b-4cd0-acff-58f6e10b3182","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"caSerialNo\": \"e7bcea340a5c362193c06d6356be8b12\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/get-crl","description":"<p>The \"<strong>getCRL</strong>\" API is used to download a Certificate Revocation List (CRL) by providing the CA's certificate serial number and app code.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<p><strong>Request Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>caSerialNo</td>\n<td>String</td>\n<td>Yes</td>\n<td>Certificate serial number  <br />  <br />Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\"</td>\n</tr>\n<tr>\n<td>appCode</td>\n<td>String</td>\n<td>Yes</td>\n<td><strong>appCode</strong> is used as part of External Application Registration at emCA.  <br />  <br />Ex :- \"MyApp\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["get-crl"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"27f4f150-64f3-469a-b94a-f30096c0e110","name":"200 OK – CRL data returned","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"caSerialNo\": \"e7bcea340a5c362193c06d6356be8b12\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/get-crl","description":"The \"**getCRL**\" API is used to download a Certificate Revocation List (CRL) by providing the CA's certificate serial number and app code.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n**Request Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| caSerialNo | String | Yes | Certificate serial number  <br>  <br>Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\" |\n| appCode | String | Yes | **appCode** is used as part of External Application Registration at emCA.  <br>  <br>Ex :- \"MyApp\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"SUCCESS\",\n    \"errorCode\": null,\n    \"errorMessage\": null\n  },\n  \"crlData\": [\n    {\n      \"caId\": \"1\",\n      \"caName\": \"Test Root Certificate 2026\",\n      \"crlData\": \"MIIBvgYJKoZIhvcNAQcCoIIBrzCCAasCAQMxbase64==\",\n      \"nextUpdate\": \"2026-04-24T00:00:00\"\n    }\n  ]\n}"}],"_postman_id":"e9e18646-ce2b-4cd0-acff-58f6e10b3182"},{"name":"getCACertificate","id":"fdf7b379-ed4f-4ead-98ce-18cc2884125b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"caId\": 1\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/export/ca/certificate","description":"<p>The <strong>\"getCACertificate\"</strong> API exports the CA certificate for the specified CA.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>caId</td>\n<td>Long</td>\n<td>Yes</td>\n<td>The unique numeric identifier of the CA whose certificate is to be exported.  <br />  <br />ex:- 1</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["export","ca","certificate"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"dcef93b2-5b3d-440b-8c0f-a40805737744","name":"200 OK – Certificate exported","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"caId\": 1\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/export/ca/certificate","description":"The **\"getCACertificate\"** API exports the CA certificate for the specified CA.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| caId | Long | Yes | The unique numeric identifier of the CA whose certificate is to be exported.  <br>  <br>ex:- 1 |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"SUCCESS\",\n    \"errorCode\": null,\n    \"errorMessage\": null\n  },\n  \"caId\": \"1\",\n  \"commonName\": \"Test Root Certificate 2026\",\n  \"caType\": \"root\",\n  \"serialNumber\": \"7a3f2e1d0c9b8a4f\",\n  \"expiryDate\": \"2046-01-01T00:00:00\",\n  \"certificateData\": \"MIID6TCCAtGgAwIBAgIUejProtO/R/base64encodedCertData==\"\n}"},{"id":"d4e5be1a-73ae-4f60-ab49-c1c77b178f49","name":"404 Not Found – CA not found","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"caId\": 1\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/export/ca/certificate","description":"The **\"getCACertificate\"** API exports the CA certificate for the specified CA.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| caId | Long | Yes | The unique numeric identifier of the CA whose certificate is to be exported.  <br>  <br>ex:- 1 |"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"FAILURE\",\n    \"errorCode\": \"EMCA-400\",\n    \"errorMessage\": \"Invalid request parameters\"\n  }\n}"}],"_postman_id":"fdf7b379-ed4f-4ead-98ce-18cc2884125b"},{"name":"createCSR","id":"89ab3ce7-a3da-48c4-9d15-3e5b79f7b801","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"certificateRequestDetails\": {\n    \"keyAlgorithm\": \"RSA2048\",\n    \"signingAlgorithm\": \"SHA256WithRSA\",\n    \"keyProfile\": \"PKCS11_PROFILE\",\n    \"caSubjectAttributes\": [\n      {\n        \"dataType\": \"PrintableString\",\n        \"oid\": \"2.5.4.3\",\n        \"value\": \"Test CSR\"\n      },\n      {\n        \"dataType\": \"PrintableString\",\n        \"oid\": \"2.5.4.10\",\n        \"value\": \"Example Corporation\"\n      },\n      {\n        \"dataType\": \"PrintableString\",\n        \"oid\": \"2.5.4.6\",\n        \"value\": \"US\"\n      }\n    ]\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/csr","description":"<p>The <strong>\"createCSR\"</strong> API generates a Certificate Signing Request (CSR) for a CA. The CSR can then be submitted to an external CA for signing and imported back via the importCertificate API.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>certificateRequestDetails</td>\n<td>JSON</td>\n<td>Yes</td>\n<td>Object containing CSR generation details. See sub-fields below.</td>\n</tr>\n<tr>\n<td>keyAlgorithm</td>\n<td>String</td>\n<td>Yes</td>\n<td>Key algorithm and size.  <br />  <br />ex:- \"RSA2048\"</td>\n</tr>\n<tr>\n<td>signingAlgorithm</td>\n<td>String</td>\n<td>Yes</td>\n<td>Signing algorithm.  <br />  <br />ex:- \"SHA256WithRSA\"</td>\n</tr>\n<tr>\n<td>keyProfile</td>\n<td>String</td>\n<td>No</td>\n<td>Key profile name for HSM-backed key generation.  <br />  <br />ex:- \"PKCS11_PROFILE\"</td>\n</tr>\n<tr>\n<td>caSubjectAttributes</td>\n<td>Array</td>\n<td>Yes</td>\n<td>Subject DN attributes array with <strong>dataType</strong>, <strong>oid</strong>, and <strong>value</strong> fields.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["create","csr"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"9fad8836-b0d1-45eb-bc99-aec36dec799e","name":"200 OK – CSR generated","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"certificateRequestDetails\": {\n    \"keyAlgorithm\": \"RSA2048\",\n    \"signingAlgorithm\": \"SHA256WithRSA\",\n    \"keyProfile\": \"PKCS11_PROFILE\",\n    \"caSubjectAttributes\": [\n      {\n        \"dataType\": \"PrintableString\",\n        \"oid\": \"2.5.4.3\",\n        \"value\": \"Test CSR\"\n      },\n      {\n        \"dataType\": \"PrintableString\",\n        \"oid\": \"2.5.4.10\",\n        \"value\": \"Example Corporation\"\n      },\n      {\n        \"dataType\": \"PrintableString\",\n        \"oid\": \"2.5.4.6\",\n        \"value\": \"US\"\n      }\n    ]\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/csr","description":"The **\"createCSR\"** API generates a Certificate Signing Request (CSR) for a CA. The CSR can then be submitted to an external CA for signing and imported back via the importCertificate API.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| certificateRequestDetails | JSON | Yes | Object containing CSR generation details. See sub-fields below. |\n| keyAlgorithm | String | Yes | Key algorithm and size.  <br>  <br>ex:- \"RSA2048\" |\n| signingAlgorithm | String | Yes | Signing algorithm.  <br>  <br>ex:- \"SHA256WithRSA\" |\n| keyProfile | String | No | Key profile name for HSM-backed key generation.  <br>  <br>ex:- \"PKCS11_PROFILE\" |\n| caSubjectAttributes | Array | Yes | Subject DN attributes array with **dataType**, **oid**, and **value** fields. |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"SUCCESS\",\n    \"errorCode\": null,\n    \"errorMessage\": null\n  },\n  \"csrDetails\": {\n    \"caId\": \"5\",\n    \"csrData\": \"-----BEGIN CERTIFICATE REQUEST-----\\nMIICzTCCAbUCAQAwgYcxCzAJBgNVBAYTAlVTMRIwEAYDVQQKEwlDYWxpeCBJbmMx\\nEDAOBgNVBAsTB0RldmljZXMxGzAZBgNVBAMTElRlc3QgQ1NSbase64==\\n-----END CERTIFICATE REQUEST-----\"\n  }\n}"},{"id":"7b0dd3b8-4c1f-4922-b12e-3a596493d32f","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"certificateRequestDetails\": {\n    \"keyAlgorithm\": \"RSA2048\",\n    \"signingAlgorithm\": \"SHA256WithRSA\",\n    \"keyProfile\": \"PKCS11_PROFILE\",\n    \"caSubjectAttributes\": [\n      {\n        \"dataType\": \"PrintableString\",\n        \"oid\": \"2.5.4.3\",\n        \"value\": \"Test CSR\"\n      },\n      {\n        \"dataType\": \"PrintableString\",\n        \"oid\": \"2.5.4.10\",\n        \"value\": \"Example Corporation\"\n      },\n      {\n        \"dataType\": \"PrintableString\",\n        \"oid\": \"2.5.4.6\",\n        \"value\": \"US\"\n      }\n    ]\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/csr","description":"The **\"createCSR\"** API generates a Certificate Signing Request (CSR) for a CA. The CSR can then be submitted to an external CA for signing and imported back via the importCertificate API.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| certificateRequestDetails | JSON | Yes | Object containing CSR generation details. See sub-fields below. |\n| keyAlgorithm | String | Yes | Key algorithm and size.  <br>  <br>ex:- \"RSA2048\" |\n| signingAlgorithm | String | Yes | Signing algorithm.  <br>  <br>ex:- \"SHA256WithRSA\" |\n| keyProfile | String | No | Key profile name for HSM-backed key generation.  <br>  <br>ex:- \"PKCS11_PROFILE\" |\n| caSubjectAttributes | Array | Yes | Subject DN attributes array with **dataType**, **oid**, and **value** fields. |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"FAILURE\",\n    \"errorCode\": \"EMCA-400\",\n    \"errorMessage\": \"Invalid request parameters\"\n  }\n}"}],"_postman_id":"89ab3ce7-a3da-48c4-9d15-3e5b79f7b801"},{"name":"importCertificate","id":"acdff805-e420-45e5-a175-77adc7871190","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"importType\": \"CA\",\n  \"caId\": 1,\n  \"certData\": \"BASE64_ENCODED_CERTIFICATE\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/import/certificate","description":"<p>The <strong>\"importCertificate\"</strong> API imports a signed CA certificate into the system. Used after an externally-signed CSR is returned by the parent CA.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>importType</td>\n<td>String</td>\n<td>Yes</td>\n<td>Type of import. Supported value: <strong>CA</strong>.  <br />  <br />ex:- \"CA\"</td>\n</tr>\n<tr>\n<td>caId</td>\n<td>Integer</td>\n<td>Yes</td>\n<td>ID of the CA for which the certificate is being imported.  <br />  <br />ex:- 1</td>\n</tr>\n<tr>\n<td>certData</td>\n<td>String</td>\n<td>Yes</td>\n<td>Base64-encoded signed certificate data.  <br />  <br />ex:- \"MIID...\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["import","certificate"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"a892f610-9bed-4970-a694-83750cc8d409","name":"200 OK – Certificate imported","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"importType\": \"CA\",\n  \"caId\": 1,\n  \"certData\": \"BASE64_ENCODED_CERTIFICATE\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/import/certificate","description":"The **\"importCertificate\"** API imports a signed CA certificate into the system. Used after an externally-signed CSR is returned by the parent CA.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| importType | String | Yes | Type of import. Supported value: **CA**.  <br>  <br>ex:- \"CA\" |\n| caId | Integer | Yes | ID of the CA for which the certificate is being imported.  <br>  <br>ex:- 1 |\n| certData | String | Yes | Base64-encoded signed certificate data.  <br>  <br>ex:- \"MIID...\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": \"Certificate imported successfully\"\n}"},{"id":"e9ebc327-741e-472b-a563-d2189421a63e","name":"400 Bad Request – Invalid cert data","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"importType\": \"CA\",\n  \"caId\": 1,\n  \"certData\": \"BASE64_ENCODED_CERTIFICATE\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/import/certificate","description":"The **\"importCertificate\"** API imports a signed CA certificate into the system. Used after an externally-signed CSR is returned by the parent CA.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| importType | String | Yes | Type of import. Supported value: **CA**.  <br>  <br>ex:- \"CA\" |\n| caId | Integer | Yes | ID of the CA for which the certificate is being imported.  <br>  <br>ex:- 1 |\n| certData | String | Yes | Base64-encoded signed certificate data.  <br>  <br>ex:- \"MIID...\" |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": \"Failed to import certificate: invalid Base64 or certificate format\"\n}"}],"_postman_id":"acdff805-e420-45e5-a175-77adc7871190"},{"name":"getCRL","id":"ebe9f770-a5a3-4096-aed0-40b69c52f096","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"url":"{{baseUrl}}/get-crl/e7bcea340a5c362193c06d6356be8b12/{{x_client_id}}","description":"<p>The \"<strong>getCRL</strong>\" GET supported API is used to download a Certificate Revocation List (CRL) by providing the CA's serial number and client ID.  </p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>URL</strong></p>\n<p><code>{{baseUrl}}/get-crl/{caSerialNo}/{clientId}</code></p>\n<p><strong>Request Body Parameters</strong></p>\n<p><strong>Request Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>caSerialNo</td>\n<td>String</td>\n<td>Yes</td>\n<td>Certificate serial number need to pass in path variable  <br />  <br />Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\"</td>\n</tr>\n<tr>\n<td>clientId</td>\n<td>String</td>\n<td>Yes</td>\n<td>The client ID received from emCA upon registering an external application. Passed as a path variable.  <br />  <br />ex:- \"tade1c9c-a272-42e8-a2a8-0803db4d5ec5\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["get-crl","e7bcea340a5c362193c06d6356be8b12","{{x_client_id}}"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"36547240-c1f5-4f30-b56e-4cd64bedd03c","name":"200 OK – CRL downloaded","originalRequest":{"method":"GET","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"url":"{{baseUrl}}/get-crl/e7bcea340a5c362193c06d6356be8b12/{{x_client_id}}","description":"The \"**getCRL**\" GET supported API is used to download a Certificate Revocation List (CRL) by providing the CA's serial number and client ID.  \n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**URL**\n\n`{{baseUrl}}/get-crl/{caSerialNo}/{clientId}`\n\n**Request Body Parameters**\n\n**Request Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| caSerialNo | String | Yes | Certificate serial number need to pass in path variable  <br>  <br>Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\" |\n| clientId | String | Yes | The client ID received from emCA upon registering an external application. Passed as a path variable.  <br>  <br>ex:- \"tade1c9c-a272-42e8-a2a8-0803db4d5ec5\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"SUCCESS\",\n    \"errorCode\": null,\n    \"errorMessage\": null\n  },\n  \"crlData\": \"MIIBvgYJKoZIhvcNAQcCoIIBrzCCAasCAQMxbase64encodedCRL==\"\n}"}],"_postman_id":"ebe9f770-a5a3-4096-aed0-40b69c52f096"},{"name":"revoke/suspend","id":"73147493-3241-43b3-9a0c-92d9bb515fb9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"revokeDetails\": {\r\n    \"serialNo\": \"23f8a71aa6b4af877e6b5b45da5d75d4\",\r\n    \"remarks\": \"test\",\r\n    \"reason\": 1\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/revoke/suspend/ca","description":"<p>The <strong>\"revoke/suspend/ca\"</strong> API facilitates the <strong>revocation</strong> or <strong>suspension</strong> of a CA Certificate based on its <strong>serial number</strong> and <strong>reason code</strong>. This functionality is crucial for invalidating certificates that are <strong>compromised</strong> or <strong>no longer trusted</strong>.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p>By specifying the serial number of the certificate, this API ensures <strong>immediate termination or suspension</strong> of its validity, thereby maintaining <strong>security</strong> and <strong>compliance</strong> with organizational policies regarding CA management.</p>\n<p>If the <strong>reason code is</strong> <strong><code>6</code></strong>, the certificate is treated as <strong>suspended</strong> (typically for temporary hold).</p>\n<p>For <strong>all other reason codes</strong>, the certificate is treated as <strong>revoked</strong>.</p>\n<p><strong>Request Body Parameters</strong></p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>serialNo</td>\n<td>String</td>\n<td>Yes</td>\n<td>Certificate serial number for which revoke or suspend is initiated.  <br />  <br />Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\"</td>\n</tr>\n<tr>\n<td>reason</td>\n<td>Integer</td>\n<td>Yes</td>\n<td>0 (Unspecified): Reason not specified or unknown.  <br />  <br />1 (Key Compromise): Private key associated with the certificate compromised or suspected compromised.  <br />  <br />2 (CA compromise): Certificate Authority (CA) certificate or private key compromised or suspected compromised.  <br />  <br />3 (Affiliation Changed): Certificate holder's affiliation or relationship with the organization changed.  <br />  <br />4 (Superseded): Certificate replaced by a new certificate.  <br />  <br />5 (Cessation of Operation): Organization or entity associated with the certificate ceased operation.  <br />  <br />5 (CertificateHold): Organization or entity associated with the certificate will be hold.  <br />  <br />9 (Privilege Withdrawn): Privileges associated with the certificate holder withdrawn.  <br />  <br />10 (AA Compromise): Certificate used for authentication or authorization compromised or suspected compromised.  <br />  <br />ex:- 4</td>\n</tr>\n<tr>\n<td>remarks</td>\n<td>String</td>\n<td>Yes</td>\n<td>The '<strong>Remarks</strong>' parameter in the 'revoke' API allows users to include additional comments to the certificate rekeying process.  <br />  <br />ex:-\"Certificate expired\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["revoke","suspend","ca"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"49428410-a039-4bb1-8b00-66cab7be75ed","name":"200 OK – CA revoked/suspended","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"revokeDetails\": {\r\n    \"serialNo\": \"23f8a71aa6b4af877e6b5b45da5d75d4\",\r\n    \"remarks\": \"test\",\r\n    \"reason\": 1\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/revoke/suspend/ca","description":"The **\"revoke/suspend/ca\"** API facilitates the **revocation** or **suspension** of a CA Certificate based on its **serial number** and **reason code**. This functionality is crucial for invalidating certificates that are **compromised** or **no longer trusted**.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\nBy specifying the serial number of the certificate, this API ensures **immediate termination or suspension** of its validity, thereby maintaining **security** and **compliance** with organizational policies regarding CA management.\n\nIf the **reason code is** **`6`**, the certificate is treated as **suspended** (typically for temporary hold).\n\nFor **all other reason codes**, the certificate is treated as **revoked**.\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| serialNo | String | Yes | Certificate serial number for which revoke or suspend is initiated.  <br>  <br>Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\" |\n| reason | Integer | Yes | 0 (Unspecified): Reason not specified or unknown.  <br>  <br>1 (Key Compromise): Private key associated with the certificate compromised or suspected compromised.  <br>  <br>2 (CA compromise): Certificate Authority (CA) certificate or private key compromised or suspected compromised.  <br>  <br>3 (Affiliation Changed): Certificate holder's affiliation or relationship with the organization changed.  <br>  <br>4 (Superseded): Certificate replaced by a new certificate.  <br>  <br>5 (Cessation of Operation): Organization or entity associated with the certificate ceased operation.  <br>  <br>5 (CertificateHold): Organization or entity associated with the certificate will be hold.  <br>  <br>9 (Privilege Withdrawn): Privileges associated with the certificate holder withdrawn.  <br>  <br>10 (AA Compromise): Certificate used for authentication or authorization compromised or suspected compromised.  <br>  <br>ex:- 4 |\n| remarks | String | Yes | The '**Remarks**' parameter in the 'revoke' API allows users to include additional comments to the certificate rekeying process.  <br>  <br>ex:-\"Certificate expired\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"SUCCESS\",\n    \"errorCode\": null,\n    \"errorMessage\": null\n  },\n  \"response\": \"CA certificate revoked/suspended successfully\"\n}"},{"id":"d5d6d159-4100-4c47-9c11-d5cb44514441","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"revokeDetails\": {\r\n    \"serialNo\": \"23f8a71aa6b4af877e6b5b45da5d75d4\",\r\n    \"remarks\": \"test\",\r\n    \"reason\": 1\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/revoke/suspend/ca","description":"The **\"revoke/suspend/ca\"** API facilitates the **revocation** or **suspension** of a CA Certificate based on its **serial number** and **reason code**. This functionality is crucial for invalidating certificates that are **compromised** or **no longer trusted**.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\nBy specifying the serial number of the certificate, this API ensures **immediate termination or suspension** of its validity, thereby maintaining **security** and **compliance** with organizational policies regarding CA management.\n\nIf the **reason code is** **`6`**, the certificate is treated as **suspended** (typically for temporary hold).\n\nFor **all other reason codes**, the certificate is treated as **revoked**.\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| serialNo | String | Yes | Certificate serial number for which revoke or suspend is initiated.  <br>  <br>Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\" |\n| reason | Integer | Yes | 0 (Unspecified): Reason not specified or unknown.  <br>  <br>1 (Key Compromise): Private key associated with the certificate compromised or suspected compromised.  <br>  <br>2 (CA compromise): Certificate Authority (CA) certificate or private key compromised or suspected compromised.  <br>  <br>3 (Affiliation Changed): Certificate holder's affiliation or relationship with the organization changed.  <br>  <br>4 (Superseded): Certificate replaced by a new certificate.  <br>  <br>5 (Cessation of Operation): Organization or entity associated with the certificate ceased operation.  <br>  <br>5 (CertificateHold): Organization or entity associated with the certificate will be hold.  <br>  <br>9 (Privilege Withdrawn): Privileges associated with the certificate holder withdrawn.  <br>  <br>10 (AA Compromise): Certificate used for authentication or authorization compromised or suspected compromised.  <br>  <br>ex:- 4 |\n| remarks | String | Yes | The '**Remarks**' parameter in the 'revoke' API allows users to include additional comments to the certificate rekeying process.  <br>  <br>ex:-\"Certificate expired\" |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"FAILURE\",\n    \"errorCode\": \"EMCA-400\",\n    \"errorMessage\": \"Invalid request parameters\"\n  }\n}"}],"_postman_id":"73147493-3241-43b3-9a0c-92d9bb515fb9"},{"name":"reinstateCA","id":"bcccc2da-eb9c-4397-bf97-e1682f9cd1de","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"rereinstateDetails\": {\n    \"serialNo\": \"23f8a71aa6b4af877e6b5b45da5d75d4\",\n    \"remarks\": \"CA reinstated after resolution of compromise issue\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/reinstate/ca","description":"<p>The '<strong>reinstateCA</strong>' API allows for the reinstatement of previously suspended CA Certificate. This functionality is used to restore certificates that were temporarily invalidated, or other reasons. By specifying the serial number of the suspended certificate, this API ensures the restoration of its validity, maintaining security and compliance with organizational certificate management policies.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<p><strong>Request Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>serialNo</td>\n<td>String</td>\n<td>Yes</td>\n<td>Certificate serial number for which reinstate is initiated.  <br />  <br />Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\"</td>\n</tr>\n<tr>\n<td>remarks</td>\n<td>String</td>\n<td>Yes</td>\n<td>The '<strong>Remarks</strong>' parameter in the '<strong>reinstate</strong>' API allows users to include additional comments to the certificate rekeying process.  <br />  <br />ex:-\"test\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["reinstate","ca"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"e4b2451e-7f68-442c-893e-c63ee706028b","name":"200 OK – CA reinstated","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"rereinstateDetails\": {\n    \"serialNo\": \"23f8a71aa6b4af877e6b5b45da5d75d4\",\n    \"remarks\": \"CA reinstated after resolution of compromise issue\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/reinstate/ca","description":"The '**reinstateCA**' API allows for the reinstatement of previously suspended CA Certificate. This functionality is used to restore certificates that were temporarily invalidated, or other reasons. By specifying the serial number of the suspended certificate, this API ensures the restoration of its validity, maintaining security and compliance with organizational certificate management policies.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n**Request Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| serialNo | String | Yes | Certificate serial number for which reinstate is initiated.  <br>  <br>Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\" |\n| remarks | String | Yes | The '**Remarks**' parameter in the '**reinstate**' API allows users to include additional comments to the certificate rekeying process.  <br>  <br>ex:-\"test\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"SUCCESS\",\n    \"errorCode\": null,\n    \"errorMessage\": null\n  },\n  \"response\": \"CA certificate reinstated successfully\"\n}"},{"id":"73d413f5-07d2-46c9-b123-5efceba72288","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"rereinstateDetails\": {\n    \"serialNo\": \"23f8a71aa6b4af877e6b5b45da5d75d4\",\n    \"remarks\": \"CA reinstated after resolution of compromise issue\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/reinstate/ca","description":"The '**reinstateCA**' API allows for the reinstatement of previously suspended CA Certificate. This functionality is used to restore certificates that were temporarily invalidated, or other reasons. By specifying the serial number of the suspended certificate, this API ensures the restoration of its validity, maintaining security and compliance with organizational certificate management policies.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n**Request Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| serialNo | String | Yes | Certificate serial number for which reinstate is initiated.  <br>  <br>Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\" |\n| remarks | String | Yes | The '**Remarks**' parameter in the '**reinstate**' API allows users to include additional comments to the certificate rekeying process.  <br>  <br>ex:-\"test\" |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"FAILURE\",\n    \"errorCode\": \"EMCA-400\",\n    \"errorMessage\": \"Invalid request parameters\"\n  }\n}"}],"_postman_id":"bcccc2da-eb9c-4397-bf97-e1682f9cd1de"},{"name":"createOrUpdateUserProfile","id":"5c9bd664-1f60-45d1-9d90-d1fb7b1c3ebc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"caId\": \"1\",\n  \"profileRequestDetails\": {\n    \"certificateProfileID\": \"\",\n    \"profileName\": \"End-Entity - Birth Identity Certificate3\",\n    \"subjectAttributes\": [\n      {\n        \"value\": \"USER-2024-001234\",\n        \"oid\": \"2.5.4.3\",\n        \"isMandatory\": \"1\",\n        \"dataType\": \"PrintableString\"\n      },\n      {\n        \"value\": \"Devices\",\n        \"oid\": \"2.5.4.11\",\n        \"isMandatory\": \"0\",\n        \"dataType\": \"PrintableString\"\n      },\n      {\n        \"value\": \"Example Corporation\",\n        \"oid\": \"2.5.4.10\",\n        \"isMandatory\": \"0\",\n        \"dataType\": \"PrintableString\"\n      },\n      {\n        \"value\": \"US\",\n        \"oid\": \"2.5.4.6\",\n        \"isMandatory\": \"0\",\n        \"dataType\": \"PrintableString\"\n      }\n    ],\n    \"extensions\": {\n      \"basicConstraints\": {\n        \"isEnabled\": \"1\",\n        \"isCritical\": \"0\",\n        \"type\": \"endEntity\",\n        \"pathLength\": \"none\",\n        \"sortOrder\": \"1\"\n      },\n      \"keyUsageAttributes\": {\n        \"encipherOnly\": \"0\",\n        \"isEnabled\": \"1\",\n        \"isCritical\": \"1\",\n        \"nonRepudiation\": \"0\",\n        \"digitalSignature\": \"1\",\n        \"keyEncipherment\": \"0\",\n        \"dataEncipherment\": \"0\",\n        \"keyAgreement\": \"1\",\n        \"keyCertSign\": \"0\",\n        \"crlSign\": \"0\",\n        \"decipherOnly\": \"0\",\n        \"sortOrder\": \"2\"\n      },\n      \"extendedKeyUsageAttributes\": {\n        \"isEnabled\": \"1\",\n        \"isCritical\": \"0\",\n        \"serverAuthentication\": \"1\",\n        \"clientAuthentication\": \"1\",\n        \"codeSigning\": \"0\",\n        \"emailProtection\": \"0\",\n        \"timeStamping\": \"0\",\n        \"ocspSigning\": \"0\",\n        \"msftDocumentSigning\": \"0\",\n        \"smartCardLogon\": \"0\",\n        \"adobeCertifiedDocumentSigning\": \"0\",\n        \"encryptionFileSystem\": \"0\",\n        \"sortOrder\": \"3\"\n      },\n      \"authInfoAccess\": {\n        \"isEnabled\": \"0\",\n        \"isCritical\": \"0\",\n        \"ocspURL\": \"http://pki.example.com/ocsp/Example\",\n        \"cAIssuerURL\": \"http://appemca.emudhra.com/repository/ca/ExampleIssuingCA02.cer\",\n        \"sortOrder\": \"4\"\n      },\n      \"authorityKeyIdentifier\": {\n        \"isEnabled\": \"1\",\n        \"isCritical\": \"0\",\n        \"sortOrder\": \"5\"\n      },\n      \"subjectKeyIdentifier\": {\n        \"isEnabled\": \"1\",\n        \"isCritical\": \"0\",\n        \"sortOrder\": \"6\"\n      },\n      \"certificatePolicy\": {\n        \"isEnabled\": \"1\",\n        \"isCritical\": \"0\",\n        \"policyOID\": [],\n        \"cpsURL\": \"http://pki.example.com/repository/cps/CPS.pdf\",\n        \"cpsPolicyOID\": \"2.16.356.100.1.8.1\",\n        \"sortOrder\": \"7\"\n      },\n      \"crlDistribution\": {\n        \"isEnabled\": \"0\",\n        \"isCritical\": \"0\",\n        \"crlURL\": \"http://appemca.emudhra.com/repository/crl/ExampleIssuingCA02.crl\",\n        \"sortOrder\": \"8\"\n      }\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/update/user-profile","description":"<p>The \"<strong>createOrUpdateUserProfile</strong>\" API is used to create or update a user certificate template. This template defines the details and specifications for user certificates.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>caId</td>\n<td>String</td>\n<td>Yes</td>\n<td>Unique identifier of the CA to which this certificate profile belongs</td>\n</tr>\n</tbody>\n</table>\n</div><p>| profileRequestDetails | JSON | Yes | The <strong>profileRequestDetails</strong> parameter is a required JSON object that contains the details for creating or updating a user certificate template.  <br />  <br />see <strong>certificateRequestDetails Fields</strong> below |</p>\n<p><strong>userProfileDetails Fields</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>certificateProfileID</td>\n<td>String</td>\n<td>No</td>\n<td>certificateProfileID (String, required for updating existing profiles, not required for creating new profiles): The unique identifier for the certificate profile.  <br />  <br />ex:- \"2\", \"54\"</td>\n</tr>\n<tr>\n<td>profileName</td>\n<td>String</td>\n<td>Yes</td>\n<td>The ID of the parent CA. Required if generating a sub CA certificate.  <br />  <br />ex:- \"2\", \"5\"</td>\n</tr>\n<tr>\n<td>subjectAttributes</td>\n<td>ArrayList of Object</td>\n<td>Yes</td>\n<td><strong>subjectAttributes</strong> (Array, required): An array of objects specifying the subject attributes of the certificate. Each object includes:  <br />  <br /><strong>oid</strong> (String, required): The Object Identifier (OID) for the attribute.  <br />  <br /><strong>isMandatory</strong> (String, required): Indicates whether the attribute is mandatory (\"1\" for yes, \"0\" for no).  <br />  <br /><strong>data</strong>Type (String, required): The data type of the attribute, such as \"PrintableString\".  <br />  <br />ex:-  <br />[  <br />{  <br />\"oid\": \"2.5.4.3\",  <br />\"isMandatory\": \"0\",  <br />\"dataType\": \"PrintableString\"  <br />},  <br />\"oid\": \"2.5.4.6\",  <br />\"isMandatory\": \"0\",  <br />\"dataType\": \"Utif8String\"  <br />}  <br />]</td>\n</tr>\n<tr>\n<td>extensions</td>\n<td>JSON</td>\n<td>Yes</td>\n<td><strong>caExtensions</strong> (Object, optional): A JSON object containing additional X509 extensions for the certificate such as keyUsage, authInfoAccess, certificatePolicy etc  <br />refer <strong>Supported Algorithms</strong>  <br />  <br />ex:-  <br />\"basicConstraints\": {  <br />\"isEnabled\": \"0\",  <br />\"isCritical\": \"0\",  <br />\"type\": \"root\",  <br />\"pathLength\": \"none\",  <br />\"sortOrder\": \"2\"  <br />},  <br />\"authInfoAccess\": {  <br />\"isEnabled\": \"0\",  <br />\"isCritical\": \"0\",  <br />\"ocspURL\": \"<a href=\"http://example.com/ocsp\">http://example.com/ocsp</a>,  <br />\"cAIssuerURL\": \"<a href=\"http://example.com/ca/testca.cer\">http://example.com/ca/testca.cer</a>,  <br />\"sortOrder\": \"1\"  <br />}</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Supported Algorithms</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>basicConstraints</td>\n<td>JSON</td>\n<td>Yes</td>\n<td><strong>basicConstraints</strong>: Specifies the basic constraints for the certificate.  <br />this parameter is a required JSON object that contains specific details such as below  <br />  <br /><strong>isEnabled</strong> (String, required): Indicates if the basic constraints extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br /><strong>isCritical</strong> (String, required): Indicates if the basic constraints extension is critical (\"1\" for enabled, \"0\" for disabled).  <br /><strong>type</strong> (String, required): Specifies the type of CA (e.g., \"root\", \"subCA\").  <br /><strong>pathLength</strong> (String, required): Specifies the maximum depth of valid certification paths that include this certificate.  <br />sortOrder (String, required): Specifies the order in which this extension is processed.  <br />  <br />ex:-  <br />{  <br />\"isEnabled\": \"0\",  <br />\"isCritical\": \"0\",  <br />\"type\": \"endEntity\",  <br />\"pathLength\": \"none\",  <br />\"sortOrder\": \"2\"  <br />}</td>\n</tr>\n<tr>\n<td>authInfoAccess</td>\n<td></td>\n<td>No</td>\n<td><strong>authInfoAccess</strong>: Contains URLs for OCSP responder and CA issuer, providing authority information access.  <br />  <br />this parameter is a required JSON object that contains specific details such as below  <br />  <br /><strong>isEnabled</strong> (String, required): Indicates if the authority information access extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br /><strong>isCritical</strong> (String, required): Indicates if the authority information access extension is critical (\"1\" for enabled, \"0\" for disabled).  <br /><strong>ocspURL</strong> (String, required): URL of the OCSP responder.  <br />cAIssuerURL (String, required): URL of the CA issuer certificate.  <br /><strong>sortOrder</strong> (String, required): Specifies the order in which this extension is processed.  <br />  <br />{  <br />\"isEnabled\": \"0\",  <br />\"isCritical\": \"0\",  <br />\"ocspURL\": \"<a href=\"http://example.com/ocsp\">http://example.com/ocsp</a>,  <br />\"cAIssuerURL\": \"<a href=\"http://example.com/ca/testca.cer\">http://example.com/ca/testca.cer</a>,  <br />\"sortOrder\": \"1\"  <br />}</td>\n</tr>\n<tr>\n<td>certificatePolicy</td>\n<td>JSON</td>\n<td>No</td>\n<td><strong>certificatePolicy</strong>: Defines policies under which the certificate was issued, including policy OIDs and CPS URLs.  <br />this parameter is a required JSON object that contains specific details such as below  <br />  <br /><strong>isEnabled</strong> (String, required): Indicates if the certificate policy extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br /><strong>isCritical</strong> (String, required): Indicates if the certificate policy extension is critical (\"1\" for enabled, \"0\" for disabled).  <br />policyOID (Array, required): An array of objects defining policy OIDs and optional user notice texts.  <br />oid (String, required): The Object Identifier for the policy.  <br />noticeText (String, required): Optional text notice for the policy.  <br />cpsURL (String, required): URL of the Certification Practice Statement.  <br />cpsPolicyOID (String, required): OID for the CPS policy.  <br />sortOrder (String, required): Specifies the order in which this extension is processed.  <br />  <br />ex:-  <br />{  <br />\"isEnabled\": \"0\",  <br />\"isCritical\": \"0\",  <br />\"policyOID\": [  <br />{  <br />\"oid\": \"1.3.24.33.34.34\",  <br />\"noticeText\": \"User Notice\"  <br />}  <br />],  <br />\"cpsURL\": \"<a href=\"http://www.example.com/repository/cps/test.pdf\">http://www.example.com/repository/cps/test.pdf</a>,  <br />\"cpsPolicyOID\": \"2.16.356.100.1.8.2\",  <br />\"sortOrder\": \"3\"  <br />}</td>\n</tr>\n<tr>\n<td>crlDistribution</td>\n<td></td>\n<td>No</td>\n<td><strong>crlDistribution</strong>: Provides URLs where the CRL (Certificate Revocation List) can be accessed.  <br />this parameter is a required JSON object that contains specific details such as below  <br />  <br /><strong>isEnabled</strong> (String, required): Indicates if the CRL distribution points extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br /><strong>isCritical</strong> (String, required): Indicates if the CRL distribution points extension is critical (\"1\" for enabled, \"0\" for disabled).  <br /><strong>crlURL</strong> (String, required): URL of the CRL.  <br /><strong>sortOrder</strong> (String, required): Specifies the order in which this extension is processed.  <br />  <br />ex:-  <br />{  <br />\"isEnabled\": \"0\",  <br />\"isCritical\": \"0\",  <br />\"crlURL\": \"<a href=\"http://www.example.com/repository/crls/test.crl\">http://www.example.com/repository/crls/test.crl</a>,  <br />\"sortOrder\": \"4\"  <br />}</td>\n</tr>\n<tr>\n<td>keyUsageAttributes</td>\n<td>JSON</td>\n<td>Yes</td>\n<td><strong>keyUsageAttributes</strong>: Defines the purpose of the key contained in the certificate, such as signing or enciphering.  <br />this parameter is a required JSON object that contains specific details.  <br />  <br /><strong>isEnabled</strong> (String, required): Indicates if the key usage extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br />  <br /><strong>isCritical</strong> (String, required): Indicates if the key usage extension is critical (\"1\" for enabled, \"0\" for disabled).  <br />  <br /><strong>encipherOnly</strong> (String, required): Indicates if the key is used for enciphering only.  <br />  <br /><strong>nonRepudiation</strong> (String, required): Indicates if the key is used for non-repudiation.  <br />  <br /><strong>digitalSignature</strong> (String, required): Indicates if the key is used for digital signatures.  <br />  <br /><strong>keyEncipherment</strong> (String, required): Indicates if the key is used for key encipherment.  <br />dataEncipherment (String, required): Indicates if the key is used for data encipherment.  <br />  <br /><strong>keyAgreement</strong> (String, required): Indicates if the key is used for key agreement.  <br />keyCertSign (String, required): Indicates if the key is used for signing certificates.  <br />  <br /><strong>crlSign</strong> (String, required): Indicates if the key is used for signing CRLs.  <br />  <br /><strong>decipherOnly</strong> (String, required): Indicates if the key is used for deciphering only.  <br />  <br /><strong>sortOrder</strong> (String, required): Specifies the order in which this extension is processed.  <br />ex:-  <br />{  <br />\"isEnabled\": \"0\",  <br />\"encipherOnly\": \"0\",  <br />\"isCritical\": \"0\",  <br />\"nonRepudiation\": \"0\",  <br />\"digitalSignature\": \"0\",  <br />\"keyEncipherment\": \"0\",  <br />\"dataEncipherment\": \"0\",  <br />\"keyAgreement\": \"0\",  <br />\"keyCertSign\": \"0\",  <br />\"crlSign\": \"0\",  <br />\"decipherOnly\": \"0\",  <br />\"sortOrder\": \"5\"  <br />}</td>\n</tr>\n<tr>\n<td>extendedKeyUsageAttributes</td>\n<td></td>\n<td>No</td>\n<td><strong>extendedKeyUsageAttributes</strong>: Specifies additional key usages for the certificate, such as server authentication or email protection.  <br />  <br />this parameter is a required JSON object that contains specific details.  <br />  <br /><strong>isEnabled</strong> (String, required): Indicates if the extended key usage extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br />  <br /><strong>isCritical</strong> (String, required): Indicates if the extended key usage extension is critical (\"1\" for enabled, \"0\" for disabled).  <br />  <br /><strong>serverAuthentication</strong> (String, required): Indicates if the key is used for server authentication.  <br />  <br /><strong>clientAuthentication</strong> (String, required): Indicates if the key is used for client authentication.  <br />  <br /><strong>codeSigning</strong> (String, required): Indicates if the key is used for code signing.  <br />  <br /><strong>emailProtection</strong> (String, required): Indicates if the key is used for email protection.  <br />  <br /><strong>timeStamping</strong> (String, required): Indicates if the key is used for timestamping.  <br />  <br /><strong>ocspSigning</strong> (String, required): Indicates if the key is used for OCSP signing.  <br />  <br /><strong>msftDocumentSigning</strong> (String, required): Indicates if the key is used for Microsoft document signing.  <br />  <br />smartCardLogon (String, required): Indicates if the key is used for smart card logon.  <br />  <br /><strong>adobeCertifiedDocumentSigning</strong> (String, required): Indicates if the key is used for Adobe certified document signing.  <br />  <br /><strong>encryptionFileSystem</strong> (String, required): Indicates if the key is used for the encryption file system.  <br /><strong>sortOrder</strong> (String, required): Specifies the order in which this extension is processed.  <br />  <br />ex:-  <br />{  <br />\"isEnabled\": \"0\",  <br />\"isCritical\": \"0\",  <br />\"serverAuthentication\": \"0\",  <br />\"clientAuthentication\": \"0\",  <br />\"codeSigning\": \"0\",  <br />\"emailProtection\": \"0\",  <br />\"timeStamping\": \"0\",  <br />\"ocspSigning\": \"0\",  <br />\"msftDocumentSigning\": \"0\",  <br />\"smartCardLogon\": \"0\",  <br />\"adobeCertifiedDocumentSigning\": \"0\",  <br />\"encryptionFileSystem\": \"0\",  <br />\"sortOrder\": \"6\"  <br />}</td>\n</tr>\n<tr>\n<td>subjectKeyIdentifier</td>\n<td></td>\n<td>Yes</td>\n<td><strong>subjectKeyIdentifier</strong>: Provides a unique identifier for the certificate's public key.  <br />  <br /><strong>isEnabled</strong> (String, required): Indicates if the subject key identifier extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br /><strong>isCritical</strong> (String, required): Indicates if the subject key identifier extension is critical (\"1\" for enabled, \"0\" for disabled).  <br /><strong>sortOrder</strong> (String, required): Specifies the order in which this extension is processed.  <br />  <br />ex:-  <br />{  <br />\"isEnabled\": \"0\",  <br />\"isCritical\": \"0\",  <br />\"sortOrder\": \"6\"  <br />}</td>\n</tr>\n<tr>\n<td>authorityKeyIdentifier</td>\n<td></td>\n<td>Yes</td>\n<td><strong>authorityKeyIdentifier</strong>: Provides a unique identifier for the key used to sign the certificate.  <br />  <br /><strong>isEnabled</strong> (String, required): Indicates if the authority key identifier extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br /><strong>isCritical</strong> (String, required): Indicates if the authority key identifier extension is critical (\"1\" for enabled, \"0\" for disabled).  <br /><strong>sortOrder</strong> (String, required): Specifies the order in which this extension is processed.  <br />  <br />{  <br />\"isEnabled\": \"0\",  <br />\"isCritical\": \"0\",  <br />\"sortOrder\": \"7\"  <br />}</td>\n</tr>\n<tr>\n<td>sanDetails</td>\n<td></td>\n<td>No</td>\n<td><strong>sanDetails</strong>: Specifies the Subject Alternative Name (SAN) attributes, including types and values.  <br />  <br /><strong>isCritical</strong> (String, required): Indicates if the SAN extension is critical (\"1\" for enabled, \"0\" for disabled).  <br />  <br /><strong>isEnabled</strong> (String, required): Indicates if the SAN extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br />  <br /><strong>sortOrder</strong> (String, required): Specifies the order in which this extension is processed.  <br />  <br /><strong>attri</strong>butes (Array, required): An array of objects specifying SAN attributes, each containing:  <br />  <br /><strong>type</strong> (String, required): The type of SAN (e.g., \"rfc822Name\").  <br />  <br /><strong>isMandatory</strong> (String, required): Indicates if the SAN attribute is mandatory.  <br />  <br />ex:-  <br />{  <br />\"isCritical\": \"0\",  <br />\"isEnabled\": \"0\",  <br />\"sortOrder\": \"1\",  <br />\"attributes\": [  <br />{  <br />\"type\": \"rfc822Name\",  <br />\"isMandatory\": \"0\"  <br />}  <br />]  <br />}</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["create","update","user-profile"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"94ade315-a3d8-4430-a44a-5b6375080c05","name":"200 OK – Profile saved","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"caId\": \"1\",\n  \"profileRequestDetails\": {\n    \"certificateProfileID\": \"\",\n    \"profileName\": \"End-Entity - Birth Identity Certificate3\",\n    \"subjectAttributes\": [\n      {\n        \"value\": \"USER-2024-001234\",\n        \"oid\": \"2.5.4.3\",\n        \"isMandatory\": \"1\",\n        \"dataType\": \"PrintableString\"\n      },\n      {\n        \"value\": \"Devices\",\n        \"oid\": \"2.5.4.11\",\n        \"isMandatory\": \"0\",\n        \"dataType\": \"PrintableString\"\n      },\n      {\n        \"value\": \"Example Corporation\",\n        \"oid\": \"2.5.4.10\",\n        \"isMandatory\": \"0\",\n        \"dataType\": \"PrintableString\"\n      },\n      {\n        \"value\": \"US\",\n        \"oid\": \"2.5.4.6\",\n        \"isMandatory\": \"0\",\n        \"dataType\": \"PrintableString\"\n      }\n    ],\n    \"extensions\": {\n      \"basicConstraints\": {\n        \"isEnabled\": \"1\",\n        \"isCritical\": \"0\",\n        \"type\": \"endEntity\",\n        \"pathLength\": \"none\",\n        \"sortOrder\": \"1\"\n      },\n      \"keyUsageAttributes\": {\n        \"encipherOnly\": \"0\",\n        \"isEnabled\": \"1\",\n        \"isCritical\": \"1\",\n        \"nonRepudiation\": \"0\",\n        \"digitalSignature\": \"1\",\n        \"keyEncipherment\": \"0\",\n        \"dataEncipherment\": \"0\",\n        \"keyAgreement\": \"1\",\n        \"keyCertSign\": \"0\",\n        \"crlSign\": \"0\",\n        \"decipherOnly\": \"0\",\n        \"sortOrder\": \"2\"\n      },\n      \"extendedKeyUsageAttributes\": {\n        \"isEnabled\": \"1\",\n        \"isCritical\": \"0\",\n        \"serverAuthentication\": \"1\",\n        \"clientAuthentication\": \"1\",\n        \"codeSigning\": \"0\",\n        \"emailProtection\": \"0\",\n        \"timeStamping\": \"0\",\n        \"ocspSigning\": \"0\",\n        \"msftDocumentSigning\": \"0\",\n        \"smartCardLogon\": \"0\",\n        \"adobeCertifiedDocumentSigning\": \"0\",\n        \"encryptionFileSystem\": \"0\",\n        \"sortOrder\": \"3\"\n      },\n      \"authInfoAccess\": {\n        \"isEnabled\": \"0\",\n        \"isCritical\": \"0\",\n        \"ocspURL\": \"http://pki.example.com/ocsp/Example\",\n        \"cAIssuerURL\": \"http://appemca.emudhra.com/repository/ca/ExampleIssuingCA02.cer\",\n        \"sortOrder\": \"4\"\n      },\n      \"authorityKeyIdentifier\": {\n        \"isEnabled\": \"1\",\n        \"isCritical\": \"0\",\n        \"sortOrder\": \"5\"\n      },\n      \"subjectKeyIdentifier\": {\n        \"isEnabled\": \"1\",\n        \"isCritical\": \"0\",\n        \"sortOrder\": \"6\"\n      },\n      \"certificatePolicy\": {\n        \"isEnabled\": \"1\",\n        \"isCritical\": \"0\",\n        \"policyOID\": [],\n        \"cpsURL\": \"http://pki.example.com/repository/cps/CPS.pdf\",\n        \"cpsPolicyOID\": \"2.16.356.100.1.8.1\",\n        \"sortOrder\": \"7\"\n      },\n      \"crlDistribution\": {\n        \"isEnabled\": \"0\",\n        \"isCritical\": \"0\",\n        \"crlURL\": \"http://appemca.emudhra.com/repository/crl/ExampleIssuingCA02.crl\",\n        \"sortOrder\": \"8\"\n      }\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/update/user-profile","description":"The \"**createOrUpdateUserProfile**\" API is used to create or update a user certificate template. This template defines the details and specifications for user certificates.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| caId | String | Yes | Unique identifier of the CA to which this certificate profile belongs |\n\n| profileRequestDetails | JSON | Yes | The **profileRequestDetails** parameter is a required JSON object that contains the details for creating or updating a user certificate template.  <br>  <br>see **certificateRequestDetails Fields** below |\n\n**userProfileDetails Fields**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| certificateProfileID | String | No | certificateProfileID (String, required for updating existing profiles, not required for creating new profiles): The unique identifier for the certificate profile.  <br>  <br>ex:- \"2\", \"54\" |\n| profileName | String | Yes | The ID of the parent CA. Required if generating a sub CA certificate.  <br>  <br>ex:- \"2\", \"5\" |\n| subjectAttributes | ArrayList of Object | Yes | **subjectAttributes** (Array, required): An array of objects specifying the subject attributes of the certificate. Each object includes:  <br>  <br>**oid** (String, required): The Object Identifier (OID) for the attribute.  <br>  <br>**isMandatory** (String, required): Indicates whether the attribute is mandatory (\"1\" for yes, \"0\" for no).  <br>  <br>**data**Type (String, required): The data type of the attribute, such as \"PrintableString\".  <br>  <br>ex:-  <br>\\[  <br>{  <br>\"oid\": \"2.5.4.3\",  <br>\"isMandatory\": \"0\",  <br>\"dataType\": \"PrintableString\"  <br>},  <br>\"oid\": \"2.5.4.6\",  <br>\"isMandatory\": \"0\",  <br>\"dataType\": \"Utif8String\"  <br>}  <br>\\] |\n| extensions | JSON | Yes | **caExtensions** (Object, optional): A JSON object containing additional X509 extensions for the certificate such as keyUsage, authInfoAccess, certificatePolicy etc  <br>refer **Supported Algorithms**  <br>  <br>ex:-  <br>\"basicConstraints\": {  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"type\": \"root\",  <br>\"pathLength\": \"none\",  <br>\"sortOrder\": \"2\"  <br>},  <br>\"authInfoAccess\": {  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"ocspURL\": \"http://example.com/ocsp,  <br>\"cAIssuerURL\": \"http://example.com/ca/testca.cer,  <br>\"sortOrder\": \"1\"  <br>} |\n\n**Supported Algorithms**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| basicConstraints | JSON | Yes | **basicConstraints**: Specifies the basic constraints for the certificate.  <br>this parameter is a required JSON object that contains specific details such as below  <br>  <br>**isEnabled** (String, required): Indicates if the basic constraints extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the basic constraints extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>**type** (String, required): Specifies the type of CA (e.g., \"root\", \"subCA\").  <br>**pathLength** (String, required): Specifies the maximum depth of valid certification paths that include this certificate.  <br>sortOrder (String, required): Specifies the order in which this extension is processed.  <br>  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"type\": \"endEntity\",  <br>\"pathLength\": \"none\",  <br>\"sortOrder\": \"2\"  <br>} |\n| authInfoAccess |  | No | **authInfoAccess**: Contains URLs for OCSP responder and CA issuer, providing authority information access.  <br>  <br>this parameter is a required JSON object that contains specific details such as below  <br>  <br>**isEnabled** (String, required): Indicates if the authority information access extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the authority information access extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>**ocspURL** (String, required): URL of the OCSP responder.  <br>cAIssuerURL (String, required): URL of the CA issuer certificate.  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"ocspURL\": \"http://example.com/ocsp,  <br>\"cAIssuerURL\": \"http://example.com/ca/testca.cer,  <br>\"sortOrder\": \"1\"  <br>} |\n| certificatePolicy | JSON | No | **certificatePolicy**: Defines policies under which the certificate was issued, including policy OIDs and CPS URLs.  <br>this parameter is a required JSON object that contains specific details such as below  <br>  <br>**isEnabled** (String, required): Indicates if the certificate policy extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the certificate policy extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>policyOID (Array, required): An array of objects defining policy OIDs and optional user notice texts.  <br>oid (String, required): The Object Identifier for the policy.  <br>noticeText (String, required): Optional text notice for the policy.  <br>cpsURL (String, required): URL of the Certification Practice Statement.  <br>cpsPolicyOID (String, required): OID for the CPS policy.  <br>sortOrder (String, required): Specifies the order in which this extension is processed.  <br>  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"policyOID\": \\[  <br>{  <br>\"oid\": \"1.3.24.33.34.34\",  <br>\"noticeText\": \"User Notice\"  <br>}  <br>\\],  <br>\"cpsURL\": \"http://www.example.com/repository/cps/test.pdf,  <br>\"cpsPolicyOID\": \"2.16.356.100.1.8.2\",  <br>\"sortOrder\": \"3\"  <br>} |\n| crlDistribution |  | No | **crlDistribution**: Provides URLs where the CRL (Certificate Revocation List) can be accessed.  <br>this parameter is a required JSON object that contains specific details such as below  <br>  <br>**isEnabled** (String, required): Indicates if the CRL distribution points extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the CRL distribution points extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>**crlURL** (String, required): URL of the CRL.  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"crlURL\": \"http://www.example.com/repository/crls/test.crl,  <br>\"sortOrder\": \"4\"  <br>} |\n| keyUsageAttributes | JSON | Yes | **keyUsageAttributes**: Defines the purpose of the key contained in the certificate, such as signing or enciphering.  <br>this parameter is a required JSON object that contains specific details.  <br>  <br>**isEnabled** (String, required): Indicates if the key usage extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**isCritical** (String, required): Indicates if the key usage extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**encipherOnly** (String, required): Indicates if the key is used for enciphering only.  <br>  <br>**nonRepudiation** (String, required): Indicates if the key is used for non-repudiation.  <br>  <br>**digitalSignature** (String, required): Indicates if the key is used for digital signatures.  <br>  <br>**keyEncipherment** (String, required): Indicates if the key is used for key encipherment.  <br>dataEncipherment (String, required): Indicates if the key is used for data encipherment.  <br>  <br>**keyAgreement** (String, required): Indicates if the key is used for key agreement.  <br>keyCertSign (String, required): Indicates if the key is used for signing certificates.  <br>  <br>**crlSign** (String, required): Indicates if the key is used for signing CRLs.  <br>  <br>**decipherOnly** (String, required): Indicates if the key is used for deciphering only.  <br>  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"encipherOnly\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"nonRepudiation\": \"0\",  <br>\"digitalSignature\": \"0\",  <br>\"keyEncipherment\": \"0\",  <br>\"dataEncipherment\": \"0\",  <br>\"keyAgreement\": \"0\",  <br>\"keyCertSign\": \"0\",  <br>\"crlSign\": \"0\",  <br>\"decipherOnly\": \"0\",  <br>\"sortOrder\": \"5\"  <br>} |\n| extendedKeyUsageAttributes |  | No | **extendedKeyUsageAttributes**: Specifies additional key usages for the certificate, such as server authentication or email protection.  <br>  <br>this parameter is a required JSON object that contains specific details.  <br>  <br>**isEnabled** (String, required): Indicates if the extended key usage extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**isCritical** (String, required): Indicates if the extended key usage extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**serverAuthentication** (String, required): Indicates if the key is used for server authentication.  <br>  <br>**clientAuthentication** (String, required): Indicates if the key is used for client authentication.  <br>  <br>**codeSigning** (String, required): Indicates if the key is used for code signing.  <br>  <br>**emailProtection** (String, required): Indicates if the key is used for email protection.  <br>  <br>**timeStamping** (String, required): Indicates if the key is used for timestamping.  <br>  <br>**ocspSigning** (String, required): Indicates if the key is used for OCSP signing.  <br>  <br>**msftDocumentSigning** (String, required): Indicates if the key is used for Microsoft document signing.  <br>  <br>smartCardLogon (String, required): Indicates if the key is used for smart card logon.  <br>  <br>**adobeCertifiedDocumentSigning** (String, required): Indicates if the key is used for Adobe certified document signing.  <br>  <br>**encryptionFileSystem** (String, required): Indicates if the key is used for the encryption file system.  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"serverAuthentication\": \"0\",  <br>\"clientAuthentication\": \"0\",  <br>\"codeSigning\": \"0\",  <br>\"emailProtection\": \"0\",  <br>\"timeStamping\": \"0\",  <br>\"ocspSigning\": \"0\",  <br>\"msftDocumentSigning\": \"0\",  <br>\"smartCardLogon\": \"0\",  <br>\"adobeCertifiedDocumentSigning\": \"0\",  <br>\"encryptionFileSystem\": \"0\",  <br>\"sortOrder\": \"6\"  <br>} |\n| subjectKeyIdentifier |  | Yes | **subjectKeyIdentifier**: Provides a unique identifier for the certificate's public key.  <br>  <br>**isEnabled** (String, required): Indicates if the subject key identifier extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the subject key identifier extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"sortOrder\": \"6\"  <br>} |\n| authorityKeyIdentifier |  | Yes | **authorityKeyIdentifier**: Provides a unique identifier for the key used to sign the certificate.  <br>  <br>**isEnabled** (String, required): Indicates if the authority key identifier extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the authority key identifier extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"sortOrder\": \"7\"  <br>} |\n| sanDetails |  | No | **sanDetails**: Specifies the Subject Alternative Name (SAN) attributes, including types and values.  <br>  <br>**isCritical** (String, required): Indicates if the SAN extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**isEnabled** (String, required): Indicates if the SAN extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>**attri**butes (Array, required): An array of objects specifying SAN attributes, each containing:  <br>  <br>**type** (String, required): The type of SAN (e.g., \"rfc822Name\").  <br>  <br>**isMandatory** (String, required): Indicates if the SAN attribute is mandatory.  <br>  <br>ex:-  <br>{  <br>\"isCritical\": \"0\",  <br>\"isEnabled\": \"0\",  <br>\"sortOrder\": \"1\",  <br>\"attributes\": \\[  <br>{  <br>\"type\": \"rfc822Name\",  <br>\"isMandatory\": \"0\"  <br>}  <br>\\]  <br>} |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"SUCCESS\",\n    \"errorCode\": null,\n    \"errorMessage\": null\n  },\n  \"profileDetails\": {\n    \"profileId\": \"20\",\n    \"profileName\": \"DeviceCertProfile\",\n    \"caId\": \"7\",\n    \"validityCriteria\": \"y\",\n    \"validityValue\": \"5\"\n  }\n}"},{"id":"b79c6b75-a34b-4bc3-a46b-cedfc0c1a176","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"caId\": \"1\",\n  \"profileRequestDetails\": {\n    \"certificateProfileID\": \"\",\n    \"profileName\": \"End-Entity - Birth Identity Certificate3\",\n    \"subjectAttributes\": [\n      {\n        \"value\": \"USER-2024-001234\",\n        \"oid\": \"2.5.4.3\",\n        \"isMandatory\": \"1\",\n        \"dataType\": \"PrintableString\"\n      },\n      {\n        \"value\": \"Devices\",\n        \"oid\": \"2.5.4.11\",\n        \"isMandatory\": \"0\",\n        \"dataType\": \"PrintableString\"\n      },\n      {\n        \"value\": \"Example Corporation\",\n        \"oid\": \"2.5.4.10\",\n        \"isMandatory\": \"0\",\n        \"dataType\": \"PrintableString\"\n      },\n      {\n        \"value\": \"US\",\n        \"oid\": \"2.5.4.6\",\n        \"isMandatory\": \"0\",\n        \"dataType\": \"PrintableString\"\n      }\n    ],\n    \"extensions\": {\n      \"basicConstraints\": {\n        \"isEnabled\": \"1\",\n        \"isCritical\": \"0\",\n        \"type\": \"endEntity\",\n        \"pathLength\": \"none\",\n        \"sortOrder\": \"1\"\n      },\n      \"keyUsageAttributes\": {\n        \"encipherOnly\": \"0\",\n        \"isEnabled\": \"1\",\n        \"isCritical\": \"1\",\n        \"nonRepudiation\": \"0\",\n        \"digitalSignature\": \"1\",\n        \"keyEncipherment\": \"0\",\n        \"dataEncipherment\": \"0\",\n        \"keyAgreement\": \"1\",\n        \"keyCertSign\": \"0\",\n        \"crlSign\": \"0\",\n        \"decipherOnly\": \"0\",\n        \"sortOrder\": \"2\"\n      },\n      \"extendedKeyUsageAttributes\": {\n        \"isEnabled\": \"1\",\n        \"isCritical\": \"0\",\n        \"serverAuthentication\": \"1\",\n        \"clientAuthentication\": \"1\",\n        \"codeSigning\": \"0\",\n        \"emailProtection\": \"0\",\n        \"timeStamping\": \"0\",\n        \"ocspSigning\": \"0\",\n        \"msftDocumentSigning\": \"0\",\n        \"smartCardLogon\": \"0\",\n        \"adobeCertifiedDocumentSigning\": \"0\",\n        \"encryptionFileSystem\": \"0\",\n        \"sortOrder\": \"3\"\n      },\n      \"authInfoAccess\": {\n        \"isEnabled\": \"0\",\n        \"isCritical\": \"0\",\n        \"ocspURL\": \"http://pki.example.com/ocsp/Example\",\n        \"cAIssuerURL\": \"http://appemca.emudhra.com/repository/ca/ExampleIssuingCA02.cer\",\n        \"sortOrder\": \"4\"\n      },\n      \"authorityKeyIdentifier\": {\n        \"isEnabled\": \"1\",\n        \"isCritical\": \"0\",\n        \"sortOrder\": \"5\"\n      },\n      \"subjectKeyIdentifier\": {\n        \"isEnabled\": \"1\",\n        \"isCritical\": \"0\",\n        \"sortOrder\": \"6\"\n      },\n      \"certificatePolicy\": {\n        \"isEnabled\": \"1\",\n        \"isCritical\": \"0\",\n        \"policyOID\": [],\n        \"cpsURL\": \"http://pki.example.com/repository/cps/CPS.pdf\",\n        \"cpsPolicyOID\": \"2.16.356.100.1.8.1\",\n        \"sortOrder\": \"7\"\n      },\n      \"crlDistribution\": {\n        \"isEnabled\": \"0\",\n        \"isCritical\": \"0\",\n        \"crlURL\": \"http://appemca.emudhra.com/repository/crl/ExampleIssuingCA02.crl\",\n        \"sortOrder\": \"8\"\n      }\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/create/update/user-profile","description":"The \"**createOrUpdateUserProfile**\" API is used to create or update a user certificate template. This template defines the details and specifications for user certificates.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| caId | String | Yes | Unique identifier of the CA to which this certificate profile belongs |\n\n| profileRequestDetails | JSON | Yes | The **profileRequestDetails** parameter is a required JSON object that contains the details for creating or updating a user certificate template.  <br>  <br>see **certificateRequestDetails Fields** below |\n\n**userProfileDetails Fields**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| certificateProfileID | String | No | certificateProfileID (String, required for updating existing profiles, not required for creating new profiles): The unique identifier for the certificate profile.  <br>  <br>ex:- \"2\", \"54\" |\n| profileName | String | Yes | The ID of the parent CA. Required if generating a sub CA certificate.  <br>  <br>ex:- \"2\", \"5\" |\n| subjectAttributes | ArrayList of Object | Yes | **subjectAttributes** (Array, required): An array of objects specifying the subject attributes of the certificate. Each object includes:  <br>  <br>**oid** (String, required): The Object Identifier (OID) for the attribute.  <br>  <br>**isMandatory** (String, required): Indicates whether the attribute is mandatory (\"1\" for yes, \"0\" for no).  <br>  <br>**data**Type (String, required): The data type of the attribute, such as \"PrintableString\".  <br>  <br>ex:-  <br>\\[  <br>{  <br>\"oid\": \"2.5.4.3\",  <br>\"isMandatory\": \"0\",  <br>\"dataType\": \"PrintableString\"  <br>},  <br>\"oid\": \"2.5.4.6\",  <br>\"isMandatory\": \"0\",  <br>\"dataType\": \"Utif8String\"  <br>}  <br>\\] |\n| extensions | JSON | Yes | **caExtensions** (Object, optional): A JSON object containing additional X509 extensions for the certificate such as keyUsage, authInfoAccess, certificatePolicy etc  <br>refer **Supported Algorithms**  <br>  <br>ex:-  <br>\"basicConstraints\": {  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"type\": \"root\",  <br>\"pathLength\": \"none\",  <br>\"sortOrder\": \"2\"  <br>},  <br>\"authInfoAccess\": {  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"ocspURL\": \"http://example.com/ocsp,  <br>\"cAIssuerURL\": \"http://example.com/ca/testca.cer,  <br>\"sortOrder\": \"1\"  <br>} |\n\n**Supported Algorithms**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| basicConstraints | JSON | Yes | **basicConstraints**: Specifies the basic constraints for the certificate.  <br>this parameter is a required JSON object that contains specific details such as below  <br>  <br>**isEnabled** (String, required): Indicates if the basic constraints extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the basic constraints extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>**type** (String, required): Specifies the type of CA (e.g., \"root\", \"subCA\").  <br>**pathLength** (String, required): Specifies the maximum depth of valid certification paths that include this certificate.  <br>sortOrder (String, required): Specifies the order in which this extension is processed.  <br>  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"type\": \"endEntity\",  <br>\"pathLength\": \"none\",  <br>\"sortOrder\": \"2\"  <br>} |\n| authInfoAccess |  | No | **authInfoAccess**: Contains URLs for OCSP responder and CA issuer, providing authority information access.  <br>  <br>this parameter is a required JSON object that contains specific details such as below  <br>  <br>**isEnabled** (String, required): Indicates if the authority information access extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the authority information access extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>**ocspURL** (String, required): URL of the OCSP responder.  <br>cAIssuerURL (String, required): URL of the CA issuer certificate.  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"ocspURL\": \"http://example.com/ocsp,  <br>\"cAIssuerURL\": \"http://example.com/ca/testca.cer,  <br>\"sortOrder\": \"1\"  <br>} |\n| certificatePolicy | JSON | No | **certificatePolicy**: Defines policies under which the certificate was issued, including policy OIDs and CPS URLs.  <br>this parameter is a required JSON object that contains specific details such as below  <br>  <br>**isEnabled** (String, required): Indicates if the certificate policy extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the certificate policy extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>policyOID (Array, required): An array of objects defining policy OIDs and optional user notice texts.  <br>oid (String, required): The Object Identifier for the policy.  <br>noticeText (String, required): Optional text notice for the policy.  <br>cpsURL (String, required): URL of the Certification Practice Statement.  <br>cpsPolicyOID (String, required): OID for the CPS policy.  <br>sortOrder (String, required): Specifies the order in which this extension is processed.  <br>  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"policyOID\": \\[  <br>{  <br>\"oid\": \"1.3.24.33.34.34\",  <br>\"noticeText\": \"User Notice\"  <br>}  <br>\\],  <br>\"cpsURL\": \"http://www.example.com/repository/cps/test.pdf,  <br>\"cpsPolicyOID\": \"2.16.356.100.1.8.2\",  <br>\"sortOrder\": \"3\"  <br>} |\n| crlDistribution |  | No | **crlDistribution**: Provides URLs where the CRL (Certificate Revocation List) can be accessed.  <br>this parameter is a required JSON object that contains specific details such as below  <br>  <br>**isEnabled** (String, required): Indicates if the CRL distribution points extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the CRL distribution points extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>**crlURL** (String, required): URL of the CRL.  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"crlURL\": \"http://www.example.com/repository/crls/test.crl,  <br>\"sortOrder\": \"4\"  <br>} |\n| keyUsageAttributes | JSON | Yes | **keyUsageAttributes**: Defines the purpose of the key contained in the certificate, such as signing or enciphering.  <br>this parameter is a required JSON object that contains specific details.  <br>  <br>**isEnabled** (String, required): Indicates if the key usage extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**isCritical** (String, required): Indicates if the key usage extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**encipherOnly** (String, required): Indicates if the key is used for enciphering only.  <br>  <br>**nonRepudiation** (String, required): Indicates if the key is used for non-repudiation.  <br>  <br>**digitalSignature** (String, required): Indicates if the key is used for digital signatures.  <br>  <br>**keyEncipherment** (String, required): Indicates if the key is used for key encipherment.  <br>dataEncipherment (String, required): Indicates if the key is used for data encipherment.  <br>  <br>**keyAgreement** (String, required): Indicates if the key is used for key agreement.  <br>keyCertSign (String, required): Indicates if the key is used for signing certificates.  <br>  <br>**crlSign** (String, required): Indicates if the key is used for signing CRLs.  <br>  <br>**decipherOnly** (String, required): Indicates if the key is used for deciphering only.  <br>  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"encipherOnly\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"nonRepudiation\": \"0\",  <br>\"digitalSignature\": \"0\",  <br>\"keyEncipherment\": \"0\",  <br>\"dataEncipherment\": \"0\",  <br>\"keyAgreement\": \"0\",  <br>\"keyCertSign\": \"0\",  <br>\"crlSign\": \"0\",  <br>\"decipherOnly\": \"0\",  <br>\"sortOrder\": \"5\"  <br>} |\n| extendedKeyUsageAttributes |  | No | **extendedKeyUsageAttributes**: Specifies additional key usages for the certificate, such as server authentication or email protection.  <br>  <br>this parameter is a required JSON object that contains specific details.  <br>  <br>**isEnabled** (String, required): Indicates if the extended key usage extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**isCritical** (String, required): Indicates if the extended key usage extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**serverAuthentication** (String, required): Indicates if the key is used for server authentication.  <br>  <br>**clientAuthentication** (String, required): Indicates if the key is used for client authentication.  <br>  <br>**codeSigning** (String, required): Indicates if the key is used for code signing.  <br>  <br>**emailProtection** (String, required): Indicates if the key is used for email protection.  <br>  <br>**timeStamping** (String, required): Indicates if the key is used for timestamping.  <br>  <br>**ocspSigning** (String, required): Indicates if the key is used for OCSP signing.  <br>  <br>**msftDocumentSigning** (String, required): Indicates if the key is used for Microsoft document signing.  <br>  <br>smartCardLogon (String, required): Indicates if the key is used for smart card logon.  <br>  <br>**adobeCertifiedDocumentSigning** (String, required): Indicates if the key is used for Adobe certified document signing.  <br>  <br>**encryptionFileSystem** (String, required): Indicates if the key is used for the encryption file system.  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"serverAuthentication\": \"0\",  <br>\"clientAuthentication\": \"0\",  <br>\"codeSigning\": \"0\",  <br>\"emailProtection\": \"0\",  <br>\"timeStamping\": \"0\",  <br>\"ocspSigning\": \"0\",  <br>\"msftDocumentSigning\": \"0\",  <br>\"smartCardLogon\": \"0\",  <br>\"adobeCertifiedDocumentSigning\": \"0\",  <br>\"encryptionFileSystem\": \"0\",  <br>\"sortOrder\": \"6\"  <br>} |\n| subjectKeyIdentifier |  | Yes | **subjectKeyIdentifier**: Provides a unique identifier for the certificate's public key.  <br>  <br>**isEnabled** (String, required): Indicates if the subject key identifier extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the subject key identifier extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>ex:-  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"sortOrder\": \"6\"  <br>} |\n| authorityKeyIdentifier |  | Yes | **authorityKeyIdentifier**: Provides a unique identifier for the key used to sign the certificate.  <br>  <br>**isEnabled** (String, required): Indicates if the authority key identifier extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>**isCritical** (String, required): Indicates if the authority key identifier extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>{  <br>\"isEnabled\": \"0\",  <br>\"isCritical\": \"0\",  <br>\"sortOrder\": \"7\"  <br>} |\n| sanDetails |  | No | **sanDetails**: Specifies the Subject Alternative Name (SAN) attributes, including types and values.  <br>  <br>**isCritical** (String, required): Indicates if the SAN extension is critical (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**isEnabled** (String, required): Indicates if the SAN extension is enabled (\"1\" for enabled, \"0\" for disabled).  <br>  <br>**sortOrder** (String, required): Specifies the order in which this extension is processed.  <br>  <br>**attri**butes (Array, required): An array of objects specifying SAN attributes, each containing:  <br>  <br>**type** (String, required): The type of SAN (e.g., \"rfc822Name\").  <br>  <br>**isMandatory** (String, required): Indicates if the SAN attribute is mandatory.  <br>  <br>ex:-  <br>{  <br>\"isCritical\": \"0\",  <br>\"isEnabled\": \"0\",  <br>\"sortOrder\": \"1\",  <br>\"attributes\": \\[  <br>{  <br>\"type\": \"rfc822Name\",  <br>\"isMandatory\": \"0\"  <br>}  <br>\\]  <br>} |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"FAILURE\",\n    \"errorCode\": \"EMCA-400\",\n    \"errorMessage\": \"Invalid request parameters\"\n  }\n}"}],"_postman_id":"5c9bd664-1f60-45d1-9d90-d1fb7b1c3ebc"},{"name":"createUserCertificate","id":"6f2d4930-2f4f-46c9-8c70-04402fce5cf4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"certificateRequestDetails\": {\n    \"certificateProfileID\": \"20\",\n    \"csr\": \"MIICbDCCAVQCAQAwJzElMCMGA1UEAxMcVXNlciBDZXJ0aWZpY2F0ZSB3aXRoIEpXVCAwMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMWhxvjou995s6tKopDI8W/+mkAPgKLproQqLIZtGt8o23gkw47bcW67GjXxKhoAssShvthjbU6rScFf6JoL41/rKOvQF3WWSfc+fe0VBmzKruZOLk+KvrjgTj5uPM9MgYwvZEh9gWfPIUNIWDL+O1O/PR2Zcuke3qenP180/gFE6IQ9/uWKZicLEhPrCW00dcJPD/fQipaFIT6VPHi0tbxUWmq6CaA36DJOPhx3Izs9B/JLXjmPRsY8aP0yLlCNJaDV0aSKfcnn2Pr0CWJid7d/mc7JDZrE4PPF10eXTPjiBYdXIr9ewfD+Mkl8aiIbiwZrsEduea0/9x7kGbbmzsMCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQBW8i3dyvlg251u9ZM4I+31RyrKs2WxbMecka8oIpS8KwtLx12hlulqZlsL/dfVIikDf/kE0hrJNEJXNTcMELCJSxoaVZKHXkgmXB4xHwBL2HbqvlohMJb+wAIMQ8RJgG5al52v+Rx1VwDh/S/mAjo3lCarXJb6IrgtaNBgLka4jKS6czOdCxcZ7YbUb4kShmLdgREmWtNasyn7K8kdypP5+IYAQqO2IW7N73fvbsz8D9UTuBXsLo/GKBoIZ9CdQn4DjKnX1ncU5S62gWfvvpguq9X2tskdNSDLE+ohsdHrAIdI8ntlbRR/Ryw9sMCBT/OJwdFo9JPWTYCBkIPSU7Ke\",\n    \"subCAID\": \"7\",\n    \"subjectAttributes\": [\n      {\n        \"value\": \"USER-2024-001234\",\n        \"oid\": \"2.5.4.3\"\n      },\n      {\n        \"value\": \"Devices\",\n        \"oid\": \"2.5.4.11\"\n      },\n      {\n        \"value\": \"Example Corporation\",\n        \"oid\": \"2.5.4.10\"\n      },\n      {\n        \"value\": \"US\",\n        \"oid\": \"2.5.4.6\"\n      }\n    ],\n    \"validityCriteria\": \"y\",\n    \"validityValue\": \"5\",\n    \"customExtensions\": [\n      {\n        \"type\": \"1.2.840.113549.1.9.14\",\n        \"value\": \"custom-extension-value\",\n        \"isCritical\": \"0\",\n        \"isMandatory\": \"0\",\n        \"dataType\": \"UTF8String\",\n        \"sortOrder\": \"1\"\n      }\n    ]\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/request/user-certificate","description":"<p>The \"<strong>createUserCertificate</strong>\" API is used to generate a user certificate based on the provided input parameters. The request includes details such as the certificate profile ID, CSR, SAN attributes, subordinate CA ID, subject attributes, and validity details. The generated user certificate can be returned in base64 encoded X509 format along with the chain of certificates.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>certificateRequestDetails</td>\n<td>JSON</td>\n<td>Yes</td>\n<td>The certificateRequestDetails parameter is a required JSON object that contains specific details about the certificate to be generated.  <br />  <br />see <strong>certificateRequestDetails Fields</strong> below</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>certificateRequestDetails Fields</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>certificateProfileID</td>\n<td>String</td>\n<td>Yes</td>\n<td><strong>certificateProfileID</strong> (String, required): The unique identifier for the certificate template to be used for certificate generation.  <br />  <br />ex:- \"2\", \"5\"</td>\n</tr>\n<tr>\n<td>subCAID</td>\n<td>String</td>\n<td>Yes</td>\n<td>The ID of the sub CA.  <br />  <br />ex:- \"2\", \"5\"</td>\n</tr>\n<tr>\n<td>csr</td>\n<td>String</td>\n<td>Yes</td>\n<td><strong>csr</strong> (String, required): The Certificate Signing Request (CSR) in string format.  <br />  <br />ex:- \"MIICzTCCAbUCAQAwgYcxCzAJBgN.................ZfsOtpt2/7j+bqeYKFu8B0stLoJBEnihxUoV18uZOmOeuVuX1N6nA==\"</td>\n</tr>\n<tr>\n<td>validityCriteria</td>\n<td>String</td>\n<td>Yes</td>\n<td><strong>validityCriteria</strong> (String, required): The criteria for the certificate's validity, such as \"days\", \"months\", or \"years\".  <br />  <br />ex:- \"days\"</td>\n</tr>\n<tr>\n<td>validityValue</td>\n<td>String</td>\n<td>Yes</td>\n<td><strong>validityValue :</strong> The value corresponding to the validity criteria (e.g., 365 for 365 days).  <br />  <br />ex:-\"365\"</td>\n</tr>\n<tr>\n<td>subjectAttributes</td>\n<td>ArrayList of Object</td>\n<td>Yes</td>\n<td><strong>subjectAttributes (Array, required)</strong>: An array of objects containing the subject attributes of the certificate. Each object includes:  <br />  <br /><strong>oid</strong> (String, required): The Object Identifier (OID) for the attribute.  <br /><strong>value</strong> (String, required): The value of the attribute.  <br />  <br />ex:-  <br />[  <br />{  <br />\"oid\": \"2.5.4.3\",  <br />\"value\": \"common name\"  <br />},  <br />\"oid\": \"2.5.4.6\",  <br />\"value\": \"IN\"  <br />}  <br />]</td>\n</tr>\n<tr>\n<td>sanAttributes</td>\n<td>ArrayList of Object</td>\n<td>No</td>\n<td><strong>sanAttributes</strong> (Array, optional): An array of objects specifying the Subject Alternative Name (SAN) attributes. Each object includes:  <br />  <br /><strong>type</strong> (String, required): The type of SAN attribute, such as \"rfc822Name\".  <br />  <br /><strong>value</strong> (String, required): The value of the SAN attribute.  <br />  <br />ex:-  <br />[  <br />{  <br />\"type\": \"rfc822Name\",  <br />\"value\": \"<a href=\"https://mailto:test@test.com\">test@test.com</a>\"  <br />},  <br />\"type\": \"dnsName\",  <br />\"value\": \"<a href=\"http://www.example.com\">www.example.com</a>  <br />}  <br />]</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>customExtensions Array Items</strong> (inside certificateRequestDetails)</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>type</td>\n<td>String</td>\n<td>Yes</td>\n<td>OID of the custom certificate extension (e.g., \"1.2.840.113549.1.9.14\")</td>\n</tr>\n<tr>\n<td>value</td>\n<td>String</td>\n<td>Yes</td>\n<td>Encoded value of the custom extension</td>\n</tr>\n<tr>\n<td>isCritical</td>\n<td>String</td>\n<td>No</td>\n<td>Whether the extension is critical: \"1\" for critical, \"0\" for non-critical (default: \"0\")</td>\n</tr>\n<tr>\n<td>isMandatory</td>\n<td>String</td>\n<td>No</td>\n<td>Whether the extension is mandatory: \"1\" for mandatory, \"0\" for optional (default: \"0\")</td>\n</tr>\n<tr>\n<td>dataType</td>\n<td>String</td>\n<td>No</td>\n<td>ASN.1 data type of the extension value (e.g., UTF8String, IA5String, OctetString)</td>\n</tr>\n<tr>\n<td>sortOrder</td>\n<td>String</td>\n<td>No</td>\n<td>Processing order for the extension (numeric string, e.g., \"1\")</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["request","user-certificate"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"ec9b08fd-8f01-41bd-9d17-ccfda134b6f7","name":"200 OK – Certificate issued","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"certificateRequestDetails\": {\n    \"certificateProfileID\": \"20\",\n    \"csr\": \"MIICbDCCAVQCAQAwJzElMCMGA1UEAxMcVXNlciBDZXJ0aWZpY2F0ZSB3aXRoIEpXVCAwMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMWhxvjou995s6tKopDI8W/+mkAPgKLproQqLIZtGt8o23gkw47bcW67GjXxKhoAssShvthjbU6rScFf6JoL41/rKOvQF3WWSfc+fe0VBmzKruZOLk+KvrjgTj5uPM9MgYwvZEh9gWfPIUNIWDL+O1O/PR2Zcuke3qenP180/gFE6IQ9/uWKZicLEhPrCW00dcJPD/fQipaFIT6VPHi0tbxUWmq6CaA36DJOPhx3Izs9B/JLXjmPRsY8aP0yLlCNJaDV0aSKfcnn2Pr0CWJid7d/mc7JDZrE4PPF10eXTPjiBYdXIr9ewfD+Mkl8aiIbiwZrsEduea0/9x7kGbbmzsMCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQBW8i3dyvlg251u9ZM4I+31RyrKs2WxbMecka8oIpS8KwtLx12hlulqZlsL/dfVIikDf/kE0hrJNEJXNTcMELCJSxoaVZKHXkgmXB4xHwBL2HbqvlohMJb+wAIMQ8RJgG5al52v+Rx1VwDh/S/mAjo3lCarXJb6IrgtaNBgLka4jKS6czOdCxcZ7YbUb4kShmLdgREmWtNasyn7K8kdypP5+IYAQqO2IW7N73fvbsz8D9UTuBXsLo/GKBoIZ9CdQn4DjKnX1ncU5S62gWfvvpguq9X2tskdNSDLE+ohsdHrAIdI8ntlbRR/Ryw9sMCBT/OJwdFo9JPWTYCBkIPSU7Ke\",\n    \"subCAID\": \"7\",\n    \"subjectAttributes\": [\n      {\n        \"value\": \"USER-2024-001234\",\n        \"oid\": \"2.5.4.3\"\n      },\n      {\n        \"value\": \"Devices\",\n        \"oid\": \"2.5.4.11\"\n      },\n      {\n        \"value\": \"Example Corporation\",\n        \"oid\": \"2.5.4.10\"\n      },\n      {\n        \"value\": \"US\",\n        \"oid\": \"2.5.4.6\"\n      }\n    ],\n    \"validityCriteria\": \"y\",\n    \"validityValue\": \"5\",\n    \"customExtensions\": [\n      {\n        \"type\": \"1.2.840.113549.1.9.14\",\n        \"value\": \"custom-extension-value\",\n        \"isCritical\": \"0\",\n        \"isMandatory\": \"0\",\n        \"dataType\": \"UTF8String\",\n        \"sortOrder\": \"1\"\n      }\n    ]\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/request/user-certificate","description":"The \"**createUserCertificate**\" API is used to generate a user certificate based on the provided input parameters. The request includes details such as the certificate profile ID, CSR, SAN attributes, subordinate CA ID, subject attributes, and validity details. The generated user certificate can be returned in base64 encoded X509 format along with the chain of certificates.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| certificateRequestDetails | JSON | Yes | The certificateRequestDetails parameter is a required JSON object that contains specific details about the certificate to be generated.  <br>  <br>see **certificateRequestDetails Fields** below |\n\n**certificateRequestDetails Fields**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| certificateProfileID | String | Yes | **certificateProfileID** (String, required): The unique identifier for the certificate template to be used for certificate generation.  <br>  <br>ex:- \"2\", \"5\" |\n| subCAID | String | Yes | The ID of the sub CA.  <br>  <br>ex:- \"2\", \"5\" |\n| csr | String | Yes | **csr** (String, required): The Certificate Signing Request (CSR) in string format.  <br>  <br>ex:- \"MIICzTCCAbUCAQAwgYcxCzAJBgN.................ZfsOtpt2/7j+bqeYKFu8B0stLoJBEnihxUoV18uZOmOeuVuX1N6nA==\" |\n| validityCriteria | String | Yes | **validityCriteria** (String, required): The criteria for the certificate's validity, such as \"days\", \"months\", or \"years\".  <br>  <br>ex:- \"days\" |\n| validityValue | String | Yes | **validityValue :** The value corresponding to the validity criteria (e.g., 365 for 365 days).  <br>  <br>ex:-\"365\" |\n| subjectAttributes | ArrayList of Object | Yes | **subjectAttributes (Array, required)**: An array of objects containing the subject attributes of the certificate. Each object includes:  <br>  <br>**oid** (String, required): The Object Identifier (OID) for the attribute.  <br>**value** (String, required): The value of the attribute.  <br>  <br>ex:-  <br>\\[  <br>{  <br>\"oid\": \"2.5.4.3\",  <br>\"value\": \"common name\"  <br>},  <br>\"oid\": \"2.5.4.6\",  <br>\"value\": \"IN\"  <br>}  <br>\\] |\n| sanAttributes | ArrayList of Object | No | **sanAttributes** (Array, optional): An array of objects specifying the Subject Alternative Name (SAN) attributes. Each object includes:  <br>  <br>**type** (String, required): The type of SAN attribute, such as \"rfc822Name\".  <br>  <br>**value** (String, required): The value of the SAN attribute.  <br>  <br>ex:-  <br>\\[  <br>{  <br>\"type\": \"rfc822Name\",  <br>\"value\": \"[test@test.com](https://mailto:test@test.com)\"  <br>},  <br>\"type\": \"dnsName\",  <br>\"value\": \"www.example.com  <br>}  <br>\\] |\n\n**customExtensions Array Items** (inside certificateRequestDetails)\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| type | String | Yes | OID of the custom certificate extension (e.g., \"1.2.840.113549.1.9.14\") |\n| value | String | Yes | Encoded value of the custom extension |\n| isCritical | String | No | Whether the extension is critical: \"1\" for critical, \"0\" for non-critical (default: \"0\") |\n| isMandatory | String | No | Whether the extension is mandatory: \"1\" for mandatory, \"0\" for optional (default: \"0\") |\n| dataType | String | No | ASN.1 data type of the extension value (e.g., UTF8String, IA5String, OctetString) |\n| sortOrder | String | No | Processing order for the extension (numeric string, e.g., \"1\") |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"SUCCESS\",\n    \"errorCode\": null,\n    \"errorMessage\": null\n  },\n  \"certificateDetails\": {\n    \"serialNumber\": \"bbc11e8f406e4a24c31c852660b464dd\",\n    \"commonName\": \"USER-2024-001234\",\n    \"caName\": \"Example Issuing CA 01\",\n    \"validFrom\": \"2026-04-17T00:00:00\",\n    \"expiryDate\": \"2031-04-17T00:00:00\",\n    \"certificateData\": \"MIID6TCCAtGgAwIBAgIUbbwR6E/base64encodedUserCert==\",\n    \"status\": \"ACTIVE\"\n  }\n}"},{"id":"668ac5ba-ae16-422b-b053-ef124ce56460","name":"400 Bad Request – Invalid CSR","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"certificateRequestDetails\": {\n    \"certificateProfileID\": \"20\",\n    \"csr\": \"MIICbDCCAVQCAQAwJzElMCMGA1UEAxMcVXNlciBDZXJ0aWZpY2F0ZSB3aXRoIEpXVCAwMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMWhxvjou995s6tKopDI8W/+mkAPgKLproQqLIZtGt8o23gkw47bcW67GjXxKhoAssShvthjbU6rScFf6JoL41/rKOvQF3WWSfc+fe0VBmzKruZOLk+KvrjgTj5uPM9MgYwvZEh9gWfPIUNIWDL+O1O/PR2Zcuke3qenP180/gFE6IQ9/uWKZicLEhPrCW00dcJPD/fQipaFIT6VPHi0tbxUWmq6CaA36DJOPhx3Izs9B/JLXjmPRsY8aP0yLlCNJaDV0aSKfcnn2Pr0CWJid7d/mc7JDZrE4PPF10eXTPjiBYdXIr9ewfD+Mkl8aiIbiwZrsEduea0/9x7kGbbmzsMCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQBW8i3dyvlg251u9ZM4I+31RyrKs2WxbMecka8oIpS8KwtLx12hlulqZlsL/dfVIikDf/kE0hrJNEJXNTcMELCJSxoaVZKHXkgmXB4xHwBL2HbqvlohMJb+wAIMQ8RJgG5al52v+Rx1VwDh/S/mAjo3lCarXJb6IrgtaNBgLka4jKS6czOdCxcZ7YbUb4kShmLdgREmWtNasyn7K8kdypP5+IYAQqO2IW7N73fvbsz8D9UTuBXsLo/GKBoIZ9CdQn4DjKnX1ncU5S62gWfvvpguq9X2tskdNSDLE+ohsdHrAIdI8ntlbRR/Ryw9sMCBT/OJwdFo9JPWTYCBkIPSU7Ke\",\n    \"subCAID\": \"7\",\n    \"subjectAttributes\": [\n      {\n        \"value\": \"USER-2024-001234\",\n        \"oid\": \"2.5.4.3\"\n      },\n      {\n        \"value\": \"Devices\",\n        \"oid\": \"2.5.4.11\"\n      },\n      {\n        \"value\": \"Example Corporation\",\n        \"oid\": \"2.5.4.10\"\n      },\n      {\n        \"value\": \"US\",\n        \"oid\": \"2.5.4.6\"\n      }\n    ],\n    \"validityCriteria\": \"y\",\n    \"validityValue\": \"5\",\n    \"customExtensions\": [\n      {\n        \"type\": \"1.2.840.113549.1.9.14\",\n        \"value\": \"custom-extension-value\",\n        \"isCritical\": \"0\",\n        \"isMandatory\": \"0\",\n        \"dataType\": \"UTF8String\",\n        \"sortOrder\": \"1\"\n      }\n    ]\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/request/user-certificate","description":"The \"**createUserCertificate**\" API is used to generate a user certificate based on the provided input parameters. The request includes details such as the certificate profile ID, CSR, SAN attributes, subordinate CA ID, subject attributes, and validity details. The generated user certificate can be returned in base64 encoded X509 format along with the chain of certificates.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| certificateRequestDetails | JSON | Yes | The certificateRequestDetails parameter is a required JSON object that contains specific details about the certificate to be generated.  <br>  <br>see **certificateRequestDetails Fields** below |\n\n**certificateRequestDetails Fields**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| certificateProfileID | String | Yes | **certificateProfileID** (String, required): The unique identifier for the certificate template to be used for certificate generation.  <br>  <br>ex:- \"2\", \"5\" |\n| subCAID | String | Yes | The ID of the sub CA.  <br>  <br>ex:- \"2\", \"5\" |\n| csr | String | Yes | **csr** (String, required): The Certificate Signing Request (CSR) in string format.  <br>  <br>ex:- \"MIICzTCCAbUCAQAwgYcxCzAJBgN.................ZfsOtpt2/7j+bqeYKFu8B0stLoJBEnihxUoV18uZOmOeuVuX1N6nA==\" |\n| validityCriteria | String | Yes | **validityCriteria** (String, required): The criteria for the certificate's validity, such as \"days\", \"months\", or \"years\".  <br>  <br>ex:- \"days\" |\n| validityValue | String | Yes | **validityValue :** The value corresponding to the validity criteria (e.g., 365 for 365 days).  <br>  <br>ex:-\"365\" |\n| subjectAttributes | ArrayList of Object | Yes | **subjectAttributes (Array, required)**: An array of objects containing the subject attributes of the certificate. Each object includes:  <br>  <br>**oid** (String, required): The Object Identifier (OID) for the attribute.  <br>**value** (String, required): The value of the attribute.  <br>  <br>ex:-  <br>\\[  <br>{  <br>\"oid\": \"2.5.4.3\",  <br>\"value\": \"common name\"  <br>},  <br>\"oid\": \"2.5.4.6\",  <br>\"value\": \"IN\"  <br>}  <br>\\] |\n| sanAttributes | ArrayList of Object | No | **sanAttributes** (Array, optional): An array of objects specifying the Subject Alternative Name (SAN) attributes. Each object includes:  <br>  <br>**type** (String, required): The type of SAN attribute, such as \"rfc822Name\".  <br>  <br>**value** (String, required): The value of the SAN attribute.  <br>  <br>ex:-  <br>\\[  <br>{  <br>\"type\": \"rfc822Name\",  <br>\"value\": \"[test@test.com](https://mailto:test@test.com)\"  <br>},  <br>\"type\": \"dnsName\",  <br>\"value\": \"www.example.com  <br>}  <br>\\] |\n\n**customExtensions Array Items** (inside certificateRequestDetails)\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| type | String | Yes | OID of the custom certificate extension (e.g., \"1.2.840.113549.1.9.14\") |\n| value | String | Yes | Encoded value of the custom extension |\n| isCritical | String | No | Whether the extension is critical: \"1\" for critical, \"0\" for non-critical (default: \"0\") |\n| isMandatory | String | No | Whether the extension is mandatory: \"1\" for mandatory, \"0\" for optional (default: \"0\") |\n| dataType | String | No | ASN.1 data type of the extension value (e.g., UTF8String, IA5String, OctetString) |\n| sortOrder | String | No | Processing order for the extension (numeric string, e.g., \"1\") |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"FAILURE\",\n    \"errorCode\": \"EMCA-400\",\n    \"errorMessage\": \"Invalid request parameters\"\n  }\n}"}],"_postman_id":"6f2d4930-2f4f-46c9-8c70-04402fce5cf4"}],"id":"bcc10c65-ac6c-4ec9-a2a2-9eb576f75e0d","description":"<p>The <strong>CA Management APIs</strong> provide comprehensive management of the Certificate Authority (CA) infrastructure within the emCA platform. These APIs support creating and managing key profiles (HSM/PKCS#11), generating root and sub-CA certificates, managing CRL profiles and CRL issuance, revoking/reinstating CAs, creating user certificate profiles, and issuing user certificates.</p>\n<h3 id=\"security-headers\">Security Headers</h3>\n<p>All CA Management API requests must include the following HTTP headers:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>X-Nonce</code></td>\n<td>A unique UUID generated per request to prevent replay attacks.</td>\n</tr>\n<tr>\n<td><code>X-Client-ID</code></td>\n<td>The tenant's client ID received upon registering an external application.</td>\n</tr>\n<tr>\n<td><code>X-Emca-Api-Key</code></td>\n<td>A JWT token obtained from the <code>/auth/token</code> endpoint. Valid for the configured expiry period.</td>\n</tr>\n</tbody>\n</table>\n</div>","event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"387a9a3b-b526-41f1-9fce-62a3f82060eb"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"948bec60-b527-4043-a01d-76bdae7614af"}}],"_postman_id":"bcc10c65-ac6c-4ec9-a2a2-9eb576f75e0d"},{"name":"Certificate Management","item":[{"name":"createCertificate","event":[{"listen":"prerequest","script":{"exec":[""],"type":"text/javascript","packages":{},"requests":{},"id":"3453dac8-6158-49e8-ad7a-6c3f794d4022"}}],"id":"a40b3f77-9394-4164-861b-bc959171b4fa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"profile\": \"12\",\r\n  \"output\": \"X509\",\r\n  \"csr\": \"MIIBhzCCAQ4CAQAwUDELMAkGA1UEBhMCVVMxEjAQBgNVBAoTCUNhbGl4IEluYzEQMA4GA1UECxMHRGV2aWNlczEbMBkGA1UEAxMSQVhPUy1BWE9TLTEyMzQ1NjY3MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqATmpa/4d7L+78wyA4wXyZ9rGJpHZ8vOuGafKL9wMfmcQbJiIFmYv0Im6Pb2FeDGHQx1rBgJm7TNvSdFLi413a6ffHqbUhh5yWE2et0pDhMfu8hWRSnWO3JM8oZRjlRDoD8wPQYJKoZIhvcNAQkOMTAwLjAsBgNVHREEJTAjhiF1cm46Y2FsaXg6YXhvczpkZXZpY2U6U04xMjM0NTY3ODkwCgYIKoZIzj0EAwIDZwAwZAIwPZC1Hk6e9utWjHTblvxYAnW2qL+Hx5jmTn+Q1MRJxjZRhtgA4GRmy7GZN+pqp9qeAjBEiJ/6HMqrWxuUPuiRgwp/AdJauXh8eDUMOGIIpEHlF/jhytRVbuvOf8bECDXMegw=\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/request","description":"<p>The \"createCertificate\" API is used to generate an X509 certificate for the provided CSR (PKCS10). The generated certificate can be returned either in base64 encoded X509 format or as a PEM, based on the specified requirements.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>profile</td>\n<td>String</td>\n<td>Yes</td>\n<td>A Certificate Profile name or Certificate Profile ID is a unique profile or template created for certificates. Profiles can be created by an admin on emCA or using the CA Management APIs.  <br />  <br />ex:- \"5\", \"SSL Certificate\"</td>\n</tr>\n<tr>\n<td>output</td>\n<td>String</td>\n<td>Yes</td>\n<td>Output defines the format of the certificate:  <br />X509: Base64 encoded X509 Certificate (without certificate chain).  <br />PEM: PEM format with certificate chain.  <br />  <br />ex:- \"X509\" or \"PEM\"</td>\n</tr>\n<tr>\n<td>csr</td>\n<td>String</td>\n<td>Yes</td>\n<td>Certificate Signing Request (#PKCS10)  <br />  <br />ex:-  <br />\"MIICzTCCAbUCAQAwgYcxCzAJBgNV..........GSe+BZfsOtpt2/7j+bqeYKFu8B0stLoJBEnihxUoV18uZOmOeuVuX1N6nA==\"</td>\n</tr>\n<tr>\n<td>subscriberID</td>\n<td>Integer</td>\n<td>No</td>\n<td>A Unique ID for the Subscribers/Devices uniquely identifies the Subscriber/Device.  <br />The value should only be a positive integer within the allowed range and up from 1 to 10 characters in length.  <br />  <br />ex:- 12345  <br />Max :</td>\n</tr>\n<tr>\n<td>txnID</td>\n<td>Long</td>\n<td>No</td>\n<td>The Transaction ID uniquely identifies the transaction.  <br />  <br />The value should only be a positive integer within the allowed range and upfrom 1 to 19 characters in length.  <br />  <br />ex:- 876545675</td>\n</tr>\n<tr>\n<td>validity</td>\n<td>JSON</td>\n<td>No</td>\n<td>Certificate validity can be defined only if the profile supports custom validity.  <br />  <br />The validity should be less than the validity periods of both the profile and the issuer.  <br />  <br />Ex:-  <br />{  <br />\"days\": 365,  <br />\"hours\": 0,  <br />\"minutes\": 0,  <br />\"seconds\": 0  <br />}</td>\n</tr>\n<tr>\n<td>validfrom</td>\n<td>JSON</td>\n<td>No</td>\n<td>Certificate validity can be defined starting from a specific date if the profile is enabled for custom validity.  <br />  <br />Validation for the validfrom field is as follows:  <br />  <br />validfrom should not be a past date.  <br />day - day of the month (1-31)  <br />month - month of the year (1-12)  <br />year - four-digit year (e.g., 2024)  <br />hour - hour of the day (0-23)  <br />minute - minute of the hour (0-59)  <br />second - second of the minute (0-59)\"  <br />  <br />ex:-  <br />{  <br />\"day\": 1,  <br />\"month\": 1,  <br />\"year\": 2024,  <br />\"hour\": 0,  <br />\"minute\": 0,  <br />\"second\": 0  <br />}</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["certificates","request"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"8846eafe-bb31-4b2d-bfa7-197a5680e8e4","name":"200 OK – Certificate issued","originalRequest":{"method":"POST","header":[{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"profile\": \"12\",\r\n  \"output\": \"X509\",\r\n  \"csr\": \"MIIBhzCCAQ4CAQAwUDELMAkGA1UEBhMCVVMxEjAQBgNVBAoTCUNhbGl4IEluYzEQMA4GA1UECxMHRGV2aWNlczEbMBkGA1UEAxMSQVhPUy1BWE9TLTEyMzQ1NjY3MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqATmpa/4d7L+78wyA4wXyZ9rGJpHZ8vOuGafKL9wMfmcQbJiIFmYv0Im6Pb2FeDGHQx1rBgJm7TNvSdFLi413a6ffHqbUhh5yWE2et0pDhMfu8hWRSnWO3JM8oZRjlRDoD8wPQYJKoZIhvcNAQkOMTAwLjAsBgNVHREEJTAjhiF1cm46Y2FsaXg6YXhvczpkZXZpY2U6U04xMjM0NTY3ODkwCgYIKoZIzj0EAwIDZwAwZAIwPZC1Hk6e9utWjHTblvxYAnW2qL+Hx5jmTn+Q1MRJxjZRhtgA4GRmy7GZN+pqp9qeAjBEiJ/6HMqrWxuUPuiRgwp/AdJauXh8eDUMOGIIpEHlF/jhytRVbuvOf8bECDXMegw=\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/request","description":"The \"createCertificate\" API is used to generate an X509 certificate for the provided CSR (PKCS10). The generated certificate can be returned either in base64 encoded X509 format or as a PEM, based on the specified requirements.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| profile | String | Yes | A Certificate Profile name or Certificate Profile ID is a unique profile or template created for certificates. Profiles can be created by an admin on emCA or using the CA Management APIs.  <br>  <br>ex:- \"5\", \"SSL Certificate\" |\n| output | String | Yes | Output defines the format of the certificate:  <br>X509: Base64 encoded X509 Certificate (without certificate chain).  <br>PEM: PEM format with certificate chain.  <br>  <br>ex:- \"X509\" or \"PEM\" |\n| csr | String | Yes | Certificate Signing Request (#PKCS10)  <br>  <br>ex:-  <br>\"MIICzTCCAbUCAQAwgYcxCzAJBgNV..........GSe+BZfsOtpt2/7j+bqeYKFu8B0stLoJBEnihxUoV18uZOmOeuVuX1N6nA==\" |\n| subscriberID | Integer | No | A Unique ID for the Subscribers/Devices uniquely identifies the Subscriber/Device.  <br>The value should only be a positive integer within the allowed range and up from 1 to 10 characters in length.  <br>  <br>ex:- 12345  <br>Max : |\n| txnID | Long | No | The Transaction ID uniquely identifies the transaction.  <br>  <br>The value should only be a positive integer within the allowed range and upfrom 1 to 19 characters in length.  <br>  <br>ex:- 876545675 |\n| validity | JSON | No | Certificate validity can be defined only if the profile supports custom validity.  <br>  <br>The validity should be less than the validity periods of both the profile and the issuer.  <br>  <br>Ex:-  <br>{  <br>\"days\": 365,  <br>\"hours\": 0,  <br>\"minutes\": 0,  <br>\"seconds\": 0  <br>} |\n| validfrom | JSON | No | Certificate validity can be defined starting from a specific date if the profile is enabled for custom validity.  <br>  <br>Validation for the validfrom field is as follows:  <br>  <br>validfrom should not be a past date.  <br>day - day of the month (1-31)  <br>month - month of the year (1-12)  <br>year - four-digit year (e.g., 2024)  <br>hour - hour of the day (0-23)  <br>minute - minute of the hour (0-59)  <br>second - second of the minute (0-59)\"  <br>  <br>ex:-  <br>{  <br>\"day\": 1,  <br>\"month\": 1,  <br>\"year\": 2024,  <br>\"hour\": 0,  <br>\"minute\": 0,  <br>\"second\": 0  <br>} |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"serialNumber\": \"bbc11e8f406e4a24c31c852660b464dd\",\n  \"certificate\": \"MIID6TCCAtGgAwIBAgIUbbwR6E/base64encodedCert==\",\n  \"certChain\": null,\n  \"requestId\": null,\n  \"expiryDate\": \"2031-04-17T00:00:00\"\n}"},{"id":"f407b778-0bfb-4487-ad19-752e16d649c0","name":"400 Bad Request – Profile not found","originalRequest":{"method":"POST","header":[{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"profile\": \"12\",\r\n  \"output\": \"X509\",\r\n  \"csr\": \"MIIBhzCCAQ4CAQAwUDELMAkGA1UEBhMCVVMxEjAQBgNVBAoTCUNhbGl4IEluYzEQMA4GA1UECxMHRGV2aWNlczEbMBkGA1UEAxMSQVhPUy1BWE9TLTEyMzQ1NjY3MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqATmpa/4d7L+78wyA4wXyZ9rGJpHZ8vOuGafKL9wMfmcQbJiIFmYv0Im6Pb2FeDGHQx1rBgJm7TNvSdFLi413a6ffHqbUhh5yWE2et0pDhMfu8hWRSnWO3JM8oZRjlRDoD8wPQYJKoZIhvcNAQkOMTAwLjAsBgNVHREEJTAjhiF1cm46Y2FsaXg6YXhvczpkZXZpY2U6U04xMjM0NTY3ODkwCgYIKoZIzj0EAwIDZwAwZAIwPZC1Hk6e9utWjHTblvxYAnW2qL+Hx5jmTn+Q1MRJxjZRhtgA4GRmy7GZN+pqp9qeAjBEiJ/6HMqrWxuUPuiRgwp/AdJauXh8eDUMOGIIpEHlF/jhytRVbuvOf8bECDXMegw=\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/request","description":"The \"createCertificate\" API is used to generate an X509 certificate for the provided CSR (PKCS10). The generated certificate can be returned either in base64 encoded X509 format or as a PEM, based on the specified requirements.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| profile | String | Yes | A Certificate Profile name or Certificate Profile ID is a unique profile or template created for certificates. Profiles can be created by an admin on emCA or using the CA Management APIs.  <br>  <br>ex:- \"5\", \"SSL Certificate\" |\n| output | String | Yes | Output defines the format of the certificate:  <br>X509: Base64 encoded X509 Certificate (without certificate chain).  <br>PEM: PEM format with certificate chain.  <br>  <br>ex:- \"X509\" or \"PEM\" |\n| csr | String | Yes | Certificate Signing Request (#PKCS10)  <br>  <br>ex:-  <br>\"MIICzTCCAbUCAQAwgYcxCzAJBgNV..........GSe+BZfsOtpt2/7j+bqeYKFu8B0stLoJBEnihxUoV18uZOmOeuVuX1N6nA==\" |\n| subscriberID | Integer | No | A Unique ID for the Subscribers/Devices uniquely identifies the Subscriber/Device.  <br>The value should only be a positive integer within the allowed range and up from 1 to 10 characters in length.  <br>  <br>ex:- 12345  <br>Max : |\n| txnID | Long | No | The Transaction ID uniquely identifies the transaction.  <br>  <br>The value should only be a positive integer within the allowed range and upfrom 1 to 19 characters in length.  <br>  <br>ex:- 876545675 |\n| validity | JSON | No | Certificate validity can be defined only if the profile supports custom validity.  <br>  <br>The validity should be less than the validity periods of both the profile and the issuer.  <br>  <br>Ex:-  <br>{  <br>\"days\": 365,  <br>\"hours\": 0,  <br>\"minutes\": 0,  <br>\"seconds\": 0  <br>} |\n| validfrom | JSON | No | Certificate validity can be defined starting from a specific date if the profile is enabled for custom validity.  <br>  <br>Validation for the validfrom field is as follows:  <br>  <br>validfrom should not be a past date.  <br>day - day of the month (1-31)  <br>month - month of the year (1-12)  <br>year - four-digit year (e.g., 2024)  <br>hour - hour of the day (0-23)  <br>minute - minute of the hour (0-59)  <br>second - second of the minute (0-59)\"  <br>  <br>ex:-  <br>{  <br>\"day\": 1,  <br>\"month\": 1,  <br>\"year\": 2024,  <br>\"hour\": 0,  <br>\"minute\": 0,  <br>\"second\": 0  <br>} |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"FAILURE\",\n  \"errorCode\": \"EMCA-400\",\n  \"errorMessage\": \"Certificate profile '12' not found\"\n}"}],"_postman_id":"a40b3f77-9394-4164-861b-bc959171b4fa"},{"name":"createCertificates","id":"c58acc83-797f-40e8-acb6-248005675846","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"},{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"profile\": \"3\",\r\n    \"output\": \"X509\",\r\n    \"csrInfo\": [\r\n        {\r\n            \"referenceId\": \"1001\",\r\n            \"csr\": \"MIICzTCCAbUCAQAwgYcxCzAJBgNVBAYTAkdCMRYwFAYDVQQIEw1TdGFmZm9yZHNoaXJlMRcwFQYDVQQHEw5TdG9rZSBvbiBUcmVudDEjMCEGA1UEChMaUmVkIEtlc3RyZWwgQ29uc3VsdGluZyBMdGQxIjAgBgNVBAMTGXRlc3RjZXJ0LnJlZGtlc3RyZWwuY28udWswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDWLeW88IeAIa3n23R99i874fh0jetf+STsGPgkfGXGJ++tclKGk3MJE0ijD4PNaxGXUCNULgn2ROyybm5sTmGzpEOD+1AAAyV+pLQoFNkHEFuudGqVM6XkPWfqaM2vKvdzUbPPC0X/MfDFGPxc8AY3TUM385c9c9/WOIF6NUcAvAFIQF0zG7evzJZBqDb4enUnatMSLHmxRWMi1JeHtfLINXhNitHewEQWgIB3j1xmh7CPO5FeTb6HzQDxc+f7uMisY6s9J/Ph3GeOCeIDooqU8jnfV5eGEzIMH5CFMZjajrNKF4DYK3YRyUI0K66+v0KILoUntEs++M20LhOn+VE9AgMBAAGgADANBgkqhkiG9w0BAQUFAAOCAQEAUWE7oBX3SLjYNM53bsBOlNGnsgAp1P1fiCPpEKaZGEOUJ2xOguIHSu1N1ZigKpWmiAAZxuoagW1R/ANM3jXpvCLVBRv40AHCFsot9udrdCYjI43aDHAaYvLmT4/Pvpntcn0/7+g//elAHhr9UIooMZwwwo6yom67Jwfw/be/g7Mae7mPHZ2lsQTS02hEeqVynIRk2W9meQULrt+/atog0mqJSBx0WswtHliTc+nXFpQrwFIEzVuPGCOVw7LmCfNmHNCkZVuRSJB/9MdLmrfwchPI3NeTGSe+BZfsOtpt2/7j+bqeYKFu8B0stLoJBEnihxUoV18uZOmOeuVuX1N6nA==\"\r\n        },\r\n        {\r\n            \"referenceId\": \"1002\",\r\n            \"csr\": \"MIIBLzCB1gIBADB0MSkwJwYJKoZIhvcNAQkBFhp0YW5tb3kucHJhZGhhbkBlbXVkaHJhLmNvbTENMAsGA1UEERMEbnVsbDEPMA0GA1UEAxMGVGFubW95MREwDwYDVQQKEwhQZXJzb25hbDEJMAcGA1UECBMAMQkwBwYDVQQGEwAwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAT+EAJgUf75U/UQ12h7ZR9AH4GLGByNOvgu4y/vQIKRkqZeY028EerKzpKjhhL4Ocb8CyNIl/pPElgRJzHawNBDoAAwCgYIKoZIzj0EAwIDSAAwRQIhAPABaUje1TrCD+RqlV4UFvo/pFO3GiMvr989qa8cZfBTAiBLhbbqAo/fx3fdKKahwuLMfbL2dvQXgMHFOdXiR0/oOA==\"\r\n        }\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/request/bulk","description":"<p>The \"createCertificates\" API is designed to generate multiple X509 Certificates based on up to 10 provided Certificate Signing Requests (CSRs). This API allows for the creation of certificates in either Base64 encoded X509Certificates or PEM. It enables efficient management and creation of multiple certificates simultaneously.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>profile</td>\n<td>String</td>\n<td>Yes</td>\n<td>A Certificate Profile name or Certificate Profile ID is a unique profile or template created for certificates. Profiles can be created by an admin on emCA or using the CA Management APIs.  <br />  <br />ex:- \"5\", \"SSL Certificate\"</td>\n</tr>\n<tr>\n<td>output</td>\n<td>String</td>\n<td>Yes</td>\n<td>Output defines the format of the certificate:  <br />X509: Base64 encoded X509 Certificate (without certificate chain).  <br />PEM: PEM format with certificate chain.  <br />  <br />ex:- \"X509\" or \"PEM\"</td>\n</tr>\n<tr>\n<td>csrInfo</td>\n<td>ArrayList</td>\n<td>Yes</td>\n<td>A JSON object of csr needs to be passed in an ArrayList for bulk signing. Each csrInfo object should include the necessary details for creating an X509 Certificate, allowing the API to process multiple Certificate Signing Requests (CSRs) simultaneously, up to a maximum of 10 CSRs  <br />  <br />referenceId : Unique Id for CSR.  <br />  <br />ex:-  <br />[  <br />{  <br />\"referenceId\": \"1001\",  <br />\"csr\": \"MIICzTCCAbUCAQAwgYcxCzAJBgN............NeTGSe+BZfsOtpt2/7j+bqeYKFu8B0stLoJBEnihxUoV18uZOmOeuVuX1N6nA==\"  <br />},  <br />{  <br />\"referenceId\": \"1002\",  <br />\"csr\": \"MIICzTCCAbUCAQAwgYcxCzAJBgN............NeTGSe+BZfsOtpt2/7j+bqeYKFu8B0stLoJBEnihxUoV18uZOmOeuVuX1N6nA==\"  <br />}  <br />]</td>\n</tr>\n<tr>\n<td>subscriberID</td>\n<td>Integer</td>\n<td>No</td>\n<td>A Unique ID for the Subscribers/Devices uniquely identifies the Subscriber/Device.  <br />The value should only be a positive integer within the allowed range and up from 1 to 10 characters in length.  <br />  <br />ex:- 12345</td>\n</tr>\n<tr>\n<td>txnID</td>\n<td>Long</td>\n<td>No</td>\n<td>The Transaction ID uniquely identifies the transaction.  <br />  <br />The value should only be a positive integer within the allowed range and upfrom 1 to 19 characters in length.  <br />  <br />ex:- 876545675</td>\n</tr>\n<tr>\n<td>validity</td>\n<td>JSON</td>\n<td>No</td>\n<td>Certificate validity can be defined only if the profile supports custom validity.  <br />  <br />The validity should be less than the validity periods of both the profile and the issuer.  <br />  <br />Ex:-  <br />{  <br />\"days\": 365,  <br />\"hours\": 0,  <br />\"minutes\": 0,  <br />\"seconds\": 0  <br />}</td>\n</tr>\n<tr>\n<td>validfrom</td>\n<td>JSON</td>\n<td>No</td>\n<td>Certificate validity can be defined starting from a specific date if the profile is enabled for custom validity.  <br />  <br />Validation for the validfrom field is as follows:  <br />  <br />validfrom should not be a past date.  <br />day - day of the month (1-31)  <br />month - month of the year (1-12)  <br />year - four-digit year (e.g., 2024)  <br />hour - hour of the day (0-23)  <br />minute - minute of the hour (0-59)  <br />second - second of the minute (0-59)\"  <br />  <br />ex:-  <br />{  <br />\"day\": 1,  <br />\"month\": 1,  <br />\"year\": 2024,  <br />\"hour\": 0,  <br />\"minute\": 0,  <br />\"second\": 0  <br />}</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["certificates","request","bulk"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"8b66df59-3870-400d-8441-b0fad8025a9d","name":"200 OK – Bulk certificates issued","originalRequest":{"method":"POST","header":[{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"},{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"profile\": \"3\",\r\n    \"output\": \"X509\",\r\n    \"csrInfo\": [\r\n        {\r\n            \"referenceId\": \"1001\",\r\n            \"csr\": \"MIICzTCCAbUCAQAwgYcxCzAJBgNVBAYTAkdCMRYwFAYDVQQIEw1TdGFmZm9yZHNoaXJlMRcwFQYDVQQHEw5TdG9rZSBvbiBUcmVudDEjMCEGA1UEChMaUmVkIEtlc3RyZWwgQ29uc3VsdGluZyBMdGQxIjAgBgNVBAMTGXRlc3RjZXJ0LnJlZGtlc3RyZWwuY28udWswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDWLeW88IeAIa3n23R99i874fh0jetf+STsGPgkfGXGJ++tclKGk3MJE0ijD4PNaxGXUCNULgn2ROyybm5sTmGzpEOD+1AAAyV+pLQoFNkHEFuudGqVM6XkPWfqaM2vKvdzUbPPC0X/MfDFGPxc8AY3TUM385c9c9/WOIF6NUcAvAFIQF0zG7evzJZBqDb4enUnatMSLHmxRWMi1JeHtfLINXhNitHewEQWgIB3j1xmh7CPO5FeTb6HzQDxc+f7uMisY6s9J/Ph3GeOCeIDooqU8jnfV5eGEzIMH5CFMZjajrNKF4DYK3YRyUI0K66+v0KILoUntEs++M20LhOn+VE9AgMBAAGgADANBgkqhkiG9w0BAQUFAAOCAQEAUWE7oBX3SLjYNM53bsBOlNGnsgAp1P1fiCPpEKaZGEOUJ2xOguIHSu1N1ZigKpWmiAAZxuoagW1R/ANM3jXpvCLVBRv40AHCFsot9udrdCYjI43aDHAaYvLmT4/Pvpntcn0/7+g//elAHhr9UIooMZwwwo6yom67Jwfw/be/g7Mae7mPHZ2lsQTS02hEeqVynIRk2W9meQULrt+/atog0mqJSBx0WswtHliTc+nXFpQrwFIEzVuPGCOVw7LmCfNmHNCkZVuRSJB/9MdLmrfwchPI3NeTGSe+BZfsOtpt2/7j+bqeYKFu8B0stLoJBEnihxUoV18uZOmOeuVuX1N6nA==\"\r\n        },\r\n        {\r\n            \"referenceId\": \"1002\",\r\n            \"csr\": \"MIIBLzCB1gIBADB0MSkwJwYJKoZIhvcNAQkBFhp0YW5tb3kucHJhZGhhbkBlbXVkaHJhLmNvbTENMAsGA1UEERMEbnVsbDEPMA0GA1UEAxMGVGFubW95MREwDwYDVQQKEwhQZXJzb25hbDEJMAcGA1UECBMAMQkwBwYDVQQGEwAwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAT+EAJgUf75U/UQ12h7ZR9AH4GLGByNOvgu4y/vQIKRkqZeY028EerKzpKjhhL4Ocb8CyNIl/pPElgRJzHawNBDoAAwCgYIKoZIzj0EAwIDSAAwRQIhAPABaUje1TrCD+RqlV4UFvo/pFO3GiMvr989qa8cZfBTAiBLhbbqAo/fx3fdKKahwuLMfbL2dvQXgMHFOdXiR0/oOA==\"\r\n        }\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/request/bulk","description":"The \"createCertificates\" API is designed to generate multiple X509 Certificates based on up to 10 provided Certificate Signing Requests (CSRs). This API allows for the creation of certificates in either Base64 encoded X509Certificates or PEM. It enables efficient management and creation of multiple certificates simultaneously.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| profile | String | Yes | A Certificate Profile name or Certificate Profile ID is a unique profile or template created for certificates. Profiles can be created by an admin on emCA or using the CA Management APIs.  <br>  <br>ex:- \"5\", \"SSL Certificate\" |\n| output | String | Yes | Output defines the format of the certificate:  <br>X509: Base64 encoded X509 Certificate (without certificate chain).  <br>PEM: PEM format with certificate chain.  <br>  <br>ex:- \"X509\" or \"PEM\" |\n| csrInfo | ArrayList | Yes | A JSON object of csr needs to be passed in an ArrayList for bulk signing. Each csrInfo object should include the necessary details for creating an X509 Certificate, allowing the API to process multiple Certificate Signing Requests (CSRs) simultaneously, up to a maximum of 10 CSRs  <br>  <br>referenceId : Unique Id for CSR.  <br>  <br>ex:-  <br>\\[  <br>{  <br>\"referenceId\": \"1001\",  <br>\"csr\": \"MIICzTCCAbUCAQAwgYcxCzAJBgN............NeTGSe+BZfsOtpt2/7j+bqeYKFu8B0stLoJBEnihxUoV18uZOmOeuVuX1N6nA==\"  <br>},  <br>{  <br>\"referenceId\": \"1002\",  <br>\"csr\": \"MIICzTCCAbUCAQAwgYcxCzAJBgN............NeTGSe+BZfsOtpt2/7j+bqeYKFu8B0stLoJBEnihxUoV18uZOmOeuVuX1N6nA==\"  <br>}  <br>\\] |\n| subscriberID | Integer | No | A Unique ID for the Subscribers/Devices uniquely identifies the Subscriber/Device.  <br>The value should only be a positive integer within the allowed range and up from 1 to 10 characters in length.  <br>  <br>ex:- 12345 |\n| txnID | Long | No | The Transaction ID uniquely identifies the transaction.  <br>  <br>The value should only be a positive integer within the allowed range and upfrom 1 to 19 characters in length.  <br>  <br>ex:- 876545675 |\n| validity | JSON | No | Certificate validity can be defined only if the profile supports custom validity.  <br>  <br>The validity should be less than the validity periods of both the profile and the issuer.  <br>  <br>Ex:-  <br>{  <br>\"days\": 365,  <br>\"hours\": 0,  <br>\"minutes\": 0,  <br>\"seconds\": 0  <br>} |\n| validfrom | JSON | No | Certificate validity can be defined starting from a specific date if the profile is enabled for custom validity.  <br>  <br>Validation for the validfrom field is as follows:  <br>  <br>validfrom should not be a past date.  <br>day - day of the month (1-31)  <br>month - month of the year (1-12)  <br>year - four-digit year (e.g., 2024)  <br>hour - hour of the day (0-23)  <br>minute - minute of the hour (0-59)  <br>second - second of the minute (0-59)\"  <br>  <br>ex:-  <br>{  <br>\"day\": 1,  <br>\"month\": 1,  <br>\"year\": 2024,  <br>\"hour\": 0,  <br>\"minute\": 0,  <br>\"second\": 0  <br>} |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"requestId\": \"bulk-req-20240101-001\",\n  \"totalRequested\": 2,\n  \"totalIssued\": 2,\n  \"certificates\": [\n    {\n      \"serialNumber\": \"aaa111bbb222ccc333\",\n      \"certificate\": \"MIID6T...base64==\",\n      \"expiryDate\": \"2031-04-17T00:00:00\"\n    },\n    {\n      \"serialNumber\": \"ddd444eee555fff666\",\n      \"certificate\": \"MIID7U...base64==\",\n      \"expiryDate\": \"2031-04-17T00:00:00\"\n    }\n  ]\n}"}],"_postman_id":"c58acc83-797f-40e8-acb6-248005675846"},{"name":"createCustomCertificate","id":"018f8483-bb9a-4633-82d0-0663847d0ba3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"profile\": \"3\",\r\n    \"subjectDN\": {\r\n        \"commonName\": \"test\",\r\n        \"country\": \"IN\"\r\n    },\r\n    \"san\": {\r\n    \"dnsName\": \"www.example.com\"\r\n  },\r\n    \"esign\": \"No\",\r\n    \"output\": \"X509\",\r\n    \"csr\": \"MIIBLzCB1gIBADB0MSkwJwYJKoZIhvcNAQkBFhp0YW5tb3kucHJhZGhhbkBlbXVkaHJhLmNvbTENMAsGA1UEERMEbnVsbDEPMA0GA1UEAxMGVGFubW95MREwDwYDVQQKEwhQZXJzb25hbDEJMAcGA1UECBMAMQkwBwYDVQQGEwAwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAT+EAJgUf75U/UQ12h7ZR9AH4GLGByNOvgu4y/vQIKRkqZeY028EerKzpKjhhL4Ocb8CyNIl/pPElgRJzHawNBDoAAwCgYIKoZIzj0EAwIDSAAwRQIhAPABaUje1TrCD+RqlV4UFvo/pFO3GiMvr989qa8cZfBTAiBLhbbqAo/fx3fdKKahwuLMfbL2dvQXgMHFOdXiR0/oOA==\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/request/custom","description":"<p>The '<strong>createCustomCertificate'</strong> API facilitates the creation of X509 Certificates or PEM by accepting a CSR (#PKCS10) along with additional parameters such as Subject Distinguished Name (DN) and Subject Alternative Name (SAN) details. This API allows for the customization of certificate attributes, enabling the creation of certificates tailored to specific requirements and ensuring flexibility in certificate management.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>profile</td>\n<td>String</td>\n<td>Yes</td>\n<td>A Certificate Profile name or Certificate Profile ID is a unique profile or template created for certificates. Profiles can be created by an admin on emCA or using the CA Management APIs.  <br />  <br />ex:- \"5\", \"SSL Certificate\"</td>\n</tr>\n<tr>\n<td>eSign</td>\n<td>String</td>\n<td>Yes</td>\n<td>To increase throughput, set this option to 'Yes'. This configuration ensures the application loads all necessary details upfront, such as profiles, and reuses them for all requests, thereby enhancing performance. This approach is commonly used for eSign transactions. Alternatively, set it to 'No'.  <br />  <br />ex:- \"No\" or \"Yes\"</td>\n</tr>\n<tr>\n<td>subjectDN</td>\n<td>JSON</td>\n<td>Yes</td>\n<td>Subject dn details which need to be added as part of the certificate.  <br />  <br />ex:  <br />{  <br />\"commonName\": \"test\",  <br />\"country\":\"IN\",  <br />\"oids\": [  <br />{  <br />\"oid\": \"2.5.4.7\",  <br />\"value\": \"test\"  <br />}  <br />]  <br />}  <br />ref :- <strong>Tabel no 2</strong></td>\n</tr>\n<tr>\n<td>csr</td>\n<td>String</td>\n<td>Yes</td>\n<td>Certificate Signing Request (#PKCS10)  <br />  <br />ex:-  <br />\"MIICzTCCAbUCAQAwgYcxCzAJBgNV......................u8B0stLoJBEnihxUoV18uZOmOeuVuX1N6nA==\"</td>\n</tr>\n<tr>\n<td>san</td>\n<td>JSON</td>\n<td>No</td>\n<td>Subject Alternative Name which need to be added as part of the certificate.  <br />  <br />ref:- Request Parameters  <br />ex: -  <br />{  <br />\"rfc822Name\": \"<a href=\"https://mailto:test@test.com\">keven.s@ta.co.in</a>\",  <br />\"dnsName\": \"<a href=\"http://www.example.com\">www.example.com</a>,  <br />\"ipAddress\": \"127.0.0.1\",  <br />\"url\": \"<a href=\"https://www.example.com\">https://www.example.com</a>,  <br />\"registeredID\": \"2.10.100.2.3.4\", \"directoryName\": \"L=IAO\"  <br />}</td>\n</tr>\n<tr>\n<td>txnID</td>\n<td>Long</td>\n<td>No</td>\n<td>The Transaction ID uniquely identifies the transaction.  <br />  <br />The value should only be a positive integer within the allowed range and upfrom 1 to 19 characters in length.  <br />  <br />ex:- 876545675</td>\n</tr>\n<tr>\n<td>subscriberID</td>\n<td>Integer</td>\n<td>No</td>\n<td>A Unique ID for the Subscribers/Devices uniquely identifies the Subscriber/Device.  <br />The value should only be a positive integer within the allowed range and up from 1 to 10 characters in length.  <br />  <br />ex:- 12345</td>\n</tr>\n<tr>\n<td>validity</td>\n<td>JSON</td>\n<td>No</td>\n<td>Certificate validity can be defined only if the profile supports custom validity.  <br />  <br />The validity should be less than the validity periods of both the profile and the issuer.  <br />  <br />Ex:-  <br />{  <br />\"days\": 365,  <br />\"hours\": 0,  <br />\"minutes\": 0,  <br />\"seconds\": 0  <br />}</td>\n</tr>\n<tr>\n<td>validfrom</td>\n<td>JSON</td>\n<td>No</td>\n<td>Certificate validity can be defined starting from a specific date if the profile is enabled for custom validity.  <br />  <br />Validation for the validfrom field is as follows:  <br />  <br />validfrom should not be a past date.  <br />day - day of the month (1-31)  <br />month - month of the year (1-12)  <br />year - four-digit year (e.g., 2024)  <br />hour - hour of the day (0-23)  <br />minute - minute of the hour (0-59)  <br />second - second of the minute (0-59)\"  <br />  <br />ex:-  <br />{  <br />\"day\": 1,  <br />\"month\": 1,  <br />\"year\": 2024,  <br />\"hour\": 0,  <br />\"minute\": 0,  <br />\"second\": 0  <br />}</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Tabel no 2</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>commonName</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the CN field as below  <br />A character length of minimum 2 and maximum 64 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />A digit (from \"0\" to \"9\").  <br />A hyphen (\"-\").  <br />A period (\".\").  <br />An apostrophe (\"'\").  <br />An asterisk (\"*\").  <br />An underscore (\"_\").  <br />At sign (\"@\")  <br />A space (\" \").  <br />  <br />ex:- \"keven\", \"123\", \"abc123\"</td>\n</tr>\n<tr>\n<td>country</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the Country field as below  <br />A character length of minimum 2 and maximum 75 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />ex:- \"IN\", \"India\"</td>\n</tr>\n<tr>\n<td>organisation</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the this field as below  <br />A character length of minimum 2 and maximum 75 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />  <br />ex:- \"emudhra\", \"Test org\"</td>\n</tr>\n<tr>\n<td>organisationUnit</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the this field as below  <br />A character length of minimum 2 and maximum 75 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />It will accept multiple OU values separated by commas(\",\").  <br />  <br />ex:- \"emudhra ltd\",  <br />\"ESS,TECH\"</td>\n</tr>\n<tr>\n<td>postalCode</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the postal code field as below  <br />A character length of minimum 4 and maximum 64 characters  <br />A digit (from \"0\" to \"9\").  <br />  <br />ex:- \"560063\"</td>\n</tr>\n<tr>\n<td>stateOrProvince</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the state field as below  <br />A character length of minimum 2 and maximum 75 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />  <br />ex:- \"KA\", \"texas\"</td>\n</tr>\n<tr>\n<td>street</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the this field as below  <br />A character length of minimum 2 and maximum 75 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />  <br />ex:-\"abc street\"</td>\n</tr>\n<tr>\n<td>houseIdentifier</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the this field as below  <br />A character length of minimum 2 and maximum 75 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />  <br />ex:- \"xyz\"</td>\n</tr>\n<tr>\n<td>serialNumber</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the this field as below  <br />A character length of minimum 2 and maximum 75 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />  <br />ex:- \"fff44f43224c43\"</td>\n</tr>\n<tr>\n<td>uniqueIdentifier</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the this field as below  <br />A character length of minimum 2 and maximum 75 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />  <br />ex:- \"774434cvfc45\"</td>\n</tr>\n<tr>\n<td>pseudonym</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the this field as below  <br />A character length of minimum 2 and maximum 75 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />  <br />ex:- \"John Doe\"</td>\n</tr>\n<tr>\n<td>telephoneNumber</td>\n<td>String</td>\n<td>No</td>\n<td>SHA256 of Telephone Number  <br />ex:- \"9cd24231c813f6608bcf717e15b76700a80e2170fbf235e5ff344dae948bbfec\"</td>\n</tr>\n<tr>\n<td>title</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the this field as below  <br />A character length of minimum 2 and maximum 75 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />  <br />ex:- \"Data Analyst\"</td>\n</tr>\n<tr>\n<td>email</td>\n<td>String</td>\n<td>No</td>\n<td>A character length of minimum 2 and maximum 64 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />A digit (from \"0\" to \"9\").  <br />A hyphen (\"-\").  <br />A period (\".\").  <br />An underscore (\"_\").  <br />At sign (\"@\")  <br />  <br />ex:- \"<a href=\"mailto:jhon.ken@co.in\">jhon.ken@co.in</a></td>\n</tr>\n<tr>\n<td>oids</td>\n<td>ArrayList</td>\n<td>No</td>\n<td>Pass additional subject DN details using the OIDs. You can provide multiple OIDs in an array object.  <br />  <br />Refer Request Parameters  <br />  <br />ex:-  <br />[  <br />{  <br />\"oid\": \"2.5.4.7\",  <br />\"value\": \"Bengalureu\"  <br />}  <br />]</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Tabel no 3</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>rfc822Name</td>\n<td>String</td>\n<td>No</td>\n<td>\"<strong>rfc822Name</strong>\" refers to an email address formatted according to RFC 822 standards  <br />ex:-  <br />\"<a href=\"mailto:vikram.s@outlook.com\">vikram.s@outlook.com</a></td>\n</tr>\n<tr>\n<td>dnsName</td>\n<td>String</td>\n<td>No</td>\n<td>\"<strong>dnsName</strong>\" refers to a domain name system (DNS) name. It identifies a domain or hostname associated with an entity or resource, allowing secure communication over networks while validating the identity of servers and services.  <br />  <br />ex:- \"<a href=\"http://www.example.com\">www.example.com</a></td>\n</tr>\n<tr>\n<td>ipAddress</td>\n<td>String</td>\n<td>No</td>\n<td>\"<strong>ipAddress</strong>\" refers to an IP address. It uniquely identifies a device or network interface on a TCP/IP network, enabling secure communication and validation of network endpoints in cryptographic protocols like TLS/SSL.  <br />  <br />ex:- \"10.32.43.124\"</td>\n</tr>\n<tr>\n<td>url</td>\n<td>String</td>\n<td>No</td>\n<td>\"<strong>url</strong>\" refers to a Uniform Resource Locator, commonly known as a web address.  <br />  <br />ex:- \"<a href=\"https://www.example.com\">https://www.example.com</a></td>\n</tr>\n<tr>\n<td>registeredID</td>\n<td>String</td>\n<td>No</td>\n<td>\"<strong>registeredID</strong>\" refers to a registered object identifier (OID) that uniquely identifies an object or attribute within a hierarchical naming structure defined by an organization or standards body. it can be used to specify a unique identifier for an entity, attribute, or policy associated with the certificate, ensuring interoperability and standardized identification across systems.  <br />  <br />ex:- \"2.10.100.2.3.4\"</td>\n</tr>\n<tr>\n<td>directoryName</td>\n<td>String</td>\n<td>No</td>\n<td>\"<strong>directoryName</strong>\" is a structured representation of a distinguished name (DN) in X.509 certificates. It includes attributes like common name, organization, and locality, facilitating accurate identification and validation of entities within hierarchical directory systems for secure communications.  <br />  <br />ex:- \"L=IAO\"</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Tabel no 4</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>oid</td>\n<td>String</td>\n<td>No</td>\n<td>subject DN details using the OID  <br />ex:- \"2.5.4.7\"</td>\n</tr>\n<tr>\n<td>value</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the this field as below  <br />A character length of minimum 2 and maximum 75 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />  <br />ex:- \"Delhi\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["certificates","request","custom"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"6ce2ccf5-f364-4827-a157-94296e5f99f6","name":"200 OK – Custom certificate issued","originalRequest":{"method":"POST","header":[{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"profile\": \"3\",\r\n    \"subjectDN\": {\r\n        \"commonName\": \"test\",\r\n        \"country\": \"IN\"\r\n    },\r\n    \"san\": {\r\n    \"dnsName\": \"www.example.com\"\r\n  },\r\n    \"esign\": \"No\",\r\n    \"output\": \"X509\",\r\n    \"csr\": \"MIIBLzCB1gIBADB0MSkwJwYJKoZIhvcNAQkBFhp0YW5tb3kucHJhZGhhbkBlbXVkaHJhLmNvbTENMAsGA1UEERMEbnVsbDEPMA0GA1UEAxMGVGFubW95MREwDwYDVQQKEwhQZXJzb25hbDEJMAcGA1UECBMAMQkwBwYDVQQGEwAwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAT+EAJgUf75U/UQ12h7ZR9AH4GLGByNOvgu4y/vQIKRkqZeY028EerKzpKjhhL4Ocb8CyNIl/pPElgRJzHawNBDoAAwCgYIKoZIzj0EAwIDSAAwRQIhAPABaUje1TrCD+RqlV4UFvo/pFO3GiMvr989qa8cZfBTAiBLhbbqAo/fx3fdKKahwuLMfbL2dvQXgMHFOdXiR0/oOA==\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/request/custom","description":"The '**createCustomCertificate'** API facilitates the creation of X509 Certificates or PEM by accepting a CSR (#PKCS10) along with additional parameters such as Subject Distinguished Name (DN) and Subject Alternative Name (SAN) details. This API allows for the customization of certificate attributes, enabling the creation of certificates tailored to specific requirements and ensuring flexibility in certificate management.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| profile | String | Yes | A Certificate Profile name or Certificate Profile ID is a unique profile or template created for certificates. Profiles can be created by an admin on emCA or using the CA Management APIs.  <br>  <br>ex:- \"5\", \"SSL Certificate\" |\n| eSign | String | Yes | To increase throughput, set this option to 'Yes'. This configuration ensures the application loads all necessary details upfront, such as profiles, and reuses them for all requests, thereby enhancing performance. This approach is commonly used for eSign transactions. Alternatively, set it to 'No'.  <br>  <br>ex:- \"No\" or \"Yes\" |\n| subjectDN | JSON | Yes | Subject dn details which need to be added as part of the certificate.  <br>  <br>ex:  <br>{  <br>\"commonName\": \"test\",  <br>\"country\":\"IN\",  <br>\"oids\": \\[  <br>{  <br>\"oid\": \"2.5.4.7\",  <br>\"value\": \"test\"  <br>}  <br>\\]  <br>}  <br>ref :- **Tabel no 2** |\n| csr | String | Yes | Certificate Signing Request (#PKCS10)  <br>  <br>ex:-  <br>\"MIICzTCCAbUCAQAwgYcxCzAJBgNV......................u8B0stLoJBEnihxUoV18uZOmOeuVuX1N6nA==\" |\n| san | JSON | No | Subject Alternative Name which need to be added as part of the certificate.  <br>  <br>ref:- Request Parameters  <br>ex: -  <br>{  <br>\"rfc822Name\": \"[keven.s@ta.co.in](https://mailto:test@test.com)\",  <br>\"dnsName\": \"www.example.com,  <br>\"ipAddress\": \"127.0.0.1\",  <br>\"url\": \"https://www.example.com,  <br>\"registeredID\": \"2.10.100.2.3.4\", \"directoryName\": \"L=IAO\"  <br>} |\n| txnID | Long | No | The Transaction ID uniquely identifies the transaction.  <br>  <br>The value should only be a positive integer within the allowed range and upfrom 1 to 19 characters in length.  <br>  <br>ex:- 876545675 |\n| subscriberID | Integer | No | A Unique ID for the Subscribers/Devices uniquely identifies the Subscriber/Device.  <br>The value should only be a positive integer within the allowed range and up from 1 to 10 characters in length.  <br>  <br>ex:- 12345 |\n| validity | JSON | No | Certificate validity can be defined only if the profile supports custom validity.  <br>  <br>The validity should be less than the validity periods of both the profile and the issuer.  <br>  <br>Ex:-  <br>{  <br>\"days\": 365,  <br>\"hours\": 0,  <br>\"minutes\": 0,  <br>\"seconds\": 0  <br>} |\n| validfrom | JSON | No | Certificate validity can be defined starting from a specific date if the profile is enabled for custom validity.  <br>  <br>Validation for the validfrom field is as follows:  <br>  <br>validfrom should not be a past date.  <br>day - day of the month (1-31)  <br>month - month of the year (1-12)  <br>year - four-digit year (e.g., 2024)  <br>hour - hour of the day (0-23)  <br>minute - minute of the hour (0-59)  <br>second - second of the minute (0-59)\"  <br>  <br>ex:-  <br>{  <br>\"day\": 1,  <br>\"month\": 1,  <br>\"year\": 2024,  <br>\"hour\": 0,  <br>\"minute\": 0,  <br>\"second\": 0  <br>} |\n\n**Tabel no 2**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| commonName | String | No | Validation for the CN field as below  <br>A character length of minimum 2 and maximum 64 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>A digit (from \"0\" to \"9\").  <br>A hyphen (\"-\").  <br>A period (\".\").  <br>An apostrophe (\"'\").  <br>An asterisk (\"\\*\").  <br>An underscore (\"_\").  <br>At sign (\"@\")  <br>A space (\" \").  <br>  <br>ex:- \"keven\", \"123\", \"abc123\" |\n| country | String | No | Validation for the Country field as below  <br>A character length of minimum 2 and maximum 75 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>ex:- \"IN\", \"India\" |\n| organisation | String | No | Validation for the this field as below  <br>A character length of minimum 2 and maximum 75 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>  <br>ex:- \"emudhra\", \"Test org\" |\n| organisationUnit | String | No | Validation for the this field as below  <br>A character length of minimum 2 and maximum 75 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>It will accept multiple OU values separated by commas(\",\").  <br>  <br>ex:- \"emudhra ltd\",  <br>\"ESS,TECH\" |\n| postalCode | String | No | Validation for the postal code field as below  <br>A character length of minimum 4 and maximum 64 characters  <br>A digit (from \"0\" to \"9\").  <br>  <br>ex:- \"560063\" |\n| stateOrProvince | String | No | Validation for the state field as below  <br>A character length of minimum 2 and maximum 75 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>  <br>ex:- \"KA\", \"texas\" |\n| street | String | No | Validation for the this field as below  <br>A character length of minimum 2 and maximum 75 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>  <br>ex:-\"abc street\" |\n| houseIdentifier | String | No | Validation for the this field as below  <br>A character length of minimum 2 and maximum 75 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>  <br>ex:- \"xyz\" |\n| serialNumber | String | No | Validation for the this field as below  <br>A character length of minimum 2 and maximum 75 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>  <br>ex:- \"fff44f43224c43\" |\n| uniqueIdentifier | String | No | Validation for the this field as below  <br>A character length of minimum 2 and maximum 75 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>  <br>ex:- \"774434cvfc45\" |\n| pseudonym | String | No | Validation for the this field as below  <br>A character length of minimum 2 and maximum 75 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>  <br>ex:- \"John Doe\" |\n| telephoneNumber | String | No | SHA256 of Telephone Number  <br>ex:- \"9cd24231c813f6608bcf717e15b76700a80e2170fbf235e5ff344dae948bbfec\" |\n| title | String | No | Validation for the this field as below  <br>A character length of minimum 2 and maximum 75 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>  <br>ex:- \"Data Analyst\" |\n| email | String | No | A character length of minimum 2 and maximum 64 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>A digit (from \"0\" to \"9\").  <br>A hyphen (\"-\").  <br>A period (\".\").  <br>An underscore (\"_\").  <br>At sign (\"@\")  <br>  <br>ex:- \"jhon.ken@co.in |\n| oids | ArrayList | No | Pass additional subject DN details using the OIDs. You can provide multiple OIDs in an array object.  <br>  <br>Refer Request Parameters  <br>  <br>ex:-  <br>\\[  <br>{  <br>\"oid\": \"2.5.4.7\",  <br>\"value\": \"Bengalureu\"  <br>}  <br>\\] |\n\n**Tabel no 3**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| rfc822Name | String | No | \"**rfc822Name**\" refers to an email address formatted according to RFC 822 standards  <br>ex:-  <br>\"vikram.s@outlook.com |\n| dnsName | String | No | \"**dnsName**\" refers to a domain name system (DNS) name. It identifies a domain or hostname associated with an entity or resource, allowing secure communication over networks while validating the identity of servers and services.  <br>  <br>ex:- \"www.example.com |\n| ipAddress | String | No | \"**ipAddress**\" refers to an IP address. It uniquely identifies a device or network interface on a TCP/IP network, enabling secure communication and validation of network endpoints in cryptographic protocols like TLS/SSL.  <br>  <br>ex:- \"10.32.43.124\" |\n| url | String | No | \"**url**\" refers to a Uniform Resource Locator, commonly known as a web address.  <br>  <br>ex:- \"https://www.example.com |\n| registeredID | String | No | \"**registeredID**\" refers to a registered object identifier (OID) that uniquely identifies an object or attribute within a hierarchical naming structure defined by an organization or standards body. it can be used to specify a unique identifier for an entity, attribute, or policy associated with the certificate, ensuring interoperability and standardized identification across systems.  <br>  <br>ex:- \"2.10.100.2.3.4\" |\n| directoryName | String | No | \"**directoryName**\" is a structured representation of a distinguished name (DN) in X.509 certificates. It includes attributes like common name, organization, and locality, facilitating accurate identification and validation of entities within hierarchical directory systems for secure communications.  <br>  <br>ex:- \"L=IAO\" |\n\n**Tabel no 4**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| oid | String | No | subject DN details using the OID  <br>ex:- \"2.5.4.7\" |\n| value | String | No | Validation for the this field as below  <br>A character length of minimum 2 and maximum 75 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>  <br>ex:- \"Delhi\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"serialNumber\": \"ccc333ddd444eee555\",\n  \"certificate\": \"MIID6TCCAtGgAwIBAgIUcustom/base64==\",\n  \"expiryDate\": \"2031-04-17T00:00:00\",\n  \"requestId\": null\n}"}],"_postman_id":"018f8483-bb9a-4633-82d0-0663847d0ba3"},{"name":"createKeyStore","id":"2625b2c3-a640-499c-8c42-6702b20ac632","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"profile\": \"5\",\r\n    \"subjectDN\": {\r\n        \"commonName\": \"Encrypted Certificate\",\r\n        \"country\": \"IN\"\r\n    },\r\n    \"keyAlgorithm\": \"RSA-2048\",\r\n    \"keyStorePassword\": \"Test@123\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/request/keystore","description":"<p>This is a method that is responsible for creating a keystore. A keystore is a repository for storing cryptographic keys and certificates.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p>This refers to the type of keystore being generated. PKCS12 (Public-Key Cryptography Standards #12) is a standard for storing both X.509 certificates and private keys in a single file. It is widely used and supported by various systems.</p>\n<p>Call the <strong>createKeyStore</strong> method, providing it with the necessary parameters, including the certificate profile.</p>\n<p>The <strong>createKeyStore</strong> method processes based on the provided input perameters and generates a new keystore in the PKCS12 format.</p>\n<h3 id=\"prerequisites\">Prerequisites</h3>\n<ol>\n<li><p>The profile should be KRS (Key Recovery Service) enabled.</p>\n</li>\n<li><p>To enable KRS, follow these steps when creating the user profile</p>\n</li>\n<li><p>Log in to the emCA UI Portal as an Administrator and navigate to the user profile (refer emCA User Manual). Then, select the \"<strong>Is KRS enabled</strong>\" checkbox.</p>\n</li>\n</ol>\n<p><strong>Request Body Parameters</strong></p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>profile</td>\n<td>String</td>\n<td>Yes</td>\n<td>A Certificate Profile name or Certificate Profile ID is a unique profile or template created for certificates. Profiles can be created by an admin on emCA or using the CA Management APIs.  <br />  <br />ex:- \"5\", \"Encryption Certificate\"</td>\n</tr>\n<tr>\n<td>subscriberID</td>\n<td>Integer</td>\n<td>No</td>\n<td>A Unique ID for the Subscribers/Devices uniquely identifies the Subscriber/Device.  <br />The value should only be a positive integer within the allowed range and up from 1 to 10 characters in length.  <br />  <br />ex:- 12345</td>\n</tr>\n<tr>\n<td>subjectDN</td>\n<td>JSON</td>\n<td>Yes</td>\n<td>Pass the all the subject dn details from this perameter  <br />ex:  <br />{  <br />\"commonName\": \"test\",  <br />\"country\":\"IN\".  <br />\"oids\": [  <br />{  <br />\"oid\": \"2.5.4.7\",  <br />\"value\": \"test\"  <br />}  <br />]  <br />}  <br />ref :- <strong>Tabel no 2</strong></td>\n</tr>\n<tr>\n<td>san</td>\n<td>JSON</td>\n<td>No</td>\n<td>Pass the all the san details from this perameter  <br />ref:- Request Parameters  <br />ex:  <br />{  <br />\"rfc822Name\": \"<a href=\"https://mailto:test@test.com\">test@test.com</a>\"  <br />},</td>\n</tr>\n<tr>\n<td>keyAlgorithm</td>\n<td>String</td>\n<td>Yes</td>\n<td>Provide required key algorithm for creating key store  <br />ex:- \"RSA-2048\", \"ECDSA-256\"  <br />For supported key algorithm ref :- Request Parameters</td>\n</tr>\n<tr>\n<td>keyStorePassword</td>\n<td>String</td>\n<td>Yes</td>\n<td>Password for generating keystore  <br />ex:- \"P@ssword1\"</td>\n</tr>\n<tr>\n<td>txnID</td>\n<td>Long</td>\n<td>No</td>\n<td>The Transaction ID uniquely identifies the transaction.  <br />  <br />The value should only be a positive integer within the allowed range and upfrom 1 to 19 characters in length.  <br />  <br />ex:- 876545675</td>\n</tr>\n<tr>\n<td>validity</td>\n<td>JSON</td>\n<td>No</td>\n<td>Certificate validity can be defined only if the profile supports custom validity.  <br />  <br />The validity should be less than the validity periods of both the profile and the issuer.  <br />  <br />Ex:-  <br />{  <br />\"days\": 365,  <br />\"hours\": 0,  <br />\"minutes\": 0,  <br />\"seconds\": 0  <br />}</td>\n</tr>\n<tr>\n<td>validfrom</td>\n<td>JSON</td>\n<td>No</td>\n<td>Certificate validity can be defined starting from a specific date if the profile is enabled for custom validity.  <br />  <br />Validation for the validfrom field is as follows:  <br />  <br />validfrom should not be a past date.  <br />day - day of the month (1-31)  <br />month - month of the year (1-12)  <br />year - four-digit year (e.g., 2024)  <br />hour - hour of the day (0-23)  <br />minute - minute of the hour (0-59)  <br />second - second of the minute (0-59)\"  <br />  <br />ex:-  <br />{  <br />\"day\": 1,  <br />\"month\": 1,  <br />\"year\": 2024,  <br />\"hour\": 0,  <br />\"minute\": 0,  <br />\"second\": 0  <br />}</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Tabel no 2</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>commonName</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the CN field as below  <br />A character length of minimum 2 and maximum 64 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />A digit (from \"0\" to \"9\").  <br />A hyphen (\"-\").  <br />A period (\".\").  <br />An apostrophe (\"'\").  <br />An asterisk (\"*\").  <br />An underscore (\"_\").  <br />At sign (\"@\")  <br />A space (\" \").  <br />  <br />ex:- \"keven\"</td>\n</tr>\n<tr>\n<td>country</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the Country field as below  <br />A character length of minimum 2 and maximum 75 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />ex:- \"IN\"</td>\n</tr>\n<tr>\n<td>organisation</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the this field as below  <br />A character length of minimum 2 and maximum 75 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />  <br />ex:- \"emudhra\"</td>\n</tr>\n<tr>\n<td>organisationUnit</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the this field as below  <br />A character length of minimum 2 and maximum 75 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />It will accept multiple OU values separated by commas.  <br />  <br />ex:- \"Finance\", \"Sales,Marketing\"</td>\n</tr>\n<tr>\n<td>postalCode</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the postal code field as below  <br />A character length of minimum 4 and maximum 64 characters  <br />A digit (from \"0\" to \"9\").  <br />  <br />ex:- \"560063\"</td>\n</tr>\n<tr>\n<td>stateOrProvince</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the state field as below  <br />A character length of minimum 2 and maximum 75 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />  <br />ex:- \"KA\", \"India\"</td>\n</tr>\n<tr>\n<td>street</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the this field as below  <br />A character length of minimum 2 and maximum 75 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />  <br />ex:-\"jain street\"</td>\n</tr>\n<tr>\n<td>houseIdentifier</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the this field as below  <br />A character length of minimum 2 and maximum 75 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />  <br />ex:- \"Building A:</td>\n</tr>\n<tr>\n<td>serialNumber</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the this field as below  <br />A character length of minimum 2 and maximum 75 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />  <br />ex:- \"fff44f43224c43\"</td>\n</tr>\n<tr>\n<td>uniqueIdentifier</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the this field as below  <br />A character length of minimum 2 and maximum 75 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />  <br />ex:- \"774434cvfc45\"</td>\n</tr>\n<tr>\n<td>pseudonym</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the this field as below  <br />A character length of minimum 2 and maximum 75 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />  <br />ex:- \"Gorge ven\"</td>\n</tr>\n<tr>\n<td>telephoneNumber</td>\n<td>String</td>\n<td>No</td>\n<td>SHA256 of Telephone Number  <br />ex:- \"9cd24231c813f6608bcf717e15b76700a80e2170fbf235e5ff344dae948bbfec\"</td>\n</tr>\n<tr>\n<td>title</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the this field as below  <br />A character length of minimum 2 and maximum 75 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />  <br />ex:- \"Dovloper\"</td>\n</tr>\n<tr>\n<td>email</td>\n<td>String</td>\n<td>No</td>\n<td>A character length of minimum 2 and maximum 64 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />A digit (from \"0\" to \"9\").  <br />A hyphen (\"-\").  <br />A period (\".\").  <br />An underscore (\"_\").  <br />At sign (\"@\")  <br />  <br />ex:- \"<a href=\"mailto:sri.ram@outlook.com\">sri.ram@outlook.com</a></td>\n</tr>\n<tr>\n<td>oids</td>\n<td>ArrayList</td>\n<td>No</td>\n<td>Pass additional subject DN details using the OIDs. You can provide multiple OIDs in an array object.  <br />  <br />Refer Request Parameters  <br />  <br />ex:-  <br />[  <br />{  <br />\"oid\": \"2.5.4.7\",  <br />\"value\": \"Hyderabad\"  <br />}  <br />]</td>\n</tr>\n</tbody>\n</table>\n</div><p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Type of Key algorithm</th>\n<th>Supported key algorithm and Sizes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>RSA</td>\n<td>RSA-1024, RSA-2048, RSA-3072, RSA-4096, and RSA-8192</td>\n</tr>\n<tr>\n<td>ECDSA secp</td>\n<td>ECDSA-192, ECDSA-256, ECDSA-384 and ECDSA-521</td>\n</tr>\n<tr>\n<td>ECDSA Brainpool</td>\n<td>B-ECDSA-256, B-ECDSA-384 and B-ECDSA-512</td>\n</tr>\n<tr>\n<td>ECDSA Prime</td>\n<td>P-ECDSA-256, P-ECDSA-384 and P-ECDSA-521</td>\n</tr>\n<tr>\n<td>EDDSA</td>\n<td>Ed25519</td>\n</tr>\n<tr>\n<td>PQC</td>\n<td>DILITHIUM2, DILITHIUM3, DILITHIUM5, FALCON-512, FALCON-1024, sha2_256f, sha2_256s, sha2_128f, sha2_128s, sha2_192f, sha2_192s, shake_128f, shake_128s, shake_192f, hake_192s, shake_256f, shake_256s, haraka_192f, haraka_192s, haraka_256f, haraka_256s and haraka_128f</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Tabel no 4</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>rfc822Name</td>\n<td>String</td>\n<td>No</td>\n<td>\"<strong>rfc822Name</strong>\" refers to an email address formatted according to RFC 822 standards  <br />ex:-  <br />\"<a href=\"mailto:sam.r@qa.co.in\">sam.r@qa.co.in</a></td>\n</tr>\n<tr>\n<td>dnsName</td>\n<td>String</td>\n<td>No</td>\n<td>\"<strong>dnsName</strong>\" refers to a domain name system (DNS) name. It identifies a domain or hostname associated with an entity or resource, allowing secure communication over networks while validating the identity of servers and services.  <br />  <br />ex:- \"<a href=\"http://www.example.com\">www.example.com</a></td>\n</tr>\n<tr>\n<td>ipAddress</td>\n<td>String</td>\n<td>No</td>\n<td>\"<strong>ipAddress</strong>\" refers to an IP address. It uniquely identifies a device or network interface on a TCP/IP network, enabling secure communication and validation of network endpoints in cryptographic protocols like TLS/SSL.  <br />  <br />ex:- \"10.32.43.124\"</td>\n</tr>\n<tr>\n<td>url</td>\n<td>String</td>\n<td>No</td>\n<td>\"<strong>url</strong>\" refers to a Uniform Resource Locator, commonly known as a web address.  <br />  <br />ex:- \"<a href=\"https://www.example.com\">https://www.example.com</a></td>\n</tr>\n<tr>\n<td>registeredID</td>\n<td>String</td>\n<td>No</td>\n<td>\"<strong>registeredID</strong>\" refers to a registered object identifier (OID) that uniquely identifies an object or attribute within a hierarchical naming structure defined by an organization or standards body. it can be used to specify a unique identifier for an entity, attribute, or policy associated with the certificate, ensuring interoperability and standardized identification across systems.  <br />  <br />ex: \"2.10.100.2.3.4\"</td>\n</tr>\n<tr>\n<td>directoryName</td>\n<td>String</td>\n<td>No</td>\n<td>\"<strong>directoryName</strong>\" is a structured representation of a distinguished name (DN) in X.509 certificates. It includes attributes like common name, organization, and locality, facilitating accurate identification and validation of entities within hierarchical directory systems for secure communications.  <br />  <br />ex:- \"L=IAO\"</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Tabel no 5</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>oid</td>\n<td>String</td>\n<td>No</td>\n<td>subject DN details using the OID  <br />ex:- \"2.5.4.7\"</td>\n</tr>\n<tr>\n<td>value</td>\n<td>String</td>\n<td>No</td>\n<td>Validation for the this field as below  <br />A character length of minimum 2 and maximum 75 characters  <br />A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br />  <br />ex:- \"kerala\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["certificates","request","keystore"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"433df6d9-f4f8-4e01-b0c1-d9e5d0357da4","name":"200 OK – KeyStore created","originalRequest":{"method":"POST","header":[{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"profile\": \"5\",\r\n    \"subjectDN\": {\r\n        \"commonName\": \"Encrypted Certificate\",\r\n        \"country\": \"IN\"\r\n    },\r\n    \"keyAlgorithm\": \"RSA-2048\",\r\n    \"keyStorePassword\": \"Test@123\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/request/keystore","description":"This is a method that is responsible for creating a keystore. A keystore is a repository for storing cryptographic keys and certificates.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\nThis refers to the type of keystore being generated. PKCS12 (Public-Key Cryptography Standards #12) is a standard for storing both X.509 certificates and private keys in a single file. It is widely used and supported by various systems.\n\nCall the **createKeyStore** method, providing it with the necessary parameters, including the certificate profile.\n\nThe **createKeyStore** method processes based on the provided input perameters and generates a new keystore in the PKCS12 format.\n\n### Prerequisites\n\n1. The profile should be KRS (Key Recovery Service) enabled.\n    \n2. To enable KRS, follow these steps when creating the user profile\n    \n3. Log in to the emCA UI Portal as an Administrator and navigate to the user profile (refer emCA User Manual). Then, select the \"**Is KRS enabled**\" checkbox.\n    \n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| profile | String | Yes | A Certificate Profile name or Certificate Profile ID is a unique profile or template created for certificates. Profiles can be created by an admin on emCA or using the CA Management APIs.  <br>  <br>ex:- \"5\", \"Encryption Certificate\" |\n| subscriberID | Integer | No | A Unique ID for the Subscribers/Devices uniquely identifies the Subscriber/Device.  <br>The value should only be a positive integer within the allowed range and up from 1 to 10 characters in length.  <br>  <br>ex:- 12345 |\n| subjectDN | JSON | Yes | Pass the all the subject dn details from this perameter  <br>ex:  <br>{  <br>\"commonName\": \"test\",  <br>\"country\":\"IN\".  <br>\"oids\": \\[  <br>{  <br>\"oid\": \"2.5.4.7\",  <br>\"value\": \"test\"  <br>}  <br>\\]  <br>}  <br>ref :- **Tabel no 2** |\n| san | JSON | No | Pass the all the san details from this perameter  <br>ref:- Request Parameters  <br>ex:  <br>{  <br>\"rfc822Name\": \"[test@test.com](https://mailto:test@test.com)\"  <br>}, |\n| keyAlgorithm | String | Yes | Provide required key algorithm for creating key store  <br>ex:- \"RSA-2048\", \"ECDSA-256\"  <br>For supported key algorithm ref :- Request Parameters |\n| keyStorePassword | String | Yes | Password for generating keystore  <br>ex:- \"P@ssword1\" |\n| txnID | Long | No | The Transaction ID uniquely identifies the transaction.  <br>  <br>The value should only be a positive integer within the allowed range and upfrom 1 to 19 characters in length.  <br>  <br>ex:- 876545675 |\n| validity | JSON | No | Certificate validity can be defined only if the profile supports custom validity.  <br>  <br>The validity should be less than the validity periods of both the profile and the issuer.  <br>  <br>Ex:-  <br>{  <br>\"days\": 365,  <br>\"hours\": 0,  <br>\"minutes\": 0,  <br>\"seconds\": 0  <br>} |\n| validfrom | JSON | No | Certificate validity can be defined starting from a specific date if the profile is enabled for custom validity.  <br>  <br>Validation for the validfrom field is as follows:  <br>  <br>validfrom should not be a past date.  <br>day - day of the month (1-31)  <br>month - month of the year (1-12)  <br>year - four-digit year (e.g., 2024)  <br>hour - hour of the day (0-23)  <br>minute - minute of the hour (0-59)  <br>second - second of the minute (0-59)\"  <br>  <br>ex:-  <br>{  <br>\"day\": 1,  <br>\"month\": 1,  <br>\"year\": 2024,  <br>\"hour\": 0,  <br>\"minute\": 0,  <br>\"second\": 0  <br>} |\n\n**Tabel no 2**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| commonName | String | No | Validation for the CN field as below  <br>A character length of minimum 2 and maximum 64 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>A digit (from \"0\" to \"9\").  <br>A hyphen (\"-\").  <br>A period (\".\").  <br>An apostrophe (\"'\").  <br>An asterisk (\"\\*\").  <br>An underscore (\"_\").  <br>At sign (\"@\")  <br>A space (\" \").  <br>  <br>ex:- \"keven\" |\n| country | String | No | Validation for the Country field as below  <br>A character length of minimum 2 and maximum 75 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>ex:- \"IN\" |\n| organisation | String | No | Validation for the this field as below  <br>A character length of minimum 2 and maximum 75 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>  <br>ex:- \"emudhra\" |\n| organisationUnit | String | No | Validation for the this field as below  <br>A character length of minimum 2 and maximum 75 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>It will accept multiple OU values separated by commas.  <br>  <br>ex:- \"Finance\", \"Sales,Marketing\" |\n| postalCode | String | No | Validation for the postal code field as below  <br>A character length of minimum 4 and maximum 64 characters  <br>A digit (from \"0\" to \"9\").  <br>  <br>ex:- \"560063\" |\n| stateOrProvince | String | No | Validation for the state field as below  <br>A character length of minimum 2 and maximum 75 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>  <br>ex:- \"KA\", \"India\" |\n| street | String | No | Validation for the this field as below  <br>A character length of minimum 2 and maximum 75 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>  <br>ex:-\"jain street\" |\n| houseIdentifier | String | No | Validation for the this field as below  <br>A character length of minimum 2 and maximum 75 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>  <br>ex:- \"Building A: |\n| serialNumber | String | No | Validation for the this field as below  <br>A character length of minimum 2 and maximum 75 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>  <br>ex:- \"fff44f43224c43\" |\n| uniqueIdentifier | String | No | Validation for the this field as below  <br>A character length of minimum 2 and maximum 75 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>  <br>ex:- \"774434cvfc45\" |\n| pseudonym | String | No | Validation for the this field as below  <br>A character length of minimum 2 and maximum 75 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>  <br>ex:- \"Gorge ven\" |\n| telephoneNumber | String | No | SHA256 of Telephone Number  <br>ex:- \"9cd24231c813f6608bcf717e15b76700a80e2170fbf235e5ff344dae948bbfec\" |\n| title | String | No | Validation for the this field as below  <br>A character length of minimum 2 and maximum 75 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>  <br>ex:- \"Dovloper\" |\n| email | String | No | A character length of minimum 2 and maximum 64 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>A digit (from \"0\" to \"9\").  <br>A hyphen (\"-\").  <br>A period (\".\").  <br>An underscore (\"_\").  <br>At sign (\"@\")  <br>  <br>ex:- \"sri.ram@outlook.com |\n| oids | ArrayList | No | Pass additional subject DN details using the OIDs. You can provide multiple OIDs in an array object.  <br>  <br>Refer Request Parameters  <br>  <br>ex:-  <br>\\[  <br>{  <br>\"oid\": \"2.5.4.7\",  <br>\"value\": \"Hyderabad\"  <br>}  <br>\\] |\n\nRequest Parameters\n\n| Type of Key algorithm | Supported key algorithm and Sizes |\n|-----------|-------------|\n| RSA | RSA-1024, RSA-2048, RSA-3072, RSA-4096, and RSA-8192 |\n| ECDSA secp | ECDSA-192, ECDSA-256, ECDSA-384 and ECDSA-521 |\n| ECDSA Brainpool | B-ECDSA-256, B-ECDSA-384 and B-ECDSA-512 |\n| ECDSA Prime | P-ECDSA-256, P-ECDSA-384 and P-ECDSA-521 |\n| EDDSA | Ed25519 |\n| PQC | DILITHIUM2, DILITHIUM3, DILITHIUM5, FALCON-512, FALCON-1024, sha2_256f, sha2_256s, sha2_128f, sha2_128s, sha2_192f, sha2_192s, shake_128f, shake_128s, shake_192f, hake_192s, shake_256f, shake_256s, haraka_192f, haraka_192s, haraka_256f, haraka_256s and haraka_128f |\n\n**Tabel no 4**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| rfc822Name | String | No | \"**rfc822Name**\" refers to an email address formatted according to RFC 822 standards  <br>ex:-  <br>\"sam.r@qa.co.in |\n| dnsName | String | No | \"**dnsName**\" refers to a domain name system (DNS) name. It identifies a domain or hostname associated with an entity or resource, allowing secure communication over networks while validating the identity of servers and services.  <br>  <br>ex:- \"www.example.com |\n| ipAddress | String | No | \"**ipAddress**\" refers to an IP address. It uniquely identifies a device or network interface on a TCP/IP network, enabling secure communication and validation of network endpoints in cryptographic protocols like TLS/SSL.  <br>  <br>ex:- \"10.32.43.124\" |\n| url | String | No | \"**url**\" refers to a Uniform Resource Locator, commonly known as a web address.  <br>  <br>ex:- \"https://www.example.com |\n| registeredID | String | No | \"**registeredID**\" refers to a registered object identifier (OID) that uniquely identifies an object or attribute within a hierarchical naming structure defined by an organization or standards body. it can be used to specify a unique identifier for an entity, attribute, or policy associated with the certificate, ensuring interoperability and standardized identification across systems.  <br>  <br>ex: \"2.10.100.2.3.4\" |\n| directoryName | String | No | \"**directoryName**\" is a structured representation of a distinguished name (DN) in X.509 certificates. It includes attributes like common name, organization, and locality, facilitating accurate identification and validation of entities within hierarchical directory systems for secure communications.  <br>  <br>ex:- \"L=IAO\" |\n\n**Tabel no 5**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| oid | String | No | subject DN details using the OID  <br>ex:- \"2.5.4.7\" |\n| value | String | No | Validation for the this field as below  <br>A character length of minimum 2 and maximum 75 characters  <br>A lowercase or uppercase English letter (from \"a\" to \"z\" and \"A\" to \"Z\").  <br>  <br>ex:- \"kerala\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"serialNumber\": \"fff666ggg777hhh888\",\n  \"keystoreData\": \"MIIJ6wIBAzCCCaQGCSqGSIb3base64encodedP12==\",\n  \"keystoreType\": \"PKCS12\",\n  \"expiryDate\": \"2031-04-17T00:00:00\"\n}"}],"_postman_id":"2625b2c3-a640-499c-8c42-6702b20ac632"},{"name":"rekey","id":"d55e99bc-1820-4f83-a47e-6f9cd5737af9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"serialNo\": \"551c7bf7e4494a965c7ab38ad1ff4892\",\r\n  \"output\": \"X509\",\r\n  \"remarks\": \"test\",\r\n  \"csr\": \"MIICzTCCAbUCAQAwgYcxCzAJBgNVBAYTAkdCMRYwFAYDVQQIEw1TdGFmZm9yZHNoaXJlMRcwFQYDVQQHEw5TdG9rZSBvbiBUcmVudDEjMCEGA1UEChMaUmVkIEtlc3RyZWwgQ29uc3VsdGluZyBMdGQxIjAgBgNVBAMTGXRlc3RjZXJ0LnJlZGtlc3RyZWwuY28udWswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDWLeW88IeAIa3n23R99i874fh0jetf+STsGPgkfGXGJ++tclKGk3MJE0ijD4PNaxGXUCNULgn2ROyybm5sTmGzpEOD+1AAAyV+pLQoFNkHEFuudGqVM6XkPWfqaM2vKvdzUbPPC0X/MfDFGPxc8AY3TUM385c9c9/WOIF6NUcAvAFIQF0zG7evzJZBqDb4enUnatMSLHmxRWMi1JeHtfLINXhNitHewEQWgIB3j1xmh7CPO5FeTb6HzQDxc+f7uMisY6s9J/Ph3GeOCeIDooqU8jnfV5eGEzIMH5CFMZjajrNKF4DYK3YRyUI0K66+v0KILoUntEs++M20LhOn+VE9AgMBAAGgADANBgkqhkiG9w0BAQUFAAOCAQEAUWE7oBX3SLjYNM53bsBOlNGnsgAp1P1fiCPpEKaZGEOUJ2xOguIHSu1N1ZigKpWmiAAZxuoagW1R/ANM3jXpvCLVBRv40AHCFsot9udrdCYjI43aDHAaYvLmT4/Pvpntcn0/7+g//elAHhr9UIooMZwwwo6yom67Jwfw/be/g7Mae7mPHZ2lsQTS02hEeqVynIRk2W9meQULrt+/atog0mqJSBx0WswtHliTc+nXFpQrwFIEzVuPGCOVw7LmCfNmHNCkZVuRSJB/9MdLmrfwchPI3NeTGSe+BZfsOtpt2/7j+bqeYKFu8B0stLoJBEnihxUoV18uZOmOeuVuX1N6nA==\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/request/regenerate","description":"<p>The \"<strong>rekey</strong>\" API facilitates the regenerating a certificate's remaining validity period by revoking the existing certificate. It requires a Certificate Signing Request (CSR) to generate a new certificate with the remaining validity timeframe. This workflow ensures the secure replacement of compromised or lost certificates, maintaining continuous secure communication while adhering to best practices in certificate management.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>serialNo</td>\n<td>String</td>\n<td>Yes</td>\n<td>Certificate serial number for which rekey is initiated.  <br />  <br />Ex :- \"e4cb23a4b97a0c12f2641c1fc49d9ba7\"</td>\n</tr>\n<tr>\n<td>output</td>\n<td>String</td>\n<td>Yes</td>\n<td>Output defines the format of the certificate:  <br />X509: Base64 encoded X509 Certificate (without certificate chain).  <br />PEM: PEM format with certificate chain.  <br />  <br />ex:- \"X509\" or \"PEM\"</td>\n</tr>\n<tr>\n<td>csr</td>\n<td>String</td>\n<td>Yes</td>\n<td>Certificate Signing Request (#PKCS10)  <br />  <br />ex:-  <br />\"MIICzTCCAbUCAQAwgYcxCzAJBgNV..........................B0stLoJBEnihxUoV18uZOmOeuVuX1N6nA==\"</td>\n</tr>\n<tr>\n<td>remarks</td>\n<td>String</td>\n<td>No</td>\n<td>The '<strong>Remarks</strong>' parameter in the 'rekey' API allows users to include additional comments to the certificate rekeying process.  <br />  <br />ex:-\"lost the public key\"</td>\n</tr>\n<tr>\n<td>validfrom</td>\n<td>JSON</td>\n<td>No</td>\n<td>Certificate validity can be defined starting from a specific date if the profile is enabled for custom validity.  <br />  <br />Validation for the validfrom field is as follows:  <br />  <br />validfrom should not be a past date.  <br />day - day of the month (1-31)  <br />month - month of the year (1-12)  <br />year - four-digit year (e.g., 2024)  <br />hour - hour of the day (0-23)  <br />minute - minute of the hour (0-59)  <br />second - second of the minute (0-59)\"  <br />  <br />ex:-  <br />{  <br />\"day\": 1,  <br />\"month\": 1,  <br />\"year\": 2024,  <br />\"hour\": 0,  <br />\"minute\": 0,  <br />\"second\": 0  <br />}</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["certificates","request","regenerate"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"3602eac2-84a3-44cb-9fe7-2a94d51c7390","name":"200 OK – Certificate rekeyed","originalRequest":{"method":"POST","header":[{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"serialNo\": \"551c7bf7e4494a965c7ab38ad1ff4892\",\r\n  \"output\": \"X509\",\r\n  \"remarks\": \"test\",\r\n  \"csr\": \"MIICzTCCAbUCAQAwgYcxCzAJBgNVBAYTAkdCMRYwFAYDVQQIEw1TdGFmZm9yZHNoaXJlMRcwFQYDVQQHEw5TdG9rZSBvbiBUcmVudDEjMCEGA1UEChMaUmVkIEtlc3RyZWwgQ29uc3VsdGluZyBMdGQxIjAgBgNVBAMTGXRlc3RjZXJ0LnJlZGtlc3RyZWwuY28udWswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDWLeW88IeAIa3n23R99i874fh0jetf+STsGPgkfGXGJ++tclKGk3MJE0ijD4PNaxGXUCNULgn2ROyybm5sTmGzpEOD+1AAAyV+pLQoFNkHEFuudGqVM6XkPWfqaM2vKvdzUbPPC0X/MfDFGPxc8AY3TUM385c9c9/WOIF6NUcAvAFIQF0zG7evzJZBqDb4enUnatMSLHmxRWMi1JeHtfLINXhNitHewEQWgIB3j1xmh7CPO5FeTb6HzQDxc+f7uMisY6s9J/Ph3GeOCeIDooqU8jnfV5eGEzIMH5CFMZjajrNKF4DYK3YRyUI0K66+v0KILoUntEs++M20LhOn+VE9AgMBAAGgADANBgkqhkiG9w0BAQUFAAOCAQEAUWE7oBX3SLjYNM53bsBOlNGnsgAp1P1fiCPpEKaZGEOUJ2xOguIHSu1N1ZigKpWmiAAZxuoagW1R/ANM3jXpvCLVBRv40AHCFsot9udrdCYjI43aDHAaYvLmT4/Pvpntcn0/7+g//elAHhr9UIooMZwwwo6yom67Jwfw/be/g7Mae7mPHZ2lsQTS02hEeqVynIRk2W9meQULrt+/atog0mqJSBx0WswtHliTc+nXFpQrwFIEzVuPGCOVw7LmCfNmHNCkZVuRSJB/9MdLmrfwchPI3NeTGSe+BZfsOtpt2/7j+bqeYKFu8B0stLoJBEnihxUoV18uZOmOeuVuX1N6nA==\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/request/regenerate","description":"The \"**rekey**\" API facilitates the regenerating a certificate's remaining validity period by revoking the existing certificate. It requires a Certificate Signing Request (CSR) to generate a new certificate with the remaining validity timeframe. This workflow ensures the secure replacement of compromised or lost certificates, maintaining continuous secure communication while adhering to best practices in certificate management.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| serialNo | String | Yes | Certificate serial number for which rekey is initiated.  <br>  <br>Ex :- \"e4cb23a4b97a0c12f2641c1fc49d9ba7\" |\n| output | String | Yes | Output defines the format of the certificate:  <br>X509: Base64 encoded X509 Certificate (without certificate chain).  <br>PEM: PEM format with certificate chain.  <br>  <br>ex:- \"X509\" or \"PEM\" |\n| csr | String | Yes | Certificate Signing Request (#PKCS10)  <br>  <br>ex:-  <br>\"MIICzTCCAbUCAQAwgYcxCzAJBgNV..........................B0stLoJBEnihxUoV18uZOmOeuVuX1N6nA==\" |\n| remarks | String | No | The '**Remarks**' parameter in the 'rekey' API allows users to include additional comments to the certificate rekeying process.  <br>  <br>ex:-\"lost the public key\" |\n| validfrom | JSON | No | Certificate validity can be defined starting from a specific date if the profile is enabled for custom validity.  <br>  <br>Validation for the validfrom field is as follows:  <br>  <br>validfrom should not be a past date.  <br>day - day of the month (1-31)  <br>month - month of the year (1-12)  <br>year - four-digit year (e.g., 2024)  <br>hour - hour of the day (0-23)  <br>minute - minute of the hour (0-59)  <br>second - second of the minute (0-59)\"  <br>  <br>ex:-  <br>{  <br>\"day\": 1,  <br>\"month\": 1,  <br>\"year\": 2024,  <br>\"hour\": 0,  <br>\"minute\": 0,  <br>\"second\": 0  <br>} |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"oldSerialNumber\": \"bbc11e8f406e4a24c31c852660b464dd\",\n  \"newSerialNumber\": \"iii999jjjaaa111bbb\",\n  \"certificate\": \"MIID6TCCAtGgAwIBAgIUrekeyed/base64==\",\n  \"expiryDate\": \"2031-04-17T00:00:00\"\n}"}],"_postman_id":"d55e99bc-1820-4f83-a47e-6f9cd5737af9"},{"name":"regenerateKeyStore","id":"734a1f1d-4c16-4249-b5c1-984c997ade5c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"serialNo\": \"551c7bf7e4494a965c7ab38ad1ff4892\",\r\n  \"output\": \"X509\",\r\n  \"remarks\": \"test\",\r\n  \"csr\": \"MIICzTCCAbUCAQAwgYcxCzAJBgNVBAYTAkdCMRYwFAYDVQQIEw1TdGFmZm9yZHNoaXJlMRcwFQYDVQQHEw5TdG9rZSBvbiBUcmVudDEjMCEGA1UEChMaUmVkIEtlc3RyZWwgQ29uc3VsdGluZyBMdGQxIjAgBgNVBAMTGXRlc3RjZXJ0LnJlZGtlc3RyZWwuY28udWswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDWLeW88IeAIa3n23R99i874fh0jetf+STsGPgkfGXGJ++tclKGk3MJE0ijD4PNaxGXUCNULgn2ROyybm5sTmGzpEOD+1AAAyV+pLQoFNkHEFuudGqVM6XkPWfqaM2vKvdzUbPPC0X/MfDFGPxc8AY3TUM385c9c9/WOIF6NUcAvAFIQF0zG7evzJZBqDb4enUnatMSLHmxRWMi1JeHtfLINXhNitHewEQWgIB3j1xmh7CPO5FeTb6HzQDxc+f7uMisY6s9J/Ph3GeOCeIDooqU8jnfV5eGEzIMH5CFMZjajrNKF4DYK3YRyUI0K66+v0KILoUntEs++M20LhOn+VE9AgMBAAGgADANBgkqhkiG9w0BAQUFAAOCAQEAUWE7oBX3SLjYNM53bsBOlNGnsgAp1P1fiCPpEKaZGEOUJ2xOguIHSu1N1ZigKpWmiAAZxuoagW1R/ANM3jXpvCLVBRv40AHCFsot9udrdCYjI43aDHAaYvLmT4/Pvpntcn0/7+g//elAHhr9UIooMZwwwo6yom67Jwfw/be/g7Mae7mPHZ2lsQTS02hEeqVynIRk2W9meQULrt+/atog0mqJSBx0WswtHliTc+nXFpQrwFIEzVuPGCOVw7LmCfNmHNCkZVuRSJB/9MdLmrfwchPI3NeTGSe+BZfsOtpt2/7j+bqeYKFu8B0stLoJBEnihxUoV18uZOmOeuVuX1N6nA==\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/request/keystore/regenerate","description":"<p>The \"<strong>rekey</strong>\" API facilitates the regenerating a certificate's remaining validity period by revoking the existing certificate. It requires a Certificate Signing Request (CSR) to generate a new certificate with the remaining validity timeframe. This workflow ensures the secure replacement of compromised or lost certificates, maintaining continuous secure communication while adhering to best practices in certificate management.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>serialNo</td>\n<td>String</td>\n<td>Yes</td>\n<td>Certificate serial number for which rekey is initiated.  <br />  <br />Ex :- \"e4cb23a4b97a0c12f2641c1fc49d9ba7\"</td>\n</tr>\n<tr>\n<td>output</td>\n<td>String</td>\n<td>Yes</td>\n<td>Output defines the format of the certificate:  <br />X509: Base64 encoded X509 Certificate (without certificate chain).  <br />PEM: PEM format with certificate chain.  <br />  <br />ex:- \"X509\" or \"PEM\"</td>\n</tr>\n<tr>\n<td>csr</td>\n<td>String</td>\n<td>Yes</td>\n<td>Certificate Signing Request (#PKCS10)  <br />  <br />ex:-  <br />\"MIICzTCCAbUCAQAwgYcxCzAJBgNV..........................B0stLoJBEnihxUoV18uZOmOeuVuX1N6nA==\"</td>\n</tr>\n<tr>\n<td>remarks</td>\n<td>String</td>\n<td>No</td>\n<td>The '<strong>Remarks</strong>' parameter in the 'rekey' API allows users to include additional comments to the certificate rekeying process.  <br />  <br />ex:-\"lost the public key\"</td>\n</tr>\n<tr>\n<td>validfrom</td>\n<td>JSON</td>\n<td>No</td>\n<td>Certificate validity can be defined starting from a specific date if the profile is enabled for custom validity.  <br />  <br />Validation for the validfrom field is as follows:  <br />  <br />validfrom should not be a past date.  <br />day - day of the month (1-31)  <br />month - month of the year (1-12)  <br />year - four-digit year (e.g., 2024)  <br />hour - hour of the day (0-23)  <br />minute - minute of the hour (0-59)  <br />second - second of the minute (0-59)\"  <br />  <br />ex:-  <br />{  <br />\"day\": 1,  <br />\"month\": 1,  <br />\"year\": 2024,  <br />\"hour\": 0,  <br />\"minute\": 0,  <br />\"second\": 0  <br />}</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["certificates","request","keystore","regenerate"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"648c683c-c4ee-4628-b84c-f617115457d0","name":"200 OK – KeyStore regenerated","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"serialNo\": \"551c7bf7e4494a965c7ab38ad1ff4892\",\r\n  \"output\": \"X509\",\r\n  \"remarks\": \"test\",\r\n  \"csr\": \"MIICzTCCAbUCAQAwgYcxCzAJBgNVBAYTAkdCMRYwFAYDVQQIEw1TdGFmZm9yZHNoaXJlMRcwFQYDVQQHEw5TdG9rZSBvbiBUcmVudDEjMCEGA1UEChMaUmVkIEtlc3RyZWwgQ29uc3VsdGluZyBMdGQxIjAgBgNVBAMTGXRlc3RjZXJ0LnJlZGtlc3RyZWwuY28udWswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDWLeW88IeAIa3n23R99i874fh0jetf+STsGPgkfGXGJ++tclKGk3MJE0ijD4PNaxGXUCNULgn2ROyybm5sTmGzpEOD+1AAAyV+pLQoFNkHEFuudGqVM6XkPWfqaM2vKvdzUbPPC0X/MfDFGPxc8AY3TUM385c9c9/WOIF6NUcAvAFIQF0zG7evzJZBqDb4enUnatMSLHmxRWMi1JeHtfLINXhNitHewEQWgIB3j1xmh7CPO5FeTb6HzQDxc+f7uMisY6s9J/Ph3GeOCeIDooqU8jnfV5eGEzIMH5CFMZjajrNKF4DYK3YRyUI0K66+v0KILoUntEs++M20LhOn+VE9AgMBAAGgADANBgkqhkiG9w0BAQUFAAOCAQEAUWE7oBX3SLjYNM53bsBOlNGnsgAp1P1fiCPpEKaZGEOUJ2xOguIHSu1N1ZigKpWmiAAZxuoagW1R/ANM3jXpvCLVBRv40AHCFsot9udrdCYjI43aDHAaYvLmT4/Pvpntcn0/7+g//elAHhr9UIooMZwwwo6yom67Jwfw/be/g7Mae7mPHZ2lsQTS02hEeqVynIRk2W9meQULrt+/atog0mqJSBx0WswtHliTc+nXFpQrwFIEzVuPGCOVw7LmCfNmHNCkZVuRSJB/9MdLmrfwchPI3NeTGSe+BZfsOtpt2/7j+bqeYKFu8B0stLoJBEnihxUoV18uZOmOeuVuX1N6nA==\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/request/keystore/regenerate","description":"The \"**rekey**\" API facilitates the regenerating a certificate's remaining validity period by revoking the existing certificate. It requires a Certificate Signing Request (CSR) to generate a new certificate with the remaining validity timeframe. This workflow ensures the secure replacement of compromised or lost certificates, maintaining continuous secure communication while adhering to best practices in certificate management.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| serialNo | String | Yes | Certificate serial number for which rekey is initiated.  <br>  <br>Ex :- \"e4cb23a4b97a0c12f2641c1fc49d9ba7\" |\n| output | String | Yes | Output defines the format of the certificate:  <br>X509: Base64 encoded X509 Certificate (without certificate chain).  <br>PEM: PEM format with certificate chain.  <br>  <br>ex:- \"X509\" or \"PEM\" |\n| csr | String | Yes | Certificate Signing Request (#PKCS10)  <br>  <br>ex:-  <br>\"MIICzTCCAbUCAQAwgYcxCzAJBgNV..........................B0stLoJBEnihxUoV18uZOmOeuVuX1N6nA==\" |\n| remarks | String | No | The '**Remarks**' parameter in the 'rekey' API allows users to include additional comments to the certificate rekeying process.  <br>  <br>ex:-\"lost the public key\" |\n| validfrom | JSON | No | Certificate validity can be defined starting from a specific date if the profile is enabled for custom validity.  <br>  <br>Validation for the validfrom field is as follows:  <br>  <br>validfrom should not be a past date.  <br>day - day of the month (1-31)  <br>month - month of the year (1-12)  <br>year - four-digit year (e.g., 2024)  <br>hour - hour of the day (0-23)  <br>minute - minute of the hour (0-59)  <br>second - second of the minute (0-59)\"  <br>  <br>ex:-  <br>{  <br>\"day\": 1,  <br>\"month\": 1,  <br>\"year\": 2024,  <br>\"hour\": 0,  <br>\"minute\": 0,  <br>\"second\": 0  <br>} |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"oldSerialNumber\": \"bbc11e8f406e4a24c31c852660b464dd\",\n  \"newSerialNumber\": \"kkk111lll222mmm333\",\n  \"keystoreData\": \"MIIJ6wIBAzCCCaQGCSqGSIb3regenerated/base64==\",\n  \"keystoreType\": \"PKCS12\",\n  \"expiryDate\": \"2031-04-17T00:00:00\"\n}"}],"_postman_id":"734a1f1d-4c16-4249-b5c1-984c997ade5c"},{"name":"revoke","id":"208ffe34-7398-46da-a647-3feb691ebb91","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"serialNo\": \"5dad5c16425f16273e65581aff03e9b1\",\r\n  \"remarks\": \"test\",\r\n  \"reason\": 1\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/revoke","description":"<p>The \"<strong>revoke</strong>\" API facilitates the revocation of a certificate based on its serial number. This functionality is crucial for invalidating certificates that are compromised or no longer trusted.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p>By specifying the serial number of the certificate, this API ensures immediate termination of its validity, thereby maintaining security and compliance with organizational policies regarding certificate management.</p>\n<p><strong>Request Body Parameters</strong></p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>serialNo</td>\n<td>String</td>\n<td>Yes</td>\n<td>Certificate serial number for which revoke is initiated.  <br />  <br />Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\"</td>\n</tr>\n<tr>\n<td>reason</td>\n<td>Integer</td>\n<td>Yes</td>\n<td>0 (Unspecified): Reason not specified or unknown.  <br />  <br />1 (Key Compromise): Private key associated with the certificate compromised or suspected compromised.  <br />  <br />2 (CA compromise): Certificate Authority (CA) certificate or private key compromised or suspected compromised.  <br />  <br />3 (Affiliation Changed): Certificate holder's affiliation or relationship with the organization changed.  <br />  <br />4 (Superseded): Certificate replaced by a new certificate.  <br />  <br />5 (Cessation of Operation): Organization or entity associated with the certificate ceased operation.  <br />  <br />9 (Privilege Withdrawn): Privileges associated with the certificate holder withdrawn.  <br />  <br />10 (AA Compromise): Certificate used for authentication or authorization compromised or suspected compromised.  <br />  <br />ex:- 4</td>\n</tr>\n<tr>\n<td>remarks</td>\n<td>String</td>\n<td>Yes</td>\n<td>The '<strong>Remarks</strong>' parameter in the 'revoke' API allows users to include additional comments to the certificate rekeying process.  <br />  <br />ex:-\"Certificate expired\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["certificates","revoke"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"950c343b-84f3-4bec-802b-58289da9f30c","name":"200 OK – Certificate revoked","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"serialNo\": \"5dad5c16425f16273e65581aff03e9b1\",\r\n  \"remarks\": \"test\",\r\n  \"reason\": 1\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/revoke","description":"The \"**revoke**\" API facilitates the revocation of a certificate based on its serial number. This functionality is crucial for invalidating certificates that are compromised or no longer trusted.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\nBy specifying the serial number of the certificate, this API ensures immediate termination of its validity, thereby maintaining security and compliance with organizational policies regarding certificate management.\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| serialNo | String | Yes | Certificate serial number for which revoke is initiated.  <br>  <br>Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\" |\n| reason | Integer | Yes | 0 (Unspecified): Reason not specified or unknown.  <br>  <br>1 (Key Compromise): Private key associated with the certificate compromised or suspected compromised.  <br>  <br>2 (CA compromise): Certificate Authority (CA) certificate or private key compromised or suspected compromised.  <br>  <br>3 (Affiliation Changed): Certificate holder's affiliation or relationship with the organization changed.  <br>  <br>4 (Superseded): Certificate replaced by a new certificate.  <br>  <br>5 (Cessation of Operation): Organization or entity associated with the certificate ceased operation.  <br>  <br>9 (Privilege Withdrawn): Privileges associated with the certificate holder withdrawn.  <br>  <br>10 (AA Compromise): Certificate used for authentication or authorization compromised or suspected compromised.  <br>  <br>ex:- 4 |\n| remarks | String | Yes | The '**Remarks**' parameter in the 'revoke' API allows users to include additional comments to the certificate rekeying process.  <br>  <br>ex:-\"Certificate expired\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"message\": \"Certificate revoked successfully\",\n  \"serialNumber\": \"bbc11e8f406e4a24c31c852660b464dd\",\n  \"revocationTime\": \"2026-04-17T10:30:00\"\n}"},{"id":"a290bd84-2b2c-44b3-a76e-f099464621d2","name":"404 Not Found – Certificate not found","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"serialNo\": \"5dad5c16425f16273e65581aff03e9b1\",\r\n  \"remarks\": \"test\",\r\n  \"reason\": 1\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/revoke","description":"The \"**revoke**\" API facilitates the revocation of a certificate based on its serial number. This functionality is crucial for invalidating certificates that are compromised or no longer trusted.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\nBy specifying the serial number of the certificate, this API ensures immediate termination of its validity, thereby maintaining security and compliance with organizational policies regarding certificate management.\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| serialNo | String | Yes | Certificate serial number for which revoke is initiated.  <br>  <br>Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\" |\n| reason | Integer | Yes | 0 (Unspecified): Reason not specified or unknown.  <br>  <br>1 (Key Compromise): Private key associated with the certificate compromised or suspected compromised.  <br>  <br>2 (CA compromise): Certificate Authority (CA) certificate or private key compromised or suspected compromised.  <br>  <br>3 (Affiliation Changed): Certificate holder's affiliation or relationship with the organization changed.  <br>  <br>4 (Superseded): Certificate replaced by a new certificate.  <br>  <br>5 (Cessation of Operation): Organization or entity associated with the certificate ceased operation.  <br>  <br>9 (Privilege Withdrawn): Privileges associated with the certificate holder withdrawn.  <br>  <br>10 (AA Compromise): Certificate used for authentication or authorization compromised or suspected compromised.  <br>  <br>ex:- 4 |\n| remarks | String | Yes | The '**Remarks**' parameter in the 'revoke' API allows users to include additional comments to the certificate rekeying process.  <br>  <br>ex:-\"Certificate expired\" |"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"FAILURE\",\n  \"errorCode\": \"EMCA-404\",\n  \"errorMessage\": \"Certificate with serial number 'bbc11e8f406e4a24c31c852660b464dd' not found\"\n}"}],"_postman_id":"208ffe34-7398-46da-a647-3feb691ebb91"},{"name":"suspend","id":"bb4be6a2-1b4a-4a5b-86f8-02bf90dc8c1a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"serialNo\": \"5dad5c16425f16273e65581aff03e9b1\",\r\n  \"remarks\": \"test\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/suspend","description":"<p>The '<strong>suspend</strong>' API suspends certificates based on their serial numbers, crucial for invalidating compromised, or untrusted certificates. Users can also reinstate suspended certificates as needed, ensuring security and compliance with organizational policies.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>serialNo</td>\n<td>String</td>\n<td>Yes</td>\n<td>Certificate serial number for which revoke is initiated.  <br />  <br />Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\"</td>\n</tr>\n<tr>\n<td>remarks</td>\n<td>String</td>\n<td>Yes</td>\n<td>The '<strong>Remarks</strong>' parameter in the 'supend' API allows users to include additional comments to the certificate rekeying process.  <br />  <br />ex:-\"forgot password\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["certificates","suspend"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"a3c52623-045b-4645-8a7c-c75843d17d44","name":"200 OK – Certificate suspended","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"serialNo\": \"5dad5c16425f16273e65581aff03e9b1\",\r\n  \"remarks\": \"test\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/suspend","description":"The '**suspend**' API suspends certificates based on their serial numbers, crucial for invalidating compromised, or untrusted certificates. Users can also reinstate suspended certificates as needed, ensuring security and compliance with organizational policies.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| serialNo | String | Yes | Certificate serial number for which revoke is initiated.  <br>  <br>Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\" |\n| remarks | String | Yes | The '**Remarks**' parameter in the 'supend' API allows users to include additional comments to the certificate rekeying process.  <br>  <br>ex:-\"forgot password\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"message\": \"Certificate suspended successfully\",\n  \"serialNumber\": \"bbc11e8f406e4a24c31c852660b464dd\",\n  \"suspendTime\": \"2026-04-17T10:30:00\"\n}"}],"_postman_id":"bb4be6a2-1b4a-4a5b-86f8-02bf90dc8c1a"},{"name":"reinstate","id":"91464bcf-abfb-439d-83d7-b7bdade802e6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"serialNo\": \"5dad5c16425f16273e65581aff03e9b1\",\r\n  \"remarks\": \"test\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/reinstate","description":"<p>The '<strong>reinstate</strong>' API allows for the reinstatement of previously suspended certificates. This functionality is used to restore certificates that were temporarily invalidated due to compromise, or other reasons. By specifying the serial number of the suspended certificate, this API ensures the restoration of its validity, maintaining security and compliance with organizational certificate management policies.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>serialNo</td>\n<td>String</td>\n<td>Yes</td>\n<td>Certificate serial number for which reinstate is initiated.  <br />  <br />Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\"</td>\n</tr>\n<tr>\n<td>remarks</td>\n<td>String</td>\n<td>Yes</td>\n<td>The '<strong>Remarks</strong>' parameter in the '<strong>reinstate</strong>' API allows users to include additional comments to the certificate rekeying process.  <br />  <br />ex:-\"test\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["certificates","reinstate"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"386d0ba7-1aa1-4c8d-acba-14b827045489","name":"200 OK – Certificate reinstated","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"serialNo\": \"5dad5c16425f16273e65581aff03e9b1\",\r\n  \"remarks\": \"test\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/reinstate","description":"The '**reinstate**' API allows for the reinstatement of previously suspended certificates. This functionality is used to restore certificates that were temporarily invalidated due to compromise, or other reasons. By specifying the serial number of the suspended certificate, this API ensures the restoration of its validity, maintaining security and compliance with organizational certificate management policies.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| serialNo | String | Yes | Certificate serial number for which reinstate is initiated.  <br>  <br>Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\" |\n| remarks | String | Yes | The '**Remarks**' parameter in the '**reinstate**' API allows users to include additional comments to the certificate rekeying process.  <br>  <br>ex:-\"test\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"message\": \"Certificate reinstated successfully\",\n  \"serialNumber\": \"bbc11e8f406e4a24c31c852660b464dd\",\n  \"reinstateTime\": \"2026-04-17T10:30:00\"\n}"}],"_postman_id":"91464bcf-abfb-439d-83d7-b7bdade802e6"},{"name":"getCertificate","id":"5c8af7c7-996e-4c28-9af6-2d7a9e4cedf2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"serialNo\": \"5dad5c16425f16273e65581aff03e9b1\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/export","description":"<p>The \"<strong>getCertificate</strong>\" API allows users to download a User certificate based on its serial number or retrieve the status of a manually authorized request using the requestId. This functionality supports efficient certificate management by providing access to specific certificates or the status of requests in a straightforward manner.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<p><strong>Note</strong>: Users must provide either the serial number or the request ID; both parameters cannot be included in the same request</p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>serialNo</td>\n<td>String</td>\n<td>No</td>\n<td>Certificate serial number  <br />  <br />Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\"</td>\n</tr>\n<tr>\n<td>requestId</td>\n<td>String</td>\n<td>No</td>\n<td>The requestId is obtained when a certificate request is manually authorized.  <br />  <br />ex:-\"53352123554532\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["certificates","export"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"c796c248-f2ee-4967-abb0-8bcb4eda972f","name":"200 OK – Certificate exported","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"serialNo\": \"5dad5c16425f16273e65581aff03e9b1\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/export","description":"The \"**getCertificate**\" API allows users to download a User certificate based on its serial number or retrieve the status of a manually authorized request using the requestId. This functionality supports efficient certificate management by providing access to specific certificates or the status of requests in a straightforward manner.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n**Note**: Users must provide either the serial number or the request ID; both parameters cannot be included in the same request\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| serialNo | String | No | Certificate serial number  <br>  <br>Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\" |\n| requestId | String | No | The requestId is obtained when a certificate request is manually authorized.  <br>  <br>ex:-\"53352123554532\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"serialNumber\": \"bbc11e8f406e4a24c31c852660b464dd\",\n  \"certificate\": \"MIID6TCCAtGgAwIBAgIUbbwR6E/base64==\",\n  \"certChain\": \"MIID6TCCAtG...chainCert/base64==\",\n  \"expiryDate\": \"2031-04-17T00:00:00\",\n  \"requestId\": null\n}"},{"id":"f987329c-5e53-4eaf-a693-d558bd80c4ee","name":"404 Not Found – Certificate not found","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"serialNo\": \"5dad5c16425f16273e65581aff03e9b1\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/export","description":"The \"**getCertificate**\" API allows users to download a User certificate based on its serial number or retrieve the status of a manually authorized request using the requestId. This functionality supports efficient certificate management by providing access to specific certificates or the status of requests in a straightforward manner.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n**Note**: Users must provide either the serial number or the request ID; both parameters cannot be included in the same request\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| serialNo | String | No | Certificate serial number  <br>  <br>Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\" |\n| requestId | String | No | The requestId is obtained when a certificate request is manually authorized.  <br>  <br>ex:-\"53352123554532\" |"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"FAILURE\",\n  \"errorCode\": \"EMCA-404\",\n  \"errorMessage\": \"No certificate found for the given serial number or requestId\"\n}"}],"_postman_id":"5c8af7c7-996e-4c28-9af6-2d7a9e4cedf2"},{"name":"getProfiles","id":"4ad01aa9-6023-44ac-b4fe-ffcd3f864cbb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"caName\": \"Example Issuing CA 01\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/profiles/export","description":"<p>The \"<strong>getProfiles</strong>\" API retrieves all profiles created for the issuing CA, providing basic information such as profile name, profile ID, and validity. By specifying the CA name, users can efficiently manage and review all profiles associated with that issuing CA.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>caName</td>\n<td>String</td>\n<td>Yes</td>\n<td>Common name of CA Certifictae  <br />  <br />Ex :- \"CA Certificate 2924\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["profiles","export"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"f6f3d725-6008-4071-8202-f4a0c13b3352","name":"200 OK – Profiles listed","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"caName\": \"Example Issuing CA 01\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/profiles/export","description":"The \"**getProfiles**\" API retrieves all profiles created for the issuing CA, providing basic information such as profile name, profile ID, and validity. By specifying the CA name, users can efficiently manage and review all profiles associated with that issuing CA.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| caName | String | Yes | Common name of CA Certifictae  <br>  <br>Ex :- \"CA Certificate 2924\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"profiles\": [\n    {\n      \"profileId\": \"20\",\n      \"profileName\": \"DeviceCertProfile\",\n      \"caName\": \"Example Issuing CA 01\",\n      \"validityCriteria\": \"y\",\n      \"validityValue\": \"5\"\n    },\n    {\n      \"profileId\": \"21\",\n      \"profileName\": \"UserSigningProfile\",\n      \"caName\": \"Example Issuing CA 01\",\n      \"validityCriteria\": \"y\",\n      \"validityValue\": \"3\"\n    }\n  ]\n}"}],"_postman_id":"4ad01aa9-6023-44ac-b4fe-ffcd3f864cbb"},{"name":"getProfileInfo","id":"848fff69-29b4-448f-aeb1-0b9c2c01d906","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"profile\": \"AXOS End-Entity - mTLS Communications Certificate\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/profiles/info","description":"<p>The \"<strong>getProfileInfo</strong>\" API retrieves profile information for a CA or USER by providing the profile name or profile id. This API helps in obtaining detailed information about specific profiles, facilitating efficient management and verification of CA or user profiles</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>profile</td>\n<td>String</td>\n<td>Yes</td>\n<td>Pass Certificate profile name or Id to be used to get profile information  <br />  <br />ex:- \"5\", \"signer cert profile\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["profiles","info"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"0e954cb8-58fa-4c7e-a854-ce733899a0c3","name":"200 OK – Profile info returned","originalRequest":{"method":"POST","header":[{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"profile\": \"AXOS End-Entity - mTLS Communications Certificate\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/profiles/info","description":"The \"**getProfileInfo**\" API retrieves profile information for a CA or USER by providing the profile name or profile id. This API helps in obtaining detailed information about specific profiles, facilitating efficient management and verification of CA or user profiles\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| profile | String | Yes | Pass Certificate profile name or Id to be used to get profile information  <br>  <br>ex:- \"5\", \"signer cert profile\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"profileId\": \"20\",\n  \"profileName\": \"DeviceCertProfile\",\n  \"caName\": \"Example Issuing CA 01\",\n  \"keyAlgorithm\": \"ECC256\",\n  \"signingAlgorithm\": \"SHA256WithECDSA\",\n  \"validityCriteria\": \"y\",\n  \"validityValue\": \"5\",\n  \"sanEnabled\": true\n}"}],"_postman_id":"848fff69-29b4-448f-aeb1-0b9c2c01d906"},{"name":"getCertInfo","id":"3d01ce92-3df7-4424-af35-dd5e46e6eb2d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"caName\": \"Example Issuing CA 01\",\r\n  \"noOfCertificates\": 5,\r\n  \"round\": 0\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/info","description":"<p>The \"<strong>getCertInfo</strong>\" API retrieves user certificate information by providing the Issuing CA's common name. This API helps in obtaining detailed information about user certificates issued by a specific Certificate Authority, facilitating efficient certificate management</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>caName</td>\n<td>String</td>\n<td>Yes</td>\n<td>Common name of CA Certifictae  <br />  <br />Ex :- \"CA Certificate 2024\"</td>\n</tr>\n<tr>\n<td>noOfCertificates</td>\n<td>Integer</td>\n<td>Yes</td>\n<td>Retrieve the number of recently generated certificates under the provided CA. For instance, get the last 10 certificates generated under \"CA Certificate 2024.\"  <br />  <br />ex:- 10</td>\n</tr>\n<tr>\n<td>round</td>\n<td>Integer</td>\n<td>No</td>\n<td>The certificate details can be retrieved up to the configuration limit, depending on the defined configuration. For example, to get 1000 certificate details when the limitation in the configuration is 100, follow the approach below:  <br />  <br />1. To get certificates 1-100, pass 0 or leave it empty.  <br />To get certificates 101-200, pass 1.  <br />2. To get certificates 201-300, pass 2.  <br />3. Continue this approach to retrieve certificates up to 1000</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["certificates","info"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"52efe8bf-1d3c-4417-a8fb-5d44459de44c","name":"200 OK – Certificate info returned","originalRequest":{"method":"POST","header":[{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"caName\": \"Example Issuing CA 01\",\r\n  \"noOfCertificates\": 5,\r\n  \"round\": 0\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/info","description":"The \"**getCertInfo**\" API retrieves user certificate information by providing the Issuing CA's common name. This API helps in obtaining detailed information about user certificates issued by a specific Certificate Authority, facilitating efficient certificate management\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| caName | String | Yes | Common name of CA Certifictae  <br>  <br>Ex :- \"CA Certificate 2024\" |\n| noOfCertificates | Integer | Yes | Retrieve the number of recently generated certificates under the provided CA. For instance, get the last 10 certificates generated under \"CA Certificate 2024.\"  <br>  <br>ex:- 10 |\n| round | Integer | No | The certificate details can be retrieved up to the configuration limit, depending on the defined configuration. For example, to get 1000 certificate details when the limitation in the configuration is 100, follow the approach below:  <br>  <br>1\\. To get certificates 1-100, pass 0 or leave it empty.  <br>To get certificates 101-200, pass 1.  <br>2\\. To get certificates 201-300, pass 2.  <br>3\\. Continue this approach to retrieve certificates up to 1000 |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"totalCertificates\": 3,\n  \"certificates\": [\n    {\n      \"serialNumber\": \"bbc11e8f406e4a24c31c852660b464dd\",\n      \"commonName\": \"USER-2024-001234\",\n      \"status\": \"ACTIVE\",\n      \"expiryDate\": \"2031-04-17T00:00:00\"\n    },\n    {\n      \"serialNumber\": \"ccc333ddd444eee555fff666777aaa88\",\n      \"commonName\": \"USER-2024-001235\",\n      \"status\": \"ACTIVE\",\n      \"expiryDate\": \"2030-06-01T00:00:00\"\n    },\n    {\n      \"serialNumber\": \"ddd444eee555fff666777aaa888bbb99\",\n      \"commonName\": \"USER-2024-001236\",\n      \"status\": \"REVOKED\",\n      \"expiryDate\": \"2029-01-01T00:00:00\"\n    }\n  ]\n}"}],"_postman_id":"3d01ce92-3df7-4424-af35-dd5e46e6eb2d"},{"name":"getCertCount","id":"5f8bcd85-4c95-4c36-99f5-8d096603e784","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"responseType\": \"Y\",\r\n  \"caName\": [\r\n    \"Example Issuing CA 01\"\r\n  ]\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/count","description":"<p>The \"<strong>getCertCount</strong>\" API retrieves the total count of certificates issued under the specified Issuing CA. By providing the Issuing CA's details, users can obtain an accurate count of all certificates issued by that CA.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>responseType</td>\n<td>String</td>\n<td>No</td>\n<td>The response will vary based on the <strong>responseType</strong> parameter. Please refer to the following expected responses:  <br />  <br />Empty (\"\") or null : Retrieves the total certificate count.  <br />  <br />\"Y\" : Retrieves the certificate count year-wise.  <br />  <br />\"M\" : Retrieves the certificate count month-wise.  <br />  <br />Ex:- \"M\" or \"Y\" or \"\" or null</td>\n</tr>\n<tr>\n<td>caName</td>\n<td>ArrayList</td>\n<td>Yes</td>\n<td>List of common names of CA certificates for which you want to get the count of issuing user certificates.  <br />  <br />Ex:-  <br />[  <br />\"CA Certificate 2023\",  <br />\"CA Certificate 2024\"  <br />]</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["certificates","count"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"1fd752ac-8049-42b9-9504-a49701180b79","name":"200 OK – Count returned","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"responseType\": \"Y\",\r\n  \"caName\": [\r\n    \"Example Issuing CA 01\"\r\n  ]\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/count","description":"The \"**getCertCount**\" API retrieves the total count of certificates issued under the specified Issuing CA. By providing the Issuing CA's details, users can obtain an accurate count of all certificates issued by that CA.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| responseType | String | No | The response will vary based on the **responseType** parameter. Please refer to the following expected responses:  <br>  <br>Empty (\"\") or null : Retrieves the total certificate count.  <br>  <br>\"Y\" : Retrieves the certificate count year-wise.  <br>  <br>\"M\" : Retrieves the certificate count month-wise.  <br>  <br>Ex:- \"M\" or \"Y\" or \"\" or null |\n| caName | ArrayList | Yes | List of common names of CA certificates for which you want to get the count of issuing user certificates.  <br>  <br>Ex:-  <br>\\[  <br>\"CA Certificate 2023\",  <br>\"CA Certificate 2024\"  <br>\\] |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"caName\": \"Example Issuing CA 01\",\n  \"totalCertificates\": 1024,\n  \"activeCertificates\": 980,\n  \"revokedCertificates\": 32,\n  \"expiredCertificates\": 12\n}"}],"_postman_id":"5f8bcd85-4c95-4c36-99f5-8d096603e784"},{"name":"getExpiringSoonCertInfo","id":"0047d73b-a775-4dc4-92cd-4a740b5e7861","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"noOfDays\": 1900,\r\n  \"caName\": [\r\n    \"\"\r\n  ],\r\n  \"round\": 0\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/expiring","description":"<p>The \"<strong>getExpiringSoonCertInfo</strong>\" API retrieves information about certificates that are expiring soon, based on the specified number of days. Users can optionally provide the CA name to filter results for a specific Certificate Authority, aiding in the efficient management of certificates nearing expiration within the defined time frame.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>noOfDays</td>\n<td>Integer</td>\n<td>Yes</td>\n<td>Number of days until certificates are nearing expiration.  <br />  <br />ex:- 10</td>\n</tr>\n<tr>\n<td>caName</td>\n<td>ArrayList</td>\n<td>No</td>\n<td>List of common names of CA certificates for which you want to retrieve information about expiring user certificates.  <br />  <br />Ex:-  <br />[  <br />\"CA Certificate 2023\",  <br />\"CA Certificate 2024\"  <br />]</td>\n</tr>\n<tr>\n<td>round</td>\n<td>Integer</td>\n<td>No</td>\n<td>The certificate details can be retrieved up to the configuration limit, depending on the defined configuration. For example, to get 1000 certificate details when the limitation in the configuration is 100, follow the approach below:  <br />  <br />1. To get certificates 1-100, pass 0 or leave it empty.  <br />To get certificates 101-200, pass 1.  <br />2. To get certificates 201-300, pass 2.  <br />3. Continue this approach to retrieve certificates up to 1000  <br />  <br />ex:- 1</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["certificates","expiring"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"f65ee406-b620-4821-ae9b-e3099150c4fe","name":"200 OK – Expiring certs returned","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"noOfDays\": 1900,\r\n  \"caName\": [\r\n    \"\"\r\n  ],\r\n  \"round\": 0\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/expiring","description":"The \"**getExpiringSoonCertInfo**\" API retrieves information about certificates that are expiring soon, based on the specified number of days. Users can optionally provide the CA name to filter results for a specific Certificate Authority, aiding in the efficient management of certificates nearing expiration within the defined time frame.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| noOfDays | Integer | Yes | Number of days until certificates are nearing expiration.  <br>  <br>ex:- 10 |\n| caName | ArrayList | No | List of common names of CA certificates for which you want to retrieve information about expiring user certificates.  <br>  <br>Ex:-  <br>\\[  <br>\"CA Certificate 2023\",  <br>\"CA Certificate 2024\"  <br>\\] |\n| round | Integer | No | The certificate details can be retrieved up to the configuration limit, depending on the defined configuration. For example, to get 1000 certificate details when the limitation in the configuration is 100, follow the approach below:  <br>  <br>1\\. To get certificates 1-100, pass 0 or leave it empty.  <br>To get certificates 101-200, pass 1.  <br>2\\. To get certificates 201-300, pass 2.  <br>3\\. Continue this approach to retrieve certificates up to 1000  <br>  <br>ex:- 1 |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"totalExpiringSoon\": 2,\n  \"certificates\": [\n    {\n      \"serialNumber\": \"eee555fff666ggg777\",\n      \"commonName\": \"Device-001\",\n      \"expiryDate\": \"2026-05-01T00:00:00\",\n      \"daysToExpiry\": 14\n    },\n    {\n      \"serialNumber\": \"fff666ggg777hhh888\",\n      \"commonName\": \"Device-002\",\n      \"expiryDate\": \"2026-05-10T00:00:00\",\n      \"daysToExpiry\": 23\n    }\n  ]\n}"}],"_postman_id":"0047d73b-a775-4dc4-92cd-4a740b5e7861"},{"name":"getCAs","id":"e922c74d-1a3e-45d6-95c4-2065bcad8520","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"url":"{{baseUrl}}/ca/list","description":"<p>The \"<strong>getCAs</strong>\" API returns the common names of all available Issuing CA certificates in its response.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"request-input-parameters\"><strong>Request Input Parameters</strong></h3>\n<p><strong>NOTE</strong>: This API does not require any input parameters.</p>\n","urlObject":{"path":["ca","list"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"9789ccfe-8d3c-42ce-b340-2d305a4241ce","name":"200 OK – CA list returned","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"url":"{{baseUrl}}/ca/list","description":"The \"**getCAs**\" API returns the common names of all available Issuing CA certificates in its response.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n### **Request Input Parameters**\n\n**NOTE**: This API does not require any input parameters."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"cas\": [\n    {\n      \"caId\": \"1\",\n      \"commonName\": \"Test Root Certificate 2026\",\n      \"caType\": \"root\",\n      \"status\": \"ACTIVE\"\n    },\n    {\n      \"caId\": \"7\",\n      \"commonName\": \"Example Issuing CA 01\",\n      \"caType\": \"subCA\",\n      \"status\": \"ACTIVE\"\n    }\n  ]\n}"}],"_postman_id":"e922c74d-1a3e-45d6-95c4-2065bcad8520"},{"name":"getCertificateChain","id":"1bf41932-a6b5-4e33-a50d-8c5dfa50f1f8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"caName\": \"Example Issuing CA 01\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/chain/export","description":"<p>The \"<strong>getCertificateChain</strong>\" API retrieves the complete certificate chain in encoded PEM format by provding the CA name. This functionality enables users to obtain all certificates in the chain associated with a specific Certificate Authority, facilitating comprehensive certificate management and validation.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>caName</td>\n<td>String</td>\n<td>Yes</td>\n<td>Common name of CA Certifictae  <br />  <br />Ex :- \"CA Certificate 2024\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["certificates","chain","export"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"359ad2a2-7a89-414c-95a7-2492bd47f174","name":"200 OK – Chain returned","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"caName\": \"Example Issuing CA 01\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/certificates/chain/export","description":"The \"**getCertificateChain**\" API retrieves the complete certificate chain in encoded PEM format by provding the CA name. This functionality enables users to obtain all certificates in the chain associated with a specific Certificate Authority, facilitating comprehensive certificate management and validation.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| caName | String | Yes | Common name of CA Certifictae  <br>  <br>Ex :- \"CA Certificate 2024\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"caName\": \"Example Issuing CA 01\",\n  \"chainLength\": 2,\n  \"certificateChain\": \"-----BEGIN CERTIFICATE-----\\nMIID6TCCAtGgbase64IssuingCA==\\n-----END CERTIFICATE-----\\n-----BEGIN CERTIFICATE-----\\nMIID9ZCCAtmgbase64RootCA==\\n-----END CERTIFICATE-----\"\n}"}],"_postman_id":"1bf41932-a6b5-4e33-a50d-8c5dfa50f1f8"},{"name":"getCAs","id":"df4a3724-6178-40b5-9ae9-2392480c200a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"url":"{{baseUrl}}/ca/list/{{x_client_id}}","description":"<p>The '<strong>getCAs</strong>' API is supported by GET requests. It returns the common names of all available Issuing CA certificates in its response, where clientId is passed as a path variable.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>URL</strong></p>\n<p><code>{{baseUrl}}/ca/list/{clientId}</code></p>\n<p><strong>Request Body Parameters</strong></p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>clientId</td>\n<td>String</td>\n<td>Yes</td>\n<td>You need to pass the clientId in path variable You will get the clientId from emCA when you register an external application user for consuming APIs.  <br />  <br />ex:- \"924e0d30-8cea-4bf4-be77-4b0e160dbaf9\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["ca","list","{{x_client_id}}"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"6a577cca-6680-4d2b-b8a4-80cdb5f18fad","name":"200 OK – CA list returned","originalRequest":{"method":"GET","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"url":"{{baseUrl}}/ca/list/{{x_client_id}}","description":"The '**getCAs**' API is supported by GET requests. It returns the common names of all available Issuing CA certificates in its response, where clientId is passed as a path variable.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**URL**\n\n`{{baseUrl}}/ca/list/{clientId}`\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| clientId | String | Yes | You need to pass the clientId in path variable You will get the clientId from emCA when you register an external application user for consuming APIs.  <br>  <br>ex:- \"924e0d30-8cea-4bf4-be77-4b0e160dbaf9\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"cas\": [\n    {\n      \"caId\": \"1\",\n      \"commonName\": \"Test Root Certificate 2026\",\n      \"caType\": \"root\",\n      \"status\": \"ACTIVE\"\n    },\n    {\n      \"caId\": \"7\",\n      \"commonName\": \"Example Issuing CA 01\",\n      \"caType\": \"subCA\",\n      \"status\": \"ACTIVE\"\n    }\n  ]\n}"}],"_postman_id":"df4a3724-6178-40b5-9ae9-2392480c200a"},{"name":"getCertificateChain","id":"e8229255-29c9-4ca2-8be6-84df714a146e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"url":"{{baseUrl}}/certificates/chain/export/{{x_client_id}}/Example Issuing CA 01","description":"<p>The '<strong>getCertificateChain</strong>' API is GET-supported API where clientId and caname is passed as a path variable, API retrieves the complete certificate chain in encoded PEM format by provding the CA name. This functionality enables users to obtain all certificates in the chain associated with a specific Certificate Authority, facilitating comprehensive certificate management and validation.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>URL</strong></p>\n<p><code>{{baseUrl}}/certificates/chain/export/{clientId}/{caName}</code></p>\n<p><strong>Request Body Parameters</strong></p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>clientId</td>\n<td>String</td>\n<td>Yes</td>\n<td>You need to pass the clientId in path variable You will get the clientId from emCA when you register an external application user for consuming APIs.  <br />  <br />ex:- \"924e0d30-8cea-4bf4-be77-4b0e160dbaf9\"</td>\n</tr>\n<tr>\n<td>caName</td>\n<td>String</td>\n<td>Yes</td>\n<td>Common name of CA Certifictae need to be passed from the path variable  <br />  <br />Ex :- \"CA Certificate 2924\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["certificates","chain","export","{{x_client_id}}","Example Issuing CA 01"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"d94d7c48-827d-4f37-979a-63c96c8b5d39","name":"200 OK – Chain returned","originalRequest":{"method":"GET","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"url":"{{baseUrl}}/certificates/chain/export/{{x_client_id}}/Example Issuing CA 01","description":"The '**getCertificateChain**' API is GET-supported API where clientId and caname is passed as a path variable, API retrieves the complete certificate chain in encoded PEM format by provding the CA name. This functionality enables users to obtain all certificates in the chain associated with a specific Certificate Authority, facilitating comprehensive certificate management and validation.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**URL**\n\n`{{baseUrl}}/certificates/chain/export/{clientId}/{caName}`\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| clientId | String | Yes | You need to pass the clientId in path variable You will get the clientId from emCA when you register an external application user for consuming APIs.  <br>  <br>ex:- \"924e0d30-8cea-4bf4-be77-4b0e160dbaf9\" |\n| caName | String | Yes | Common name of CA Certifictae need to be passed from the path variable  <br>  <br>Ex :- \"CA Certificate 2924\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"caName\": \"Example Issuing CA 01\",\n  \"certificateChain\": \"-----BEGIN CERTIFICATE-----\\nMIID6TCCAtGgbase64IssuingCA==\\n-----END CERTIFICATE-----\\n-----BEGIN CERTIFICATE-----\\nMIID9ZCCAtmgbase64RootCA==\\n-----END CERTIFICATE-----\"\n}"}],"_postman_id":"e8229255-29c9-4ca2-8be6-84df714a146e"},{"name":"getProfileInfo","id":"531d66ed-5c61-4aa9-9153-658f34b2047e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"url":"{{baseUrl}}/profiles/info/{{x_client_id}}/7","description":"<p>The '<strong>getProfileInfo</strong>' API is supported by GET requests. It retrieves profile information for a CA or user, where clientId, profile name, or profile ID is passed as path variables. This API facilitates the retrieval of detailed information about specific profiles, enhancing the efficient management and verification of CA or user profiles.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>URL</strong></p>\n<p><code>{{baseUrl}}/profiles/info/{clientId}/{profileId}</code></p>\n<p><strong>Request Body Parameters</strong></p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>clientId</td>\n<td>String</td>\n<td>Yes</td>\n<td>You need to pass the clientId in path variable You will get the clientId from emCA when you register an external application user for consuming APIs.  <br />  <br />ex:- \"924e0d30-8cea-4bf4-be77-4b0e160dbaf9\"</td>\n</tr>\n<tr>\n<td>profileId</td>\n<td>String</td>\n<td>Yes</td>\n<td>Certificate profile name or ID to be passed as a path variable to be used to get profile information  <br />  <br />ex:- \"3\", \"signer cert profile\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["profiles","info","{{x_client_id}}","7"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"5fa0a227-6073-45c7-99f7-e9da3701ca5c","name":"200 OK – Profile info returned","originalRequest":{"method":"GET","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"url":"{{baseUrl}}/profiles/info/{{x_client_id}}/7","description":"The '**getProfileInfo**' API is supported by GET requests. It retrieves profile information for a CA or user, where clientId, profile name, or profile ID is passed as path variables. This API facilitates the retrieval of detailed information about specific profiles, enhancing the efficient management and verification of CA or user profiles.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**URL**\n\n`{{baseUrl}}/profiles/info/{clientId}/{profileId}`\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| clientId | String | Yes | You need to pass the clientId in path variable You will get the clientId from emCA when you register an external application user for consuming APIs.  <br>  <br>ex:- \"924e0d30-8cea-4bf4-be77-4b0e160dbaf9\" |\n| profileId | String | Yes | Certificate profile name or ID to be passed as a path variable to be used to get profile information  <br>  <br>ex:- \"3\", \"signer cert profile\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"profileId\": \"7\",\n  \"profileName\": \"DeviceCertProfile\",\n  \"caName\": \"Example Issuing CA 01\",\n  \"keyAlgorithm\": \"ECC256\",\n  \"signingAlgorithm\": \"SHA256WithECDSA\",\n  \"validityCriteria\": \"y\",\n  \"validityValue\": \"5\"\n}"}],"_postman_id":"531d66ed-5c61-4aa9-9153-658f34b2047e"},{"name":"getProfiles","id":"7fcb7e9b-5654-493c-a485-af76efa834ff","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"url":"{{baseUrl}}/profiles/export/{{x_client_id}}/Example Issuing CA 01","description":"<p>The '<strong>getProfiles</strong>' API is GET-supported API where clientId and caname is passed as a path variable, It retrieves all profiles created for the issuing CA, providing essential details such as profile name, profile ID, and validity. Users specify the CA name to efficiently manage and review profiles associated with that issuing CA.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>URL</strong></p>\n<p><code>{{baseUrl}}/profiles/export/{clientId}/{caName}</code></p>\n<p><strong>Request Body Parameters</strong></p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>clientId</td>\n<td>String</td>\n<td>Yes</td>\n<td>You need to pass the clientId in path variable You will get the clientId from emCA when you register an external application user for consuming APIs.  <br />  <br />ex:- \"924e0d30-8cea-4bf4-be77-4b0e160dbaf9\"</td>\n</tr>\n<tr>\n<td>caName</td>\n<td>String</td>\n<td>Yes</td>\n<td>Common name of CA Certifictae need to be passed from the path variable  <br />  <br />Ex :- \"CA Certificate 2024\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["profiles","export","{{x_client_id}}","Example Issuing CA 01"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"e5f1364c-6d0d-42f0-a31b-b4d8ae7d8e57","name":"200 OK – Profiles listed","originalRequest":{"method":"GET","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"url":"{{baseUrl}}/profiles/export/{{x_client_id}}/Example Issuing CA 01","description":"The '**getProfiles**' API is GET-supported API where clientId and caname is passed as a path variable, It retrieves all profiles created for the issuing CA, providing essential details such as profile name, profile ID, and validity. Users specify the CA name to efficiently manage and review profiles associated with that issuing CA.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**URL**\n\n`{{baseUrl}}/profiles/export/{clientId}/{caName}`\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| clientId | String | Yes | You need to pass the clientId in path variable You will get the clientId from emCA when you register an external application user for consuming APIs.  <br>  <br>ex:- \"924e0d30-8cea-4bf4-be77-4b0e160dbaf9\" |\n| caName | String | Yes | Common name of CA Certifictae need to be passed from the path variable  <br>  <br>Ex :- \"CA Certificate 2024\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"profiles\": [\n    {\n      \"profileId\": \"20\",\n      \"profileName\": \"DeviceCertProfile\",\n      \"validityCriteria\": \"y\",\n      \"validityValue\": \"5\"\n    },\n    {\n      \"profileId\": \"21\",\n      \"profileName\": \"UserSigningProfile\",\n      \"validityCriteria\": \"y\",\n      \"validityValue\": \"3\"\n    }\n  ]\n}"}],"_postman_id":"7fcb7e9b-5654-493c-a485-af76efa834ff"},{"name":"getCertificate","id":"17a21ac4-c32c-4a08-87f6-0f915644efec","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"url":"{{baseUrl}}/certificates/export/{{x_client_id}}?serialNo=14e9a3feda3859f1078171b0b6241842","description":"<p>The \"<strong>getCertificate</strong>\" API is a GET-supported API where clientId is passed as a path variable, and the serial number and requestId parameters need to be passed from the query parameters. This API allows users to download a user certificate based on its serial number or retrieve the status of a manually authorized request using the requestId, supporting efficient certificate management.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>URL</strong></p>\n<p><code>{{baseUrl}}/certificates/export/{clientId}?serialNo={serialNo}</code></p>\n<p><strong>Request Body Parameters</strong></p>\n<p><strong>Note</strong>: Users must provide either the serial number or the request ID; both parameters cannot be included in the same request</p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>clientId</td>\n<td>String</td>\n<td>Yes</td>\n<td>You need to pass the clientId in path variable You will get the clientId from emCA when you register an external application user for consuming APIs.  <br />  <br />ex:- \"924e0d30-8cea-4bf4-be77-4b0e160dbaf9\"</td>\n</tr>\n<tr>\n<td>serialNo</td>\n<td>String</td>\n<td>No</td>\n<td>Certificate serial number.  <br />serial number need to be passed from the query parameters  <br />  <br />Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\"</td>\n</tr>\n<tr>\n<td>requestId</td>\n<td>String</td>\n<td>No</td>\n<td>The requestId is obtained when a certificate request is manually authorized.  <br />  <br />requestId need to be passed from the query parameters  <br />  <br />ex:-\"53352123554532\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["certificates","export","{{x_client_id}}"],"host":["{{baseUrl}}"],"query":[{"key":"serialNo","value":"14e9a3feda3859f1078171b0b6241842"}],"variable":[]}},"response":[{"id":"4432ae1d-ca44-4948-9f38-59a38540f03e","name":"200 OK – Certificate returned","originalRequest":{"method":"GET","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"url":{"raw":"{{baseUrl}}/certificates/export/{{x_client_id}}?serialNo=14e9a3feda3859f1078171b0b6241842","host":["{{baseUrl}}"],"path":["certificates","export","{{x_client_id}}"],"query":[{"key":"serialNo","value":"14e9a3feda3859f1078171b0b6241842"}]},"description":"The \"**getCertificate**\" API is a GET-supported API where clientId is passed as a path variable, and the serial number and requestId parameters need to be passed from the query parameters. This API allows users to download a user certificate based on its serial number or retrieve the status of a manually authorized request using the requestId, supporting efficient certificate management.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**URL**\n\n`{{baseUrl}}/certificates/export/{clientId}?serialNo={serialNo}`\n\n**Request Body Parameters**\n\n**Note**: Users must provide either the serial number or the request ID; both parameters cannot be included in the same request\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| clientId | String | Yes | You need to pass the clientId in path variable You will get the clientId from emCA when you register an external application user for consuming APIs.  <br>  <br>ex:- \"924e0d30-8cea-4bf4-be77-4b0e160dbaf9\" |\n| serialNo | String | No | Certificate serial number.  <br>serial number need to be passed from the query parameters  <br>  <br>Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\" |\n| requestId | String | No | The requestId is obtained when a certificate request is manually authorized.  <br>  <br>requestId need to be passed from the query parameters  <br>  <br>ex:-\"53352123554532\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"serialNumber\": \"bbc11e8f406e4a24c31c852660b464dd\",\n  \"certificate\": \"MIID6TCCAtGgAwIBAgIUbbwR6E/base64==\",\n  \"expiryDate\": \"2031-04-17T00:00:00\",\n  \"requestId\": null\n}"}],"_postman_id":"17a21ac4-c32c-4a08-87f6-0f915644efec"}],"id":"261138d1-c52a-40d8-89b0-67a0ce078115","description":"<p>The Certificate Management APIs provide a robust and secure solution for handling the entire lifecycle of digital certificates. These APIs enable automated processes for certificate issuance, renewal, revocation, and validation, ensuring efficient management and enhanced security. Supporting both RSA and ECC algorithms, these APIs are designed to integrate seamlessly with existing systems and adhere to industry standards for security and interoperability. By utilizing these APIs, organizations can maintain a compliant and reliable public key infrastructure (PKI) with minimal manual intervention.</p>\n<p>To ensure secure communication and multi-tenant isolation, all requests must include the following headers:</p>\n<ul>\n<li><p><strong><code>X-Nonce</code></strong>: A unique, per-request identifier used to prevent replay attacks by ensuring freshness and uniqueness.</p>\n</li>\n<li><p><strong><code>X-Client-ID</code></strong>: Identifies the tenant or organization initiating the request, enabling proper scoping and access control.</p>\n</li>\n<li><p><strong><code>X-Emca-Api-Key</code></strong>: A secure API key used to authenticate the client and authorize access to certificate management operations.</p>\n</li>\n</ul>\n<p>By leveraging these headers and adhering to a security-first approach, the Certificate Management APIs enable organizations to maintain a compliant, scalable, and reliable public key infrastructure (PKI) with minimal manual intervention.</p>\n","_postman_id":"261138d1-c52a-40d8-89b0-67a0ce078115"},{"name":"OCSP Management","item":[{"name":"createOcspCertificate","event":[{"listen":"prerequest","script":{"exec":[""],"type":"text/javascript","packages":{},"requests":{},"id":"b875d977-6dbf-4d17-b892-63e4a6bf79f5"}}],"id":"5cc584cf-c6cb-48a5-929e-edcdcb82a6b0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"certificateRequestDetails\": {\r\n    \"issuerCA\": \"3\",\r\n    \"validityCriteria\": \"y\",\r\n    \"validityValue\": \"5\",\r\n    \"keyAlgorithm\": \"RSA2048\",\r\n    \"signingAlgorithm\": \"SHA256WithRSA\",\r\n    \"keyProfile\": \"PKCS11_PROFILE\",\r\n    \"autoRenewal\": false,\r\n    \"renewalPeriod\": \"30\",\r\n    \"ocspSubjectAttributes\": [\r\n      {\r\n        \"oid\": \"2.5.4.3\",\r\n        \"value\": \"Managemet OCSP\",\r\n        \"dataType\": \"PrintableString\"\r\n      }\r\n    ],\r\n    \"ocspExtensions\": {\r\n      \"basicConstraints\": {\r\n        \"isCritical\": \"0\",\r\n        \"sortOrder\": \"2\"\r\n      },\r\n      \"authInfoAccess\": {\r\n        \"isEnabled\": \"0\",\r\n        \"isCritical\": \"0\",\r\n        \"ocspURL\": \"http://example.com/ocsp\",\r\n        \"sortOrder\": \"1\",\r\n        \"caIssuerURL\": \"http://example.com/ca/testca.cer\"\r\n      },\r\n      \"certificatePolicy\": {\r\n        \"isEnabled\": \"0\",\r\n        \"isCritical\": \"0\",\r\n        \"policyOID\": [\r\n          {\r\n            \"oid\": \"1.3.24.33.34.34\",\r\n            \"noticeText\": \"User Notice\"\r\n          }\r\n        ],\r\n        \"cpsURL\": \"http://www.example.com/repository/cps/test.pdf\",\r\n        \"cpsPolicyOID\": \"2.16.356.100.1.8.2\",\r\n        \"sortOrder\": \"3\"\r\n      },\r\n      \"crlDistribution\": {\r\n        \"isEnabled\": \"0\",\r\n        \"isCritical\": \"0\",\r\n        \"crlURL\": \"http://www.example.com/repository/crls/test.crl\",\r\n        \"sortOrder\": \"4\"\r\n      },\r\n      \"keyUsageAttributes\": {\r\n        \"isCritical\": \"0\",\r\n        \"sortOrder\": \"5\"\r\n      },\r\n      \"extendedKeyUsageAttributes\": {\r\n        \"isCritical\": \"0\",\r\n        \"sortOrder\": \"6\"\r\n      },\r\n      \"subjectKeyIdentifier\": {\r\n        \"isCritical\": \"0\",\r\n        \"sortOrder\": \"7\"\r\n      },\r\n      \"authorityKeyIdentifier\": {\r\n        \"isCritical\": \"0\",\r\n        \"sortOrder\": \"8\"\r\n      },\r\n      \"sanDetails\": {\r\n        \"isEnabled\": \"0\",\r\n        \"isCritical\": \"0\",\r\n        \"sortOrder\": \"1\",\r\n        \"attributes\": [\r\n          {\r\n            \"type\": \"rfc822Name\",\r\n            \"value\": \"test@test.com\",\r\n            \"isMandatory\": \"0\"\r\n          }\r\n        ]\r\n      },\r\n      \"ocspNoRevocationChecking\": {\r\n        \"isOcspNoRevocationCheckingCritical\": \"0\",\r\n        \"sortOrder\": \"9\"\r\n      },\r\n      \"customExtensions\": [\r\n        {\r\n          \"type\": \"1.3.6.1.4.1.41577.5.9\",\r\n          \"value\": \"string\",\r\n          \"isCritical\": \"0\",\r\n          \"isMandatory\": \"0\",\r\n          \"dataType\": \"PrintableString\",\r\n          \"sortOrder\": \"1\"\r\n        }\r\n      ]\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/ocsp","description":"<p>The <strong>\"createOcspCertificate\"</strong> API creates an OCSP responder certificate within the emCA platform. The OCSP responder certificate is used to sign OCSP responses for certificate status queries.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>caId</td>\n<td>String</td>\n<td>Yes</td>\n<td>The ID of the CA for which the OCSP certificate is being created.  <br />  <br />ex:- \"7\"</td>\n</tr>\n<tr>\n<td>certificateProfileId</td>\n<td>String</td>\n<td>Yes</td>\n<td>The certificate profile ID to use for the OCSP certificate.  <br />  <br />ex:- \"20\"</td>\n</tr>\n<tr>\n<td>validityCriteria</td>\n<td>String</td>\n<td>Yes</td>\n<td>Validity unit: <strong>d</strong> (days), <strong>m</strong> (months), <strong>y</strong> (years).  <br />  <br />ex:- \"y\"</td>\n</tr>\n<tr>\n<td>validityValue</td>\n<td>String</td>\n<td>Yes</td>\n<td>Validity duration value.  <br />  <br />ex:- \"5\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["ocsp"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"053dbc4d-af86-4aef-8fd4-957fcc6ff83f","name":"200 OK – OCSP certificate created","originalRequest":{"method":"POST","header":[{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"certificateRequestDetails\": {\r\n    \"issuerCA\": \"3\",\r\n    \"validityCriteria\": \"y\",\r\n    \"validityValue\": \"5\",\r\n    \"keyAlgorithm\": \"RSA2048\",\r\n    \"signingAlgorithm\": \"SHA256WithRSA\",\r\n    \"keyProfile\": \"PKCS11_PROFILE\",\r\n    \"autoRenewal\": false,\r\n    \"renewalPeriod\": \"30\",\r\n    \"ocspSubjectAttributes\": [\r\n      {\r\n        \"oid\": \"2.5.4.3\",\r\n        \"value\": \"Managemet OCSP\",\r\n        \"dataType\": \"PrintableString\"\r\n      }\r\n    ],\r\n    \"ocspExtensions\": {\r\n      \"basicConstraints\": {\r\n        \"isCritical\": \"0\",\r\n        \"sortOrder\": \"2\"\r\n      },\r\n      \"authInfoAccess\": {\r\n        \"isEnabled\": \"0\",\r\n        \"isCritical\": \"0\",\r\n        \"ocspURL\": \"http://example.com/ocsp\",\r\n        \"sortOrder\": \"1\",\r\n        \"caIssuerURL\": \"http://example.com/ca/testca.cer\"\r\n      },\r\n      \"certificatePolicy\": {\r\n        \"isEnabled\": \"0\",\r\n        \"isCritical\": \"0\",\r\n        \"policyOID\": [\r\n          {\r\n            \"oid\": \"1.3.24.33.34.34\",\r\n            \"noticeText\": \"User Notice\"\r\n          }\r\n        ],\r\n        \"cpsURL\": \"http://www.example.com/repository/cps/test.pdf\",\r\n        \"cpsPolicyOID\": \"2.16.356.100.1.8.2\",\r\n        \"sortOrder\": \"3\"\r\n      },\r\n      \"crlDistribution\": {\r\n        \"isEnabled\": \"0\",\r\n        \"isCritical\": \"0\",\r\n        \"crlURL\": \"http://www.example.com/repository/crls/test.crl\",\r\n        \"sortOrder\": \"4\"\r\n      },\r\n      \"keyUsageAttributes\": {\r\n        \"isCritical\": \"0\",\r\n        \"sortOrder\": \"5\"\r\n      },\r\n      \"extendedKeyUsageAttributes\": {\r\n        \"isCritical\": \"0\",\r\n        \"sortOrder\": \"6\"\r\n      },\r\n      \"subjectKeyIdentifier\": {\r\n        \"isCritical\": \"0\",\r\n        \"sortOrder\": \"7\"\r\n      },\r\n      \"authorityKeyIdentifier\": {\r\n        \"isCritical\": \"0\",\r\n        \"sortOrder\": \"8\"\r\n      },\r\n      \"sanDetails\": {\r\n        \"isEnabled\": \"0\",\r\n        \"isCritical\": \"0\",\r\n        \"sortOrder\": \"1\",\r\n        \"attributes\": [\r\n          {\r\n            \"type\": \"rfc822Name\",\r\n            \"value\": \"test@test.com\",\r\n            \"isMandatory\": \"0\"\r\n          }\r\n        ]\r\n      },\r\n      \"ocspNoRevocationChecking\": {\r\n        \"isOcspNoRevocationCheckingCritical\": \"0\",\r\n        \"sortOrder\": \"9\"\r\n      },\r\n      \"customExtensions\": [\r\n        {\r\n          \"type\": \"1.3.6.1.4.1.41577.5.9\",\r\n          \"value\": \"string\",\r\n          \"isCritical\": \"0\",\r\n          \"isMandatory\": \"0\",\r\n          \"dataType\": \"PrintableString\",\r\n          \"sortOrder\": \"1\"\r\n        }\r\n      ]\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/ocsp","description":"The **\"createOcspCertificate\"** API creates an OCSP responder certificate within the emCA platform. The OCSP responder certificate is used to sign OCSP responses for certificate status queries.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| caId | String | Yes | The ID of the CA for which the OCSP certificate is being created.  <br>  <br>ex:- \"7\" |\n| certificateProfileId | String | Yes | The certificate profile ID to use for the OCSP certificate.  <br>  <br>ex:- \"20\" |\n| validityCriteria | String | Yes | Validity unit: **d** (days), **m** (months), **y** (years).  <br>  <br>ex:- \"y\" |\n| validityValue | String | Yes | Validity duration value.  <br>  <br>ex:- \"5\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"SUCCESS\",\n    \"errorCode\": null,\n    \"errorMessage\": null\n  },\n  \"certificateDetails\": {\n    \"caId\": \"10\",\n    \"commonName\": \"OCSP Responder - Example Issuing CA 01\",\n    \"serialNumber\": \"ocsp1234567890abcdef\",\n    \"validFrom\": \"2026-04-17T00:00:00\",\n    \"expiryDate\": \"2031-04-17T00:00:00\",\n    \"certificateData\": \"MIID6TCCAtGgAwIBAgIUocspbase64==\",\n    \"caType\": \"ocsp\"\n  }\n}"},{"id":"5b1c13bf-3927-4086-b67f-71100ffda7a3","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"certificateRequestDetails\": {\r\n    \"issuerCA\": \"3\",\r\n    \"validityCriteria\": \"y\",\r\n    \"validityValue\": \"5\",\r\n    \"keyAlgorithm\": \"RSA2048\",\r\n    \"signingAlgorithm\": \"SHA256WithRSA\",\r\n    \"keyProfile\": \"PKCS11_PROFILE\",\r\n    \"autoRenewal\": false,\r\n    \"renewalPeriod\": \"30\",\r\n    \"ocspSubjectAttributes\": [\r\n      {\r\n        \"oid\": \"2.5.4.3\",\r\n        \"value\": \"Managemet OCSP\",\r\n        \"dataType\": \"PrintableString\"\r\n      }\r\n    ],\r\n    \"ocspExtensions\": {\r\n      \"basicConstraints\": {\r\n        \"isCritical\": \"0\",\r\n        \"sortOrder\": \"2\"\r\n      },\r\n      \"authInfoAccess\": {\r\n        \"isEnabled\": \"0\",\r\n        \"isCritical\": \"0\",\r\n        \"ocspURL\": \"http://example.com/ocsp\",\r\n        \"sortOrder\": \"1\",\r\n        \"caIssuerURL\": \"http://example.com/ca/testca.cer\"\r\n      },\r\n      \"certificatePolicy\": {\r\n        \"isEnabled\": \"0\",\r\n        \"isCritical\": \"0\",\r\n        \"policyOID\": [\r\n          {\r\n            \"oid\": \"1.3.24.33.34.34\",\r\n            \"noticeText\": \"User Notice\"\r\n          }\r\n        ],\r\n        \"cpsURL\": \"http://www.example.com/repository/cps/test.pdf\",\r\n        \"cpsPolicyOID\": \"2.16.356.100.1.8.2\",\r\n        \"sortOrder\": \"3\"\r\n      },\r\n      \"crlDistribution\": {\r\n        \"isEnabled\": \"0\",\r\n        \"isCritical\": \"0\",\r\n        \"crlURL\": \"http://www.example.com/repository/crls/test.crl\",\r\n        \"sortOrder\": \"4\"\r\n      },\r\n      \"keyUsageAttributes\": {\r\n        \"isCritical\": \"0\",\r\n        \"sortOrder\": \"5\"\r\n      },\r\n      \"extendedKeyUsageAttributes\": {\r\n        \"isCritical\": \"0\",\r\n        \"sortOrder\": \"6\"\r\n      },\r\n      \"subjectKeyIdentifier\": {\r\n        \"isCritical\": \"0\",\r\n        \"sortOrder\": \"7\"\r\n      },\r\n      \"authorityKeyIdentifier\": {\r\n        \"isCritical\": \"0\",\r\n        \"sortOrder\": \"8\"\r\n      },\r\n      \"sanDetails\": {\r\n        \"isEnabled\": \"0\",\r\n        \"isCritical\": \"0\",\r\n        \"sortOrder\": \"1\",\r\n        \"attributes\": [\r\n          {\r\n            \"type\": \"rfc822Name\",\r\n            \"value\": \"test@test.com\",\r\n            \"isMandatory\": \"0\"\r\n          }\r\n        ]\r\n      },\r\n      \"ocspNoRevocationChecking\": {\r\n        \"isOcspNoRevocationCheckingCritical\": \"0\",\r\n        \"sortOrder\": \"9\"\r\n      },\r\n      \"customExtensions\": [\r\n        {\r\n          \"type\": \"1.3.6.1.4.1.41577.5.9\",\r\n          \"value\": \"string\",\r\n          \"isCritical\": \"0\",\r\n          \"isMandatory\": \"0\",\r\n          \"dataType\": \"PrintableString\",\r\n          \"sortOrder\": \"1\"\r\n        }\r\n      ]\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/ocsp","description":"The **\"createOcspCertificate\"** API creates an OCSP responder certificate within the emCA platform. The OCSP responder certificate is used to sign OCSP responses for certificate status queries.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| caId | String | Yes | The ID of the CA for which the OCSP certificate is being created.  <br>  <br>ex:- \"7\" |\n| certificateProfileId | String | Yes | The certificate profile ID to use for the OCSP certificate.  <br>  <br>ex:- \"20\" |\n| validityCriteria | String | Yes | Validity unit: **d** (days), **m** (months), **y** (years).  <br>  <br>ex:- \"y\" |\n| validityValue | String | Yes | Validity duration value.  <br>  <br>ex:- \"5\" |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"FAILURE\",\n    \"errorCode\": \"EMCA-400\",\n    \"errorMessage\": \"Invalid request parameters\"\n  }\n}"}],"_postman_id":"5cc584cf-c6cb-48a5-929e-edcdcb82a6b0"},{"name":"revoke","id":"16b88f49-da4d-42af-825c-b551cd44c1cb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"revokeDetails\": {\r\n    \"serialNo\": \"b87103199550c58354fe6c6ff4fa52e3\",\r\n    \"reason\": 1,\r\n    \"remarks\": \"test\"\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/ocsp/revoke","description":"<p>The \"<strong>revoke</strong>\" API facilitates the revocation of a certificate based on its serial number. This functionality is crucial for invalidating certificates that are compromised or no longer trusted.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p>By specifying the serial number of the certificate, this API ensures immediate termination of its validity, thereby maintaining security and compliance with organizational policies regarding certificate management.</p>\n<p><strong>Request Body Parameters</strong></p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>serialNo</td>\n<td>String</td>\n<td>Yes</td>\n<td>Certificate serial number for which revoke is initiated.  <br />  <br />Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\"</td>\n</tr>\n<tr>\n<td>reason</td>\n<td>Integer</td>\n<td>Yes</td>\n<td>0 (Unspecified): Reason not specified or unknown.  <br />  <br />1 (Key Compromise): Private key associated with the certificate compromised or suspected compromised.  <br />  <br />2 (CA compromise): Certificate Authority (CA) certificate or private key compromised or suspected compromised.  <br />  <br />3 (Affiliation Changed): Certificate holder's affiliation or relationship with the organization changed.  <br />  <br />4 (Superseded): Certificate replaced by a new certificate.  <br />  <br />5 (Cessation of Operation): Organization or entity associated with the certificate ceased operation.  <br />  <br />9 (Privilege Withdrawn): Privileges associated with the certificate holder withdrawn.  <br />  <br />10 (AA Compromise): Certificate used for authentication or authorization compromised or suspected compromised.  <br />  <br />ex:- 4</td>\n</tr>\n<tr>\n<td>remarks</td>\n<td>String</td>\n<td>Yes</td>\n<td>The '<strong>Remarks</strong>' parameter in the 'revoke' API allows users to include additional comments to the certificate rekeying process.  <br />  <br />ex:-\"Certificate expired\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["ocsp","revoke"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"6a2ef15f-92f7-4321-95d7-547dff22248e","name":"200 OK – OCSP certificate revoked","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"revokeDetails\": {\r\n    \"serialNo\": \"b87103199550c58354fe6c6ff4fa52e3\",\r\n    \"reason\": 1,\r\n    \"remarks\": \"test\"\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/ocsp/revoke","description":"The \"**revoke**\" API facilitates the revocation of a certificate based on its serial number. This functionality is crucial for invalidating certificates that are compromised or no longer trusted.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\nBy specifying the serial number of the certificate, this API ensures immediate termination of its validity, thereby maintaining security and compliance with organizational policies regarding certificate management.\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| serialNo | String | Yes | Certificate serial number for which revoke is initiated.  <br>  <br>Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\" |\n| reason | Integer | Yes | 0 (Unspecified): Reason not specified or unknown.  <br>  <br>1 (Key Compromise): Private key associated with the certificate compromised or suspected compromised.  <br>  <br>2 (CA compromise): Certificate Authority (CA) certificate or private key compromised or suspected compromised.  <br>  <br>3 (Affiliation Changed): Certificate holder's affiliation or relationship with the organization changed.  <br>  <br>4 (Superseded): Certificate replaced by a new certificate.  <br>  <br>5 (Cessation of Operation): Organization or entity associated with the certificate ceased operation.  <br>  <br>9 (Privilege Withdrawn): Privileges associated with the certificate holder withdrawn.  <br>  <br>10 (AA Compromise): Certificate used for authentication or authorization compromised or suspected compromised.  <br>  <br>ex:- 4 |\n| remarks | String | Yes | The '**Remarks**' parameter in the 'revoke' API allows users to include additional comments to the certificate rekeying process.  <br>  <br>ex:-\"Certificate expired\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"SUCCESS\",\n    \"errorCode\": null,\n    \"errorMessage\": null\n  },\n  \"response\": \"OCSP certificate revoked successfully\"\n}"},{"id":"3b2d49d1-fe49-4bd7-ba30-44e8a298a6bf","name":"404 Not Found","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"revokeDetails\": {\r\n    \"serialNo\": \"b87103199550c58354fe6c6ff4fa52e3\",\r\n    \"reason\": 1,\r\n    \"remarks\": \"test\"\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/ocsp/revoke","description":"The \"**revoke**\" API facilitates the revocation of a certificate based on its serial number. This functionality is crucial for invalidating certificates that are compromised or no longer trusted.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\nBy specifying the serial number of the certificate, this API ensures immediate termination of its validity, thereby maintaining security and compliance with organizational policies regarding certificate management.\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| serialNo | String | Yes | Certificate serial number for which revoke is initiated.  <br>  <br>Ex :- \"b4cb23a4b97g5d0c12f2641c1fc49d9ba7\" |\n| reason | Integer | Yes | 0 (Unspecified): Reason not specified or unknown.  <br>  <br>1 (Key Compromise): Private key associated with the certificate compromised or suspected compromised.  <br>  <br>2 (CA compromise): Certificate Authority (CA) certificate or private key compromised or suspected compromised.  <br>  <br>3 (Affiliation Changed): Certificate holder's affiliation or relationship with the organization changed.  <br>  <br>4 (Superseded): Certificate replaced by a new certificate.  <br>  <br>5 (Cessation of Operation): Organization or entity associated with the certificate ceased operation.  <br>  <br>9 (Privilege Withdrawn): Privileges associated with the certificate holder withdrawn.  <br>  <br>10 (AA Compromise): Certificate used for authentication or authorization compromised or suspected compromised.  <br>  <br>ex:- 4 |\n| remarks | String | Yes | The '**Remarks**' parameter in the 'revoke' API allows users to include additional comments to the certificate rekeying process.  <br>  <br>ex:-\"Certificate expired\" |"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"FAILURE\",\n    \"errorCode\": \"EMCA-400\",\n    \"errorMessage\": \"Invalid request parameters\"\n  }\n}"}],"_postman_id":"16b88f49-da4d-42af-825c-b551cd44c1cb"},{"name":"mapOcspCertificate","id":"7f9d6872-91eb-40ff-9f87-37787a3ab0bc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"caId\": \"123\",\n  \"ocspCertId\": \"456\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/ocsp/map","description":"<p>The <strong>\"mapOcspCertificate\"</strong> API associates an OCSP responder certificate with a specific CA. Once mapped, the OCSP responder certificate is used to sign OCSP responses for certificates issued by that CA.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>caId</td>\n<td>String</td>\n<td>Yes</td>\n<td>The ID of the CA to associate with the OCSP certificate.  <br />  <br />ex:- \"123\"</td>\n</tr>\n<tr>\n<td>ocspCertId</td>\n<td>String</td>\n<td>Yes</td>\n<td>The ID of the OCSP certificate to map to the CA.  <br />  <br />ex:- \"456\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["ocsp","map"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"509233f1-d156-4ba4-a212-21dc4a0c5c12","name":"200 OK – OCSP mapped to CA","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"caId\": \"123\",\n  \"ocspCertId\": \"456\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/ocsp/map","description":"The **\"mapOcspCertificate\"** API associates an OCSP responder certificate with a specific CA. Once mapped, the OCSP responder certificate is used to sign OCSP responses for certificates issued by that CA.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| caId | String | Yes | The ID of the CA to associate with the OCSP certificate.  <br>  <br>ex:- \"123\" |\n| ocspCertId | String | Yes | The ID of the OCSP certificate to map to the CA.  <br>  <br>ex:- \"456\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"SUCCESS\",\n    \"errorCode\": null,\n    \"errorMessage\": null\n  },\n  \"mapped\": true,\n  \"caId\": \"123\",\n  \"ocspCertId\": \"456\"\n}"},{"id":"d2e6477d-64cb-4cf6-b1bf-b554623fd9e3","name":"400 Bad Request – Invalid IDs","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"caId\": \"123\",\n  \"ocspCertId\": \"456\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/ocsp/map","description":"The **\"mapOcspCertificate\"** API associates an OCSP responder certificate with a specific CA. Once mapped, the OCSP responder certificate is used to sign OCSP responses for certificates issued by that CA.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| caId | String | Yes | The ID of the CA to associate with the OCSP certificate.  <br>  <br>ex:- \"123\" |\n| ocspCertId | String | Yes | The ID of the OCSP certificate to map to the CA.  <br>  <br>ex:- \"456\" |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"FAILURE\",\n    \"errorCode\": \"EMCA-400\",\n    \"errorMessage\": \"Invalid request parameters\"\n  }\n}"}],"_postman_id":"7f9d6872-91eb-40ff-9f87-37787a3ab0bc"},{"name":"cacheOcspResponse","id":"4cb7cf28-e724-435e-8e2d-33478697b118","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"enableCache\": \"true\",\n  \"cacheFrequency\": \"456\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/ocspResponse/cache","description":"<p>The <strong>\"cacheOcspResponse\"</strong> API enables or disables OCSP response caching and configures the cache refresh frequency. Caching improves OCSP responder performance by serving pre-signed responses without querying the database on every request.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>enableCache</td>\n<td>String</td>\n<td>Yes</td>\n<td>Enable or disable OCSP response caching. <strong>true</strong> to enable, <strong>false</strong> to disable.  <br />  <br />ex:- \"true\"</td>\n</tr>\n<tr>\n<td>cacheFrequency</td>\n<td>String</td>\n<td>Yes</td>\n<td>Cache refresh interval in seconds.  <br />  <br />ex:- \"456\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["ocspResponse","cache"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"96f076a3-f793-4453-8eb6-3f8ae9d2886e","name":"200 OK – Cache configured","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"enableCache\": \"true\",\n  \"cacheFrequency\": \"456\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/ocspResponse/cache","description":"The **\"cacheOcspResponse\"** API enables or disables OCSP response caching and configures the cache refresh frequency. Caching improves OCSP responder performance by serving pre-signed responses without querying the database on every request.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| enableCache | String | Yes | Enable or disable OCSP response caching. **true** to enable, **false** to disable.  <br>  <br>ex:- \"true\" |\n| cacheFrequency | String | Yes | Cache refresh interval in seconds.  <br>  <br>ex:- \"456\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"SUCCESS\",\n    \"errorCode\": null,\n    \"errorMessage\": null\n  },\n  \"message\": \"OCSP response caching enabled with frequency 456 seconds\"\n}"},{"id":"532d893b-cd63-403f-8817-8c5fbab0ebfe","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"enableCache\": \"true\",\n  \"cacheFrequency\": \"456\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/ocspResponse/cache","description":"The **\"cacheOcspResponse\"** API enables or disables OCSP response caching and configures the cache refresh frequency. Caching improves OCSP responder performance by serving pre-signed responses without querying the database on every request.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\n**Request Body Parameters**\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| enableCache | String | Yes | Enable or disable OCSP response caching. **true** to enable, **false** to disable.  <br>  <br>ex:- \"true\" |\n| cacheFrequency | String | Yes | Cache refresh interval in seconds.  <br>  <br>ex:- \"456\" |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"result\": {\n    \"status\": \"FAILURE\",\n    \"errorCode\": \"EMCA-400\",\n    \"errorMessage\": \"Invalid request parameters\"\n  }\n}"}],"_postman_id":"4cb7cf28-e724-435e-8e2d-33478697b118"}],"id":"336dee9c-1347-4c51-9dc1-4a2df522db04","description":"<p>The <strong>OCSP Management APIs</strong> provide a programmatic interface for managing the Online Certificate Status Protocol (OCSP) infrastructure within the emCA platform. These APIs allow administrators to create OCSP responder certificates, map OCSP certificates to CAs, revoke OCSP certificates, and configure OCSP response caching.</p>\n<p>All endpoints require <code>X-Nonce</code>, <code>X-Client-ID</code>, and <code>X-Emca-Api-Key</code> headers.</p>\n","_postman_id":"336dee9c-1347-4c51-9dc1-4a2df522db04"},{"name":"Backup Management","item":[{"name":"manualBackup","id":"f85c92ae-88d9-46b3-a7a8-d4bd868c5bf2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"backupProperties\": true,\r\n  \"backupDatabase\": true,\r\n  \"filePath\": \"/backup/emca\",\r\n  \"async\": false\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/backup/manual","description":"<p>The <strong>\"manualBackup\"</strong> API allows <strong>Administrator</strong> or authorized <strong>external application users</strong> to initiate a <strong>manual backup</strong> of the application's <strong>configuration files</strong> and <strong>database</strong>.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p>This API is essential for creating point-in-time backups to ensure <strong>recovery</strong>, <strong>auditability</strong>, and <strong>continuity</strong> in case of failure or data loss.</p>\n<p>By triggering this API, users can <strong>programmatically initiate</strong> a backup process without relying on scheduled tasks, enabling integration with external backup management systems.</p>\n<p><strong>Request Body Parameters</strong></p>\n<p><strong>Note</strong>: Users must provide atlease one perameters of <strong>backupProperties</strong> or <strong>backupDatabase</strong>; both parameters also be included in the same request</p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>backupProperties</td>\n<td>Boolean</td>\n<td>No</td>\n<td>Its Conditional, Indicates whether configuration files should be backed up  <br />  <br />ex:- true</td>\n</tr>\n<tr>\n<td>backupDatabase</td>\n<td>Boolean</td>\n<td>No</td>\n<td>Indicates whether the database should be backed up..  <br />  <br />ex:- false</td>\n</tr>\n<tr>\n<td>filePath</td>\n<td>String</td>\n<td>Yes</td>\n<td>Absolute path where the backup files should be stored.  <br />  <br />ex:-  <br />\"/backup/emca\"</td>\n</tr>\n<tr>\n<td>async</td>\n<td>Boolean</td>\n<td>No</td>\n<td>If set to true, the backup will be performed asynchronously in background.  <br />  <br />e: false</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["backup","manual"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"3677851d-0186-472c-950c-c51ce10a6dea","name":"200 OK – Backup initiated","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"backupProperties\": true,\r\n  \"backupDatabase\": true,\r\n  \"filePath\": \"/backup/emca\",\r\n  \"async\": false\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/backup/manual","description":"The **\"manualBackup\"** API allows **Administrator** or authorized **external application users** to initiate a **manual backup** of the application's **configuration files** and **database**.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\nThis API is essential for creating point-in-time backups to ensure **recovery**, **auditability**, and **continuity** in case of failure or data loss.\n\nBy triggering this API, users can **programmatically initiate** a backup process without relying on scheduled tasks, enabling integration with external backup management systems.\n\n**Request Body Parameters**\n\n**Note**: Users must provide atlease one perameters of **backupProperties** or **backupDatabase**; both parameters also be included in the same request\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| backupProperties | Boolean | No | Its Conditional, Indicates whether configuration files should be backed up  <br>  <br>ex:- true |\n| backupDatabase | Boolean | No | Indicates whether the database should be backed up..  <br>  <br>ex:- false |\n| filePath | String | Yes | Absolute path where the backup files should be stored.  <br>  <br>ex:-  <br>\"/backup/emca\" |\n| async | Boolean | No | If set to true, the backup will be performed asynchronously in background.  <br>  <br>e: false |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"result\": \"Backup initiated successfully\",\n  \"requestId\": \"backup-req-20260417-001\",\n  \"subscriberId\": null\n}"},{"id":"c3dbc11a-884f-4848-8be7-f65343085a3c","name":"400 Bad Request – No path specified","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"backupProperties\": true,\r\n  \"backupDatabase\": true,\r\n  \"filePath\": \"/backup/emca\",\r\n  \"async\": false\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/backup/manual","description":"The **\"manualBackup\"** API allows **Administrator** or authorized **external application users** to initiate a **manual backup** of the application's **configuration files** and **database**.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\nThis API is essential for creating point-in-time backups to ensure **recovery**, **auditability**, and **continuity** in case of failure or data loss.\n\nBy triggering this API, users can **programmatically initiate** a backup process without relying on scheduled tasks, enabling integration with external backup management systems.\n\n**Request Body Parameters**\n\n**Note**: Users must provide atlease one perameters of **backupProperties** or **backupDatabase**; both parameters also be included in the same request\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| backupProperties | Boolean | No | Its Conditional, Indicates whether configuration files should be backed up  <br>  <br>ex:- true |\n| backupDatabase | Boolean | No | Indicates whether the database should be backed up..  <br>  <br>ex:- false |\n| filePath | String | Yes | Absolute path where the backup files should be stored.  <br>  <br>ex:-  <br>\"/backup/emca\" |\n| async | Boolean | No | If set to true, the backup will be performed asynchronously in background.  <br>  <br>e: false |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"FAILURE\",\n  \"result\": \"filePath is required\",\n  \"requestId\": null,\n  \"subscriberId\": null\n}"}],"_postman_id":"f85c92ae-88d9-46b3-a7a8-d4bd868c5bf2"},{"name":"manualBackupStatus","id":"dd36cfcd-37fb-4dcc-b0fc-84754f0d7d97","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"url":"{{baseUrl}}/backup/manual/status/<transactionId>","description":"<p>The \"<strong>manualBackupStatus</strong>\" API is used to <strong>track the status</strong> of a <strong>manual backup operation</strong> that was initiated with <strong><code>\"async\": true</code></strong>.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p>When a manual backup is triggered asynchronously, the system immediately returns a unique <strong><code>transactionId</code></strong>. This API allows users or external systems to <strong>query the current state</strong> of that backup operation by passing the <code>transactionId</code> in the URL.</p>\n<p>This is essential for monitoring long-running backup processes and ensuring timely notifications or follow-up actions based on the outcome.</p>\n<p><strong>Possible Status Values:</strong></p>\n<ul>\n<li><p><code>IN_PROGRESS</code> – The backup is still running.</p>\n</li>\n<li><p><code>COMPLETED</code> – The backup finished successfully.</p>\n</li>\n<li><p><code>FAILED</code> – The backup process encountered an error.</p>\n</li>\n</ul>\n<p><strong>Path Parameter:</strong> <code>transactionId</code> — the unique ID returned when a manual backup is triggered with <code>\"async\": true</code></p>\n<p><strong>Request Body Parameters</strong></p>\n<p><strong>Note</strong>: Users must provide either the serial number or the request ID; both parameters cannot be included in the same request</p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>transactionId</td>\n<td>String</td>\n<td>No</td>\n<td>Unique ID returned when the manual backup was initiated asynchronously. This ID is used to fetch the current status of that specific backup job.r  <br />  <br />Ex :- \"a3f29d4c-5e2b-4d16-bfd5-8a7d2ecf49f1\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["backup","manual","status","<transactionId>"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"23352655-d539-4482-ab50-ce77c894b51a","name":"200 OK – Status returned","originalRequest":{"method":"GET","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"url":"{{baseUrl}}/backup/manual/status/<transactionId>","description":"The \"**manualBackupStatus**\" API is used to **track the status** of a **manual backup operation** that was initiated with **`\"async\": true`**.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\nWhen a manual backup is triggered asynchronously, the system immediately returns a unique **`transactionId`**. This API allows users or external systems to **query the current state** of that backup operation by passing the `transactionId` in the URL.\n\nThis is essential for monitoring long-running backup processes and ensuring timely notifications or follow-up actions based on the outcome.\n\n**Possible Status Values:**\n\n- `IN_PROGRESS` – The backup is still running.\n    \n- `COMPLETED` – The backup finished successfully.\n    \n- `FAILED` – The backup process encountered an error.\n    \n\n**Path Parameter:** `transactionId` — the unique ID returned when a manual backup is triggered with `\"async\": true`\n\n**Request Body Parameters**\n\n**Note**: Users must provide either the serial number or the request ID; both parameters cannot be included in the same request\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| transactionId | String | No | Unique ID returned when the manual backup was initiated asynchronously. This ID is used to fetch the current status of that specific backup job.r  <br>  <br>Ex :- \"a3f29d4c-5e2b-4d16-bfd5-8a7d2ecf49f1\" |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"COMPLETED\",\n  \"result\": \"Backup completed successfully\",\n  \"requestId\": \"backup-req-20260417-001\",\n  \"subscriberId\": null\n}"}],"_postman_id":"dd36cfcd-37fb-4dcc-b0fc-84754f0d7d97"},{"name":"AutomcaticBackup","id":"2658a70e-e84a-49e1-b6e4-3f578862c371","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"backupProperties\": true,\r\n  \"backupDatabase\": true,\r\n  \"filePath\": \"/backup/emca\",\r\n  \"frequency\": \"Daily\",\r\n  \"scheduledTime\": \"02:00\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/backup/schedule","description":"<p>The <strong>\"automaticBackup\"</strong> feature allows the application to <strong>schedule automated backups</strong> of configuration files and database at predefined <strong>time intervals</strong>.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p>This functionality ensures that critical data and configuration are <strong>backed up regularly</strong> without manual intervention, supporting <strong>disaster recovery</strong>, <strong>compliance</strong>, and <strong>operational continuity</strong>.</p>\n<p>Administrators can configure backup frequency, location, and retention policies to align with organizational requirements.</p>\n<p>Once configured, the system will automatically perform backups as per the defined <strong>schedule</strong>, reducing the risk of data loss due to unexpected failures.</p>\n<p><strong>Request Body Parameters</strong></p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>backupProperties</td>\n<td>Boolean</td>\n<td>No</td>\n<td>Indicates whether configuration files should be included in the backup.</td>\n</tr>\n<tr>\n<td>backupDatabase</td>\n<td>Boolean</td>\n<td>No</td>\n<td>Indicates whether the database should be included in the backup.</td>\n</tr>\n<tr>\n<td>filePath</td>\n<td>String</td>\n<td>Yes</td>\n<td>Absolute path where the backup files will be stored.</td>\n</tr>\n<tr>\n<td>frequency</td>\n<td>String</td>\n<td>Yes</td>\n<td>How often the backup should occur. Supported values: <strong>Daily</strong>, <strong>Weekly</strong>, <strong>Monthly</strong>.</td>\n</tr>\n<tr>\n<td>scheduledTime</td>\n<td>String</td>\n<td>Yes</td>\n<td>Time at which the backup should start (24-hour format, e.g., 02:00).</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["backup","schedule"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"b2ac0db6-ecf9-4936-92ea-64ad857e981e","name":"200 OK – Schedule configured","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"backupProperties\": true,\r\n  \"backupDatabase\": true,\r\n  \"filePath\": \"/backup/emca\",\r\n  \"frequency\": \"Daily\",\r\n  \"scheduledTime\": \"02:00\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/backup/schedule","description":"The **\"automaticBackup\"** feature allows the application to **schedule automated backups** of configuration files and database at predefined **time intervals**.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\nThis functionality ensures that critical data and configuration are **backed up regularly** without manual intervention, supporting **disaster recovery**, **compliance**, and **operational continuity**.\n\nAdministrators can configure backup frequency, location, and retention policies to align with organizational requirements.\n\nOnce configured, the system will automatically perform backups as per the defined **schedule**, reducing the risk of data loss due to unexpected failures.\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| backupProperties | Boolean | No | Indicates whether configuration files should be included in the backup. |\n| backupDatabase | Boolean | No | Indicates whether the database should be included in the backup. |\n| filePath | String | Yes | Absolute path where the backup files will be stored. |\n| frequency | String | Yes | How often the backup should occur. Supported values: **Daily**, **Weekly**, **Monthly**. |\n| scheduledTime | String | Yes | Time at which the backup should start (24-hour format, e.g., 02:00). |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"SUCCESS\",\n  \"result\": \"Automatic backup schedule configured successfully\",\n  \"requestId\": null,\n  \"subscriberId\": null\n}"},{"id":"0d94c031-6203-4831-b5cc-9670d3705cb3","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"backupProperties\": true,\r\n  \"backupDatabase\": true,\r\n  \"filePath\": \"/backup/emca\",\r\n  \"frequency\": \"Daily\",\r\n  \"scheduledTime\": \"02:00\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/backup/schedule","description":"The **\"automaticBackup\"** feature allows the application to **schedule automated backups** of configuration files and database at predefined **time intervals**.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\nThis functionality ensures that critical data and configuration are **backed up regularly** without manual intervention, supporting **disaster recovery**, **compliance**, and **operational continuity**.\n\nAdministrators can configure backup frequency, location, and retention policies to align with organizational requirements.\n\nOnce configured, the system will automatically perform backups as per the defined **schedule**, reducing the risk of data loss due to unexpected failures.\n\n**Request Body Parameters**\n\nRequest Parameters\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| backupProperties | Boolean | No | Indicates whether configuration files should be included in the backup. |\n| backupDatabase | Boolean | No | Indicates whether the database should be included in the backup. |\n| filePath | String | Yes | Absolute path where the backup files will be stored. |\n| frequency | String | Yes | How often the backup should occur. Supported values: **Daily**, **Weekly**, **Monthly**. |\n| scheduledTime | String | Yes | Time at which the backup should start (24-hour format, e.g., 02:00). |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"FAILURE\",\n  \"result\": \"Invalid frequency value. Supported values: Daily, Weekly, Monthly\",\n  \"requestId\": null,\n  \"subscriberId\": null\n}"}],"_postman_id":"2658a70e-e84a-49e1-b6e4-3f578862c371"},{"name":"AutomcaticbackupStatus","id":"1e3c0ddd-e97f-4d93-8440-d839556259b1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"url":"{{baseUrl}}/backup/schedule/status","description":"<p>The <strong>\"automaticBackupStatus\"</strong> API is used to <strong>check the current status</strong> and configuration of the scheduled automatic backup feature.</p>\n<p><strong>Required Header Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-Nonce</td>\n<td>String</td>\n<td>A unique one-time value to prevent replay attacks</td>\n</tr>\n<tr>\n<td>X-Client-ID</td>\n<td>String</td>\n<td>The client identifier for authentication</td>\n</tr>\n<tr>\n<td>X-Emca-Api-Key</td>\n<td>String</td>\n<td>The API key for authentication</td>\n</tr>\n</tbody>\n</table>\n</div><p>This API provides detailed insights into:</p>\n<ul>\n<li><p>Whether <strong>automatic backups</strong> are currently <strong>enabled</strong></p>\n</li>\n<li><p>The <strong>last backup execution time</strong></p>\n</li>\n<li><p>The <strong>next scheduled backup time</strong></p>\n</li>\n</ul>\n<p>This functionality ensures administrators can <strong>monitor scheduled backup health</strong>, verify <strong>execution history</strong>, and ensure backups are aligned with disaster recovery and compliance strategies.</p>\n<p>By querying this API, users gain visibility into backup automation and can take necessary actions if backups are missed or delayed.</p>\n","urlObject":{"path":["backup","schedule","status"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"1410ecc2-5b5d-41ad-8d23-12f84e83328e","name":"200 OK – Schedule status","originalRequest":{"method":"GET","header":[{"key":"X-Nonce","value":"{{x_nonce}}","type":"text"},{"key":"X-Client-ID","value":"{{x_client_id}}","type":"text"},{"key":"X-Emca-Api-Key","value":"{{x_emca_api_key}}","type":"text"}],"url":"{{baseUrl}}/backup/schedule/status","description":"The **\"automaticBackupStatus\"** API is used to **check the current status** and configuration of the scheduled automatic backup feature.\n\n**Required Header Parameters**\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| X-Nonce | String | A unique one-time value to prevent replay attacks |\n| X-Client-ID | String | The client identifier for authentication |\n| X-Emca-Api-Key | String | The API key for authentication |\n\nThis API provides detailed insights into:\n\n- Whether **automatic backups** are currently **enabled**\n    \n- The **last backup execution time**\n    \n- The **next scheduled backup time**\n    \n\nThis functionality ensures administrators can **monitor scheduled backup health**, verify **execution history**, and ensure backups are aligned with disaster recovery and compliance strategies.\n\nBy querying this API, users gain visibility into backup automation and can take necessary actions if backups are missed or delayed."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"COMPLETED\",\n  \"lastBackupTime\": \"2026-04-17T02:00:00\",\n  \"nextBackupTime\": \"2026-04-18T02:00:00\",\n  \"message\": \"Last backup completed successfully\"\n}"}],"_postman_id":"1e3c0ddd-e97f-4d93-8440-d839556259b1"}],"id":"664f4b03-367d-48ee-90fa-0cedee2ea7b3","description":"<p>The <strong>Backup Management APIs</strong> provide a secure and programmatic interface for managing the backup lifecycle of the application's critical components, including configuration files and databases. These APIs enable both automated and manual control over backup operations to support disaster recovery, compliance, and operational resilience.</p>\n<p>They are designed for use by administrators or authorized external applications, and can be easily integrated into enterprise backup workflows or third-party management systems.</p>\n<h3 id=\"key-capabilities-include\">Key Capabilities Include:</h3>\n<ul>\n<li><p><strong>Manual Backup Initiation</strong>: Trigger on-demand backups via the <code>manualBackup</code> API.</p>\n</li>\n<li><p><strong>Scheduled Backup Control</strong>: Configure and manage automatic backup schedules.</p>\n</li>\n<li><p><strong>Backup Status Monitoring</strong>: Retrieve logs or status of current and past backup operations.</p>\n</li>\n<li><p><strong>Retention &amp; Cleanup Management</strong>: Manage backup retention policies and clean up outdated backup files.</p>\n</li>\n</ul>\n<p>All backup operations are executed securely and recorded for audit and compliance purposes.</p>\n<h3 id=\"security--access-control\">Security &amp; Access Control:</h3>\n<p>Access to the Backup Management APIs is restricted to authorized users and systems via:</p>\n<ul>\n<li><p><strong>X-Client-ID</strong> for tenant scoping</p>\n</li>\n<li><p><strong>X-Emca-Api-Key</strong> for authentication</p>\n</li>\n<li><p><strong>X-Nonce</strong> to prevent replay attacks</p>\n</li>\n</ul>\n<p>By using these APIs, organizations can maintain reliable backup and restore capabilities with flexibility, transparency, and automation, ensuring continuity and protection of critical data.</p>\n<p>Note : This will only work if user have required preveledge for backup.</p>\n","_postman_id":"664f4b03-367d-48ee-90fa-0cedee2ea7b3"}],"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":["function generateUUID() {\r","    let d = new Date().getTime();\r","    if (typeof performance !== 'undefined' && typeof performance.now === 'function'){\r","        d += performance.now(); // use high-precision timer if available\r","    }\r","    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\r","        const r = (d + Math.random()*16)%16 | 0;\r","        d = Math.floor(d/16);\r","        return (c==='x' ? r : (r&0x3|0x8)).toString(16);\r","    });\r","}\r","\r","const nonce = `${Date.now()}-${generateUUID()}`;\r","\r","// Set it as a global or local variable\r","pm.variables.set(\"baseUrl\", \"https://appemca.emudhra.com:8443/441/emCAServices/rest/v5\");\r","pm.variables.set(\"x_nonce\", nonce);\r","pm.variables.set(\"x_client_id\", \"tade1c9c-a272-42e8-a2a8-0803db4d5ec5\");\r","pm.variables.set(\"x_emca_api_key\", \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJncnBJZCI6IjEiLCJDbGllbnRJZCI6InRhZGUxYzljLWEyNzItNDJlOC1hMmE4LTA4MDNkYjRkNWVjNSIsImlhdCI6MTc3NjA2ODMwNywiZXhwIjoxNzc2MTQwMzA3fQ.fARlqwSZCHk0D7lCsWB7NnZe6gX8-gipeNmoBLdoF-4\");"],"id":"d5fc6fb8-eb11-46af-a63e-27ec6c273b79"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"f0351b1d-5a67-4284-a899-e6da549bd1ff"}}]}