Certiverse Performance Based Test Integration
Skip to content
English
  • There are no suggestions because the search field is empty.

Certiverse Performance Based Test Integration

Certiverse Performance Based Test Integration

Overview 

The Certiverse Generic Performance Based Testing (PBT) API provides Organizations and partners with an integration to support the delivery of third party PBT exams within the Certiverse delivery and proctoring platform. The Generic PBT API supports scheduling notifications, to support advance provisioning; availability verification at check-in; and the PBT launches within a Certiverse exam.

Version Information 

Version: 1.5 (2025)

URI Scheme 

Base Path: https://{domain}/api/v1 

Scheme: HTTPS 

Configuration Endpoints 

GetTemplatesAsync 

  • Certiverse will call to retrieve a list of the available PBT's, which is used to select the PBT to be used when configuring an exam in the Certiverse platform 

Endpoint 

GET /templates 

Headers 

Key 

Value 

Description 

x-api-key 

string 

Authorization Key provided by the client 

QueryString Parameters 

Key 

Value 

Description 

page 

 

Page Number 

perPage 

 

Number of templates to return per page 

Response Object 

CreateTemplateWebhookAsync 

  • Called when Certiverse exam IsActive and has PBT setup 
  • Sets up handled webhooks for the specific PBT 
  • We currently only support a single webhook for when an assessment errors 

Endpoint 

POST /templates/webhooks 

Headers 

Key 

Value 

Description 

x-api-key 

string 

Authorization Key provided by the client 

Body Object 

DeleteTemplateWebhookAsync 

  • Called when Exam becomes InActive or has no PBT setup 

Endpoint 

DELETE /templates/webhooks/{templateWebhookId} 

Headers 

Key 

Value 

Description 

x-api-key 

string 

Authorization Key provided by the client 

Assessment Reservation Endpoints 

CreateAssessmentReservationAsync 

  • Creates the AssessmentReservation in PBT platform and returns an AssessmentReservation Unique Identifier 
  • The reservation information includes some candidate information and reservation details (IE: date-time and location) so the PBT can be prepared in advance in the region closest to the candidate 
  • Candidates are required to schedule PBT exams at least 24 hours in advance to ensure that environment is provisioned and ready at their scheduled time. 

Endpoint 

POST /assessment-reservations 

Headers 

Key 

Value 

Description 

x-api-key 

string 

Authorization Key provided by the client 

Body Object 

Response Object 

UpdateAssessmentReservationAsync 

  • Sometimes after a booking has occurred, extra time needs to be added 

Endpoint 

PATCH /assessment-reservations/{assessmentReservationId} 

Headers 

Key 

Value 

Description 

x-api-key 

string 

Authorization Key provided by the client 

Body Object 

DeleteAssessmentReservationAsync 

  • Called when a reservation is cancelled

Endpoint 

DELETE /assessment-reservations/{assessmentReservationId} 

Headers 

Key 

Value 

Description 

x-api-key 

string 

Authorization Key provided by the client 

 

Assessment Delivery Endpoints 

GetAssessmentDeliverableAsync 

  • Called to get the Assessment Deliverable 

Endpoint 

GET /assessment-deliverables/{assessmentDeliverableId} 

Additional Endpoint Options 

  • Called to get the Assessment Deliverable 
  • Called during provisioning, which occurs when a candidate starts the process at their scheduled date-time. Vendor does not have the AssessmentDeliverableId at this time, so needs to call with the AssessmentReservationId (returned when the AssessmentReservation is created) or the VendorReservationId (passed in when the AsssessmentReservation is created) 

 

GET /assessment-deliverables/{assessmentReservationId}?isAssessmentReservationId=true 

 

GET /assessment-deliverables/{vendorReservationId}?isVendorReservationId=true 

Headers 

Key 

Value 

Description 

x-api-key 

string 

Authorization Key provided by the client 

Response Object 

StartAssessmentDeliverableAsync 

Endpoint 

POST /assessment-deliverables/{assessmentDeliverableId}/start 

Headers 

Key 

Value 

Description 

x-api-key 

string 

Authorization Key provided by the client 

StopAssessmentDeliverableAsync 

  • Occurs when the exam is completed in Certiverse test driver 
  • Since PBT could have already completed the assessment internally, Certiverse will check to see if the assessment is still in progress. If so, Certiverse will call Stop on the assessment. Otherwise, Certiverse will not do anything 

Endpoint 

POST /assessment-deliverables/{assessmentDeliverableId}/stop 

Headers 

Key 

Value 

Description 

x-api-key 

string 

Authorization Key provided by the client 

PauseAssessmentDeliverableAsync 

Endpoint 

POST /assessment-deliverables/{assessmentDeliverableId}/pause 

Headers 

Key 

