Introduction

The Certify API is a REST-styled interface, providing programmatic access to much of the data in the system. It provides predictable URLs for accessing resources, and uses built-in HTTP features to receive commands and return responses. This makes it easy to communicate from a wide variety of environments: command-line utilities, gadgets, and even the browser URL bar itself.

The API accepts JSON content in requests and returns JSON content in all of its responses, including errors. Only UTF-8 character encoding is supported for both requests and responses.

Dates and time zone

The API works in UTC.

  • Date fields (completion_date, expiration_date) use the yyyy-mm-dd format and carry no time or time zone.
  • Whenever the API compares a date with "today" (for example, completion_date must be today or earlier, and a revoked credential expires today), "today" is the current date in UTC. If you are ahead of UTC (for example, in Asia or Oceania), your local "today" can be one day ahead of the API's for a few hours after midnight, and a completion_date with your local date is rejected as a future date during that window.
  • Timestamps in responses (created_at, updated_at) are ISO 8601 in UTC, for example 2026-09-29T00:10:20.000000Z.