VerifycateDeveloper Docs

Update a certificate

PATCH/api/v1/workspaces/{slug}/certificates/{id}

Patch certificate settings, attributes, and metadata

Partial update. Omitted fields keep their current values.

Authorization

Scopecertificates:write
Authorization: Bearer vc_...

Requires certificates:write (or full access) and an active Pro seat.

Path parameters

slug*string

Workspace slug

Example: acme
id*UUID

Certificate id

Example: 550e8400-e29b-41d4-a716-446655440000

Body parameters

All fields optional. Notable ones:

name?string

Certificate name

Example: Python Fundamentals
status?string

draft, active, or archived. Cannot return to draft after leaving it

Example: active
attributes?array

Attribute definitions: objects with key and label

Example: [{ "key": "course", "label": "Course" }]
validity_days?integer | null

Default validity for new issues; null clears expiry; omit to keep

Example: 365
request_form_enabled?boolean

Enable public request form

Example: true
require_request_form_submission?boolean

Hold imports until form submission

Example: true
request_form_mode?string

Request form mode

Example: manual_approval
request_form_fields?array

Typed form field definitions

correction_form_enabled?boolean

Enable correction form

Example: true
correction_form_mode?string

Correction form mode

Example: manual_approval
correction_form_fields?array

Correction form field definitions

description?string

Description (max 4000 chars)

Example: Completion of the Python fundamentals track
certificate_type?string

Allowed type, or empty string to clear

Example: course
level?string

Allowed level, or empty string to clear

Example: beginner
duration?string

Free text, or empty string to clear

Example: 8 weeks
learn_more_url?string

URL, or empty string to clear

Example: https://example.com/python
earning_criteria?string[]

Criteria list

Example: ["Complete all modules"]
skill_ids?UUID[]

Replace linked skills; empty array clears; omit to keep

Form field types: text, textarea, phone_number, single_select, multi_select, image, attachment. Select fields need options.

Response schema

id*UUID
Certificate id
workspace_id*UUID
Owning workspace id
name*string
Certificate name
status*string
`draft`, `active`, or `archived`
validity_days?integer
Days until issued credentials expire; null if no expiry
request_form_enabled*boolean
Whether the public request form is enabled
require_request_form_submission*boolean
Hold imported recipients until they submit the request form
request_form_mode*string
Request form approval mode (e.g. `manual_approval`)
correction_form_enabled*boolean
Whether the correction form is enabled
correction_form_mode*string
Correction form approval mode
request_form_token?string
Public request-form token when enabled
correction_form_token?string
Public correction-form token when enabled
attributes*object[]
Attribute definitions (`key`, `label`, …)
request_form_fields*object[]
Request form field definitions
correction_form_fields*object[]
Correction form field definitions
description*string
What this certificate represents
certificate_type?string
One of `certificate`, `badge`, `certification`, `course`, `workshop`, `event`, `membership`, `recognition`
level?string
One of `beginner`, `intermediate`, `advanced`, `professional`
duration?string
Free-text time to earn
learn_more_url?string
`http` or `https` URL
earning_criteria*string[]
Criteria listed on the credential
created_at*datetime
Created timestamp (RFC 3339)
updated_at*datetime
Updated timestamp (RFC 3339)
skills*object[]
Linked skills (`id`, `name`); may be empty
has_template*boolean
Whether a template draft or published version exists
published_template_version?integer
Latest published template version number when published
pending_recipient_count*integer
Pending (not yet issued) recipients
active_recipient_count*integer
Active issued recipients