Certain API 2.0 lets you pull information out of Certain into your own systems, like a database, a badge provider or a reporting tool. The full documentation is here: Certain API 2.0 documentation.
What you need
- Web Services turned on for your account. If you don't have it, contact your Customer Success Manager.
- A Certain user with API Access turned on in their user profile. Admin and Event Builder users can both have it. API 2.0 signs in with that user's username and password (Basic Authentication), so there's no separate API key or token.
- Your account code and the event code for the event you want.
New integrations should use API 2.0. API 1.0 is only kept for older integrations. See API 1.0.
Keep the API user active: A user that's deactivated, or whose password expires, stops your integration. To reset the password, use Forgot Password on the Certain login page.
Getting access for someone new
Ask your account admin to create a user for the person or integration and turn on API Access. Support can only set up access when your account admin asks for it.
What Support can help with
Support can help when a call built from the documentation returns an error or the wrong data. Support doesn't design or build integrations. For help planning one, contact your Customer Success Manager or sales@certain.com.
FAQ
How do I only get records that changed since my last pull?
Filter on the date modified, for example filterBy=dateModified_after with the date and time of your last pull. The Registration GET page in the documentation shows the date format.
Why do I get test or deleted registrations?
Add isTestMode=false and isActive=true to leave out test and deleted registrations.
Why does my call return a 404?
A 404 can mean no records matched, not just a wrong address. If you use isTestMode=false on an event that's still in Testing, there are no live registrations to return. A page number past the end of your data also returns a 404. Check your filters, the account code and the event code.
Why do I only get 500 records?
Results come back in pages. Set max_results to how many records you want per page, and use start_index for the page number. start_index is a page, not a record number: with max_results=500, start_index=1 returns records 1 to 500 and start_index=2 returns 501 to 1,000. Start at 1. The response includes completeCollectionSize, the total number of records, so you know how many pages to ask for. Parameter names are case-sensitive, so write them in lowercase.
How do I get registration questions or travel questions?
Add includeList with the lists you want, for example includeList=registration_questions,travel_questions. Add unanswered_questions if you also want questions the registrant left blank.
How do I include a field that isn't coming back, like the Profile Unique ID?
List the fields you want with listFields, for example listFields=registrationCode,profile.firstName,profile.lastName,profile.pkProfileId. The Registration GET page lists the field names.
Why does the Sessions call return an error for my event?
Usually it's the session data, not the call. A published session with a track or topic that shows as Undefined, often after a track was deleted or renamed, can break the call. Open your sessions, fix or clear that value, and try again.
My update returned success, but the profile didn't change. Why?
It probably updated a different profile. If two profiles share the same username or External Profile ID, the update goes to the one that matches what you sent. Look for duplicate profiles for that person and merge or correct them.
Why are session times off by a few hours?
Times follow the time zone set on the event. Convert them on your side if your system uses a different time zone.
Can I pull email statistics, website page content or a history of changes?
No. The API returns current records only. Email statistics and website page content aren't available through it, and there's no history endpoint. The History report in the event shows changes over time, but only in Certain itself.
Do I need to allowlist Certain's IP addresses?
No. Certain doesn't restrict API calls by IP address.
I'm getting 429 errors.
You're making too many calls at once. The API allows 20 connections at a time. Slow down and retry after a short wait.
Next step: A call that follows the documentation still fails? Contact Support with the full call (take out the password), the response you got and the event code.
Comments
0 comments
Please sign in to leave a comment.