Download OpenAPI specification:
This is an examination API for IHK content service provider.
Generate one or more one-time passwords for accessing a specific examination A one-time password (otp) can be used to access a examination content or to perform actions related to it. Each OTP is associated with a specific content and subject (user). The content is identified by a content_id and normally is unique for each examination and profession.
| content_id required | string Identifier for the examination content |
| subject_id required | string Identifier for the subject or user to which the OTP is issued |
| additionaltime | string <duration> Default: "PT0S" Optional additional time in ISO 8601 duration format this participation has during execution |
object (Participation) | |
object (Participant) |
[- {
- "content_id": "123456789012345678",
- "subject_id": "876543210987654321",
- "additionaltime": "PT15M",
- "participation": {
- "participation_id": "participation-1234567890",
- "name": "Zwischenprüfung Herbst 2026 - Fachinformatiker Anwendungsentwicklung"
}, - "participant": {
- "subject_id": "876543210987654321",
- "firstname": "Max",
- "lastname": "Mustermann",
- "ihknumber": "1234567890"
}
}
]{- "otp_id": "4g7a07i54",
- "otp_type": "tan",
- "content_id": "123456789012345678",
- "subject_id": "876543210987654321",
- "duration": "PT15M",
- "additionaltime": "PT15M",
- "otpstatus": "created",
- "expiration": "2019-08-24T14:15:22Z",
- "participation_id": "participation-1234567890"
}Retrieve the current status of one or more examinations identified by their OTP IDs. post is used to retrieve the status of multiple examinations at once.
List of otp_id for which to retrieve the status
[- [
- "123456789012345678",
- "234567890123456789"
]
][- {
- "otp_id": "string",
- "status": "created",
- "last_updated": "2019-08-24T14:15:22Z"
}
]lock or unlock a list of examinations to prohibit the usage by the participants. if the OtpState of the examination isn't started yet, the OtpState will be set to runnable, if lock_state is 'unlock' or created if lock_state is 'lock'. if the OtpState of the examination is already started, the OtpState will be set to suspended if lock_state is 'lock' or running if lock_state is 'unlock'.
| lock_state required | string Enum: "lock" "unlock" State to set for the examinations. Use 'lock' to lock and 'unlock' to unlock. |
List of otp_id for which should be locked or unlocked
[- [
- "123456789012345678",
- "234567890123456789"
]
]{- "otp_id": "string",
- "status": "created",
- "last_updated": "2019-08-24T14:15:22Z"
}Adds time a list of examinations. This endpoint allows to add additional time to the examinations identified by their OTP IDs.
| otp_id required | string Unique identifier for the one-time password |
| additionaltime required | string <duration> Additional time to add to the examination in ISO 8601 duration format |
| reason | string Reason for adding additional time |
[- {
- "otp_id": "4g7a07i54",
- "additionaltime": "PT15M",
- "reason": "Störung durch fehlerhaften Feueralarm während der Prüfung"
}
]{- "otp_id": "string",
- "status": "created",
- "last_updated": "2019-08-24T14:15:22Z"
}Subscribe for monitoring events. These events are sent as Server-Sent Events (SSE) stream. The client will receive a continuous stream of events related to the examination status. The client must provide a valid subscription_id to receive the events.
| subscription_id | string <uuid> Unique identifier for the subscription |
{- "subscription_id": "123e4567-e89b-12d3-a456-426614174002"
}{- "code": 13,
- "message": "This or that went wrong"
}Retrieve all entries (e.g., answers, actions, logs) made by participants during examination executions that are completed. Accepts a list of otp_id.
[- "4g7a07i54",
- "7h8b09j65"
]{- "property1": [
- {
- "entry_id": "entry-001",
- "otp_id": "4g7a07i54",
- "timestamp": "2026-10-01T10:15:00Z",
- "type": "answer",
- "data": { }
}
], - "property2": [
- {
- "entry_id": "entry-001",
- "otp_id": "4g7a07i54",
- "timestamp": "2026-10-01T10:15:00Z",
- "type": "answer",
- "data": { }
}
]
}