API-keys Integration Manual
Create API Keys
1. Log in to HARICA CertManager
Visit HARICA’s CertManager and sign up to create your account. Fill in all the necessary fields.
Your personal information must be accurate and fully matched (letter-by-letter) with a government-issued identification document.
2. Activate 2FA
Once you log in, from the top right corner, click on your name and select Profile. From the Account Settings menu, click Enable and follow the on-screen instructions to activate Two-Factor Authentication (2FA) as it is required for granting access to roles and API Keys.

3. Access Role
After the process is completed, please inform the Enterprise Manager or an already assigned Enterprise Admin of your Enterprise in order to provide you access as Enterprise Admin or Enterprise Approver.
4. Create API Keys
Once you have been assigned a role, select the Profile tab again. Now, you will be able to see the option to create an API key. Click Create to generate your API key.
Please note that each user can create a maximum of 3 API Keys.

Give your API Key a friendly name. Click Create.

Save the code for the API Key.
CAUTION! Please note that, this is the only time you'll be able to view your API Key code. Make sure to copy and save it securely before checking the boxes below.

Introduction
These APIs allow enterprise-grade operations (e.g., certificate bulk issuance, data retrieval, request management) via secure authentication using API Keys (with the HTTP header X-API-Key). All endpoints return data in JSON format.
Common Requirements
-
All requests require a valid API Key via HTTP Header X-API-Key.
-
Responses are always in JSON.
-
This integrations supports only Enterprise Admin and Enterprise Approvers (SSL, S/MIME, Client Auth).
-
There are two endpoint styles:
1. Form Data – for file uploads (e.g. CSV for Bulk Issuance)
2. Body Data – for actions via structured JSON requests
-
Only predefined actionName (and where required, type) values are supported. Invalid values result in an error.
1. Bulk Certificate Issuance API
Endpoint
-
POST /cm/v1/bulk/create/{actionName}
Usage
-
Used for uploading CSV files to issue certificates in bulk:
• clientauth
• smime
Example Request
POST/cm/v1/bulk/create/clientauth Headers: X-API-Key: {API_KEY} Content-Type: multipart/form-data
Form fields: Value: {OrganizationId} File: the CSV (file upload)
The response will be a zip file with certificates. In case of error a JSON with the action outcome (status, error messages, etc.).
2. Get Data for Enterprise Admin and Approver
Endpoint
-
GET /cm/v1/admin/{actionName}
-
GET /cm/v1/enterprise/{actionName}/{type}
Usage
Supported actions include
Enterprise Admin:
-
enterprises
-
users
-
certificates
For revocation with Enterprise Admin APIs, a type path parameter (single, bulk, acme) is required.
Enterprise Approvers:
-
certificates
-
requests
For certain actions, a type path parameter (ssl, clientauth, smime) is required.
Note that the most of these GET APIs has a search/filtering functionality on url.
Enterprise Admin Endpoints
User Search:
-
/cm/v1/admin/users/email/support@harica.gr- Search for a specific user in your Enterprise by email address.
Certificate Search:
-
/cm/v1/admin/certificates/serial/{serialNumber}- Search for a specific certificate by serial number.
Certificate Lists by Status:
-
/cm/v1/admin/certificates/list/valid- Retrieve all valid certificates.
-
/cm/v1/admin/certificates/list/revoked- Retrieve all revoked certificates.
-
/cm/v1/admin/certificates/list/expired- Retrieve all expired certificates.
Enterprise Approver Endpoints
Transaction Search:
-
/cm/v1/enterprise/requests/ssl/id/{transactionId}- Search for an SSL request by transaction ID.
Request Lists by Status:
-
/cm/v1/enterprise/requests/ssl/list/pending- Retrieve all pending SSL requests.
-
/cm/v1/enterprise/requests/ssl/list/completed- Retrieve all completed SSL requests.
-
/cm/v1/enterprise/requests/ssl/list/cancelled- Retrieve all cancelled SSL requests.
-
/cm/v1/enterprise/requests/ssl/list/ready- Retrieve all ready SSL requests.
Examples
Get Enterprises
GET /cm/v1/admin/enterprises Headers: X-API-Key: {API_KEY} Content-Type: application/json
Get SSL Requests
GET /cm/v1/enterprise/requests/ssl Headers: X-API-Key: {API_KEY} Content-Type: application/json
3. Post Data for Enterprise Admin and Approver
Endpoint
-
POST /cm/v1/admin/{actionName}/{type}
-
POST /cm/v1/enterprise/{actionName}/{type}
Usage
Supported actions include
Enterprise Approver:
-
revoke
For revocation with Enterprise Admin API, a type path parameter (single, bulk, acme) is required.
Enterprise Approver:
-
accept
-
cancel
-
revoke
For certain actions, a type path parameter (ssl, clientauth, smime) is required.
Examples
Cancel SSL request
POST /cm/v1/enterprise/cancel/ssl Headers: X-API-Key: {API_KEY} Content-Type: application/json
Body: { "TransactionId": "id1234", "Message": "Reason for cancel", "InformUser": true }
Revoke SSL Certificate
POST /cm/v1/enterprise/revoke/ssl Headers: X-API-Key: {API_KEY} Content-Type: application/json
Body: { "transactionId": "TransactionId", "message": "", "value": "4.9.1.1.1.1", //unspecified "informUser": true }
Accept SSL Certificate
POST /cm/v1/enterprise/accept/ssl Headers: X-API-Key: {API_KEY} Content-Type: application/json
Body: { "transactionId": "11591573-ad24-41ce-ad57-54c3f602e5e4", "message": "test" }
Core Validations
-
Only supported actions and types are accepted (otherwise HTTP 400/404).
-
Invalid or missing API Key rejects the request.
-
File upload actions require valid and complete fields.
Endpoint Summary Table
Action | Endpoint | Method | Description |
---|---|---|---|
Create Bulk Auth Certs | /cm/v1/bulk/create/clientauth | POST | Bulk issuance client authentication certs |
Create Bulk S/MIME Certs | /cm/v1/bulk/create/smime | POST | Bulk issuance S/MIME certs |
Get Enterprises | /cm/v1/admin/enterprises | GET | Retrieve Enterprises |
Get Enterprise Users (Enterprise Admin) | /cm/v1/admin/users | GET | Retrieve Enterprise Users |
Get Enterprise Certificates (Enterprise Admin) | /cm/v1/admin/certificates | GET | Retrieve Enterprise Certificates |
Revoke Certificate (Enterprise Admin) | /cm/v1/admin/revoke/{type} | POST | Revoke Certificate (single, bulk, ACME) |
Get Requests (SSL) | /cm/v1/enterprise/requests/ssl | GET | Retrieve SSL requests |
Accept Request (SSL) | /cm/v1/enterprise/accept/ssl | POST | Accept SSL request |
Cancel Request (SSL) | /cm/v1/enterprise/cancel/ssl | POST | Cancel SSL request |
Revoke Certificate (SSL) | /cm/v1/enterprise/revoke/ssl | POST | Revoke SSL certificate |
Additional variations exist for clientauth and smime types, following the same request/response patterns.