---
title: "Enrollment with client generated keys, using CSR subject."
method: POST
path: "/v1/certificate/pkcs10enroll"
tags: ["v1/certificate"]
---

# Enrollment with client generated keys, using CSR subject.

`POST /v1/certificate/pkcs10enroll`

Enroll for a certificate given a PEM encoded PKCS#10 CSR. 
Response Format is 'DER' (default when excluded) or 'PKCS7' in base64 encoded PEM format

## Request body

- EnrollCertificateRestRequest
  - `certificate_request` string — Certificate request
  - `certificate_profile_name` string — Certificate profile name
  - `end_entity_profile_name` string — End Entity profile name
  - `certificate_authority_name` string — Certificate Authority (CA) name
  - `username` string — Username
  - `password` string — Password
  - `account_binding_id` string — Account Binding ID
  - `include_chain` boolean
  - `email` string — Email
  - `response_format` string — Response Format (DER format is default)
  - `subject_dn` string — Overwrite Subject Distinguished Name
  - `extension_data` ExtendedInformationRestRequestComponent[]
    - `name` string — For extension_data a certificate extension object identifier (OID), for custom_data a string variable and value see ExtendedInformation class
    - `value` string — OID value
  - `custom_data` ExtendedInformationRestRequestComponent[]
    - `name` string — For extension_data a certificate extension object identifier (OID), for custom_data a string variable and value see ExtendedInformation class
    - `value` string — OID value
  - `start_time` string — Valid start time
  - `end_time` string — Valid end time

## Response `200`

Successful operation

- CertificateEnrollmentRestResponse
  - `certificate` string, byte — Certificate
  - `serial_number` string — Hex Serial Number
  - `response_format` string — Response format
  - `certificate_chain` string[] — CA Certificate chain

## Changes

- **2026-07-17** `44f8798658e2` — 5 info
  - added the new optional request property `custom_data`
  - added the new optional request property `end_time`
  - added the new optional request property `extension_data`
  - added the new optional request property `start_time`
  - …1 more
- **2025-03-11** `4045b1bab09f` — 1 breaking, 1 info
  - removed the success response with the status `201`
  - added the success response with the status `200`
- **2025-03-11** `37878df36b77` — 1 breaking, 5 warning, 1 info
  - removed the success response with the status `200`
  - removed the request property `custom_data`
  - removed the request property `end_time`
  - removed the request property `extension_data`
  - …3 more
- **2025-02-25** `606ab18da855` — 5 info
  - added the new optional request property `custom_data`
  - added the new optional request property `end_time`
  - added the new optional request property `extension_data`
  - added the new optional request property `start_time`
  - …1 more
- **2025-01-24** `d0f3affe7c3c` — 1 breaking, 1 info
  - removed the success response with the status `201`
  - added the success response with the status `200`

[Full history](https://skmtc.dev/keyfactor/apis/ejbca-rest-interface/changes/v1/certificate/pkcs10enroll/post.md)

---

[API](https://skmtc.dev/keyfactor/apis/ejbca-rest-interface.md) · [All operations](https://skmtc.dev/keyfactor/apis/ejbca-rest-interface/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/keyfactor/ejbca-rest-interface/revisions/44f8798658e2/schema)