Value 

Description 

x-api-key 

string 

Authorization Key provided by the client 

ResumeAssessmentDeliverableAsync 

Endpoint 

POST /assessment-deliverables/{assessmentDeliverableId}/resume 

Headers 

Key 

Value 

Description 

x-api-key 

string 

Authorization Key provided by the client 

 

Commands 

CreateTemplateWebhook 

Name 

Description 

Schema 

templateId required 

Unique Identifier of the Template 

Unique Identifier 

errorEmail required 

Exceptions during the webhook being processed will be sent to this address 

String 

headers 

 

Array of Name/Value pairs 

method required 

HTTP method 

String 

url required 

 

String 

queryString 

The query string of the URL 

String 

onStatusChange required 

Possible values can be any of the different statuses that are used. Currently we only use: errored 

String 

CreateAssessmentReservation 

Name 

Description 

Schema 

templateId 

required 

 

Unique Identifier 

additionalTimeInMins 

 

Int 

language  

Default to en if null 

Language Code (Example: zh-Hans) 

String 

startDateUtc 

required 

 

DateTime 

address 

 

CreateAssessmentReservationAddress 

vendorEligibilityId 

 

String 

vendorReservationId 

 

String 

userInfo 

required 

 

CreateAssessmentReservationUser 

metaData 

Example:  

{ “randomProperty”: randomPropertyValue } 

Key/Value Object 

CreateAssessmentReservationAddress 

Name 

Description 

Schema 

addressLine1 

 

String 

addressLine2 

 

String 

city 

 

String 

state 

 

String 

postalCode 

 

String 

countryCode 

2 Character ISO Code 

String 

timeZone 

Iana Time Zone 

String 

CreateAssessmentReservationUser 

Name 

Description 

Schema 

email required 

 

String 

firstName 

 

String 

lastName 

 

String 

PatchAssessmentReservation 

Name 

Description 

Schema 

additionalTimeInMins 

 

Int 

Responses 

TemplateResults 

Name 

Description 

Schema 

templates 

Array of all the templates. If there are no templates, still send back as 200 but with an empty array 

TemplateResult[] 

pageData 

Metadata object holding the page information 

PageData 

TemplateResult 

Name 

Description 

Schema 

id 

 

Unique Identifier 

displayName 

 

string 

isActive 

 

Bool 

TemplateWebhooks 

Name 

Description 

Schema 

templateWebhooks 

Array of all the template webhooks. If there are no webhooks, still send back as 200 but with an empty array.  

TemplateWebhook[] 

TemplateWebhook 

Name 

Description 

Schema 

id 

 

Unique Identifier 

method 

HTTP method of the call 

String 

url 

URL to the webhook endpoint 

String 

onStatusChange 

When the Assessment Status changes to a certain value, the webhook is fired 

String 

headers 

 

Array of Name/Value pairs 

AssessmentReservation 

Name 

Description 

Schema 

id 

 

Unique Identifier 

templateId 

 

Unique Identifier 

additionalTimeInMins 

 

Int<Nullable> 

language  

Default to en if null 

Language Code (Example: zh-Hans) 

String 

startDateUtc 

 

DateTime 

address 

 

AssessmentReservationAddress 

vendorEligibilityId 

 

String 

vendorReservationId 

 

String 

userInfo 

 

AssessmentReservationUser 

metaData 

Example:  

{ “randomProperty”: randomPropertyValue } 

Key/Value Object 

AssessmentReservationUser 

Name 

Description 

Schema 

email 

 

String 

firstName 

 

String 

lastName 

 

String 

AssessmentDeliverable 

Name 

Description 

Schema 

id 

 

Unique Identifier 

consoleUrl 

 

String 

guacamoleUrl 

 

String 

status 

  • scheduled 
  • canceled 
  • provisioning 
  • provisioned 
  • inProgress 
  • paused 
  • completed 
  • Candidate has ended assessment 
  • finalized 
  • Assessment has been graded and all post-delivery processing completed 

String 

canStart 

 

Boolean 

startedDateUtc 

 

DateTime<Nullable> 

endedDateUtc 

 

DateTime<Nullable> 

Page Data 

Name 

Description 

Schema 

currentPage 

 

Int 

nextPage 

 

Int 

prevPage 

 

Int 

totalPages 

 

Int 

totalPageCount 

 

Int 

Callbacks 

TemplateWebhookCallback 

Name 

Description 

Schema 

hasErrored 

 

Boolean 

assessmentReservation 

AssessmentReservation response 

AssessmentReservation 

assessmentDeliverable 

AssessmentDeliverable response 

AssessmentDeliverable 

 

Contact Us

If you have any questions or need additional assistance, please contact us by either emailing support@certiverse.com or by submitting a ticket from this article.