Emblem Connect (Partner Integration)
Contract Reference
Side-by-side comparison of assertion and enrollment contracts.
Assertion vs Enrollment
| Aspect | Assertion | Enrollment |
|---|---|---|
| Purpose | Check for an existing Emblem pass | Create a new Emblem pass after verification |
| Entry endpoint | POST /api/v1/assertions/transactions | POST /api/v1/credentials/enroll/start |
| Required fields | client_id, redirect_uri, state | client_id, redirect_uri, state, provider, verification_level, external_verification_id, verified_at |
| Browser redirect to | authorize_url | enrollment_url |
| Success callback | code, state | status=success, state |
| Failure callback | error, error_code, state | error, error_code, state |
| Back-channel exchange | POST /api/v1/assertions/token | None |
| TTL | 10 minutes | 10 minutes |
| Code TTL | 2 minutes | N/A |
| Recovery endpoint | GET /api/v1/assertions/transactions/{id} | None |
Common Parameters
| Parameter | Notes |
|---|---|
client_id | Required on both flows. Provisioned by Emblem during onboarding |
redirect_uri | Required on both flows. Must exactly match a registered URI |
state | Your CSRF or correlation value, echoed back unchanged |
| Auth | All Connect endpoints require Authorization: Bearer emb_sk_... |
SDK Methods Summary
| SDK method | Purpose |
|---|---|
createAssertionTransaction() | Start an assertion transaction and receive authorize_url |
exchangeAssertionCode() | Exchange an approved code for assertion data |
getAssertionTransaction() | Reconcile an assertion transaction |
startEnrollment() | Start enrollment and receive enrollment_url |
openAssertionPopup() | Open the assertion flow in a popup or new window |
handleAssertionPopupCallback() | Normalize popup callback params and relay them to the opener |
Provisioning
Authorization clients are provisioned by Emblem during partner onboarding. They are not self-serve today.
Practical checklist:
- Confirm your publisher account exists in the target environment.
- Confirm you have a secret API key.
- Confirm your
client_idhas the correct registeredredirect_urivalues. - Confirm enrollment authority is enabled if you plan to call
POST /api/v1/credentials/enroll/start.