Skip to main content
Developer Tools give you programmatic access to Cernel. Use the API to push products from your own systems, and set up webhooks to receive real-time notifications when enrichment completes.

How it works

Cernel provides two developer capabilities under Settings > Developer:
  • API lets you authenticate requests to the Public API with keys, organized into service accounts, one per integration.
  • Webhooks send HTTP POST notifications to your endpoints whenever key events happen in Cernel.

Why you would use this

Automate product syncing

Push products from your ERP, PIM, or custom backend into Cernel without manual imports.

React to enrichment in real time

Get notified the moment AI-generated content is ready, so your systems can pull and publish it automatically.

Step-by-step guide

Managing API keys with service accounts

An API key authenticates requests to the Public API. Keys are organized into service accounts: one account per integration, each holding its own keys. Grouping keys this way lets you see which integration has been calling and switch one off without disturbing the others.
The API Settings page under Settings > Developer > API. A 'Service accounts' section lists accounts named Product, Test, and Service account, each showing its key count, created date, and last-active date, with a New key button and an expand control. The Product account is expanded to show its individual keys, each with a masked value, created date, last-used date, and a delete button. A New service account button sits at the top right.

The API settings page, organized around service accounts

1

Open API settings

Go to Settings > Developer > API. Each service account is listed with the number of keys it holds, when it was created, and when it was last used. Expand an account to see its individual keys.
2

Create a service account

Click New service account and name it after the integration that will use it, for example Shopify or ERP sync. That name is what shows up on the work its keys do. Creating an account immediately mints its first key.
3

Copy the new key

When a key is created, Cernel shows it once in a Your new API key dialog. Copy it and store it somewhere safe. For your security you won’t be able to see the full key again, only a masked version.
Store your API key like a password. Anyone with the key can access your organization’s data through the API. If a key is ever exposed, revoke it and mint a new one.
4

Add or rotate keys

Click New key on an account to mint another key for it. To roll over to a fresh key without downtime, add the new key, update your integration to use it, then revoke the old one. Revoking a key stops it working immediately while the account and its other keys keep going. A revoked key stays in the list, marked Revoked, so a past call still has an explanation.
5

Rename or delete an account

Renaming and deleting a service account are admin-only; minting a key stays open to any member. You can delete an account only once none of its keys are still live, so revoke its keys first.
6

View API documentation

Click Visit Documentation to open the full API reference in a new tab, with every endpoint, request format, and response schema.
Keys created before service accounts existed appear under a Keys without an account list at the bottom of the page. There’s nothing to do there: the next time such a key is used, it gets an account of its own and moves up to the main list. Revoke any you no longer need.

Configuring webhooks

1

Open webhook settings

Go to Settings > Webhooks. You’ll see three webhook types, each with a URL field and a test button.
2

Enter your endpoint URL

For each webhook you want to enable, enter the URL where Cernel should send POST requests. The URL must start with http:// or https://.
3

Test the webhook

Click Test Webhook to send a sample payload to your endpoint. Cernel will confirm whether the test succeeded or failed.
If the test succeeds, your endpoint is correctly configured and ready to receive live events.

Webhook event types

Cernel supports three webhook events: Each webhook sends a POST request with the event data as a JSON payload to your configured URL.

Advanced configuration

Webhooks pair naturally with the Public API integration. Push products in via API, let automations enrich them, then receive webhook notifications when results are ready. See Building a custom product pipeline for a full walkthrough.
If your endpoint returns an error or is unreachable, Cernel automatically retries the delivery. Each event is attempted up to 8 times: the first retry follows about 5 seconds after the initial failure, and the delay grows with each subsequent attempt, so the final retries are spread over a longer window. A delivery is considered successful once your endpoint returns a 2xx status code.
Because the same event can be delivered more than once, design your endpoint to be idempotent: processing the same payload twice should be safe. Use the IDs in the payload (for example the job or product identifier) to detect and skip duplicates.
Every webhook Cernel sends includes an X-Signature-SHA256 header so you can confirm the request genuinely came from Cernel and wasn’t altered in transit. The signature is an HMAC-SHA256 of the request body, keyed on your API key (from Settings > Developer > API).To verify a request:
1

Re-serialize the payload

Serialize the received JSON body the same way Cernel does: with sorted keys and compact separators (no spaces). In Python: json.dumps(payload, separators=(",", ":"), sort_keys=True).
2

Compute the HMAC

Compute an HMAC-SHA256 over that serialized body, using your API key as the secret key, then Base64-encode the result.
3

Compare

Compare your computed value against the X-Signature-SHA256 header. If they match, the request is authentic. Reject the request if they differ.
The signature depends on an exact byte-for-byte match of the serialization. Any difference in spacing or key ordering produces a different signature, so re-serialize with sorted keys and compact separators before comparing.
Webhook URLs are stored in your organization settings. Only admin users can view or modify them. Always serve your webhook endpoint over HTTPS, verify the X-Signature-SHA256 header on every request (see above), and keep the endpoint behind authentication on your end to prevent unauthorized requests.

Frequently asked questions

Go to Settings > Developer > API, where keys are grouped under service accounts. Cernel shows a key’s full value only once, in a dialog right after it’s created, so copy it then. Afterwards only a masked version is shown. If you’ve lost a key, mint a new one on its account and revoke the old one.
Yes. Create a service account per integration, and give each account as many keys as you need. Keys are revoked individually, so you can rotate one key or switch off a single integration without affecting the others. This is a change from the earlier model of one key per organization.
Mint a new key on the same service account with New key, update your integration to use it, then revoke the old key. Because both keys are live during the switch, nothing stops working in between. Revoking takes effect immediately, so revoke only after the new key is in place.
Check that your URL is correct and reachable. Use the Test Webhook button to verify. Make sure your endpoint returns a 2xx status code. If the test succeeds but live events don’t arrive, confirm that the relevant actions (enrichment, product creation) are actually happening.
Currently, Cernel supports three webhook events: Attribute Result, Product Updated, and Product Created. More event types may be added in future updates.

What’s next

Public API

Set up a full API integration for pushing products programmatically.

Automations

Auto-enrich products pushed via API with automations.