Build ExpiWell into your own stack
Connect ExpiWell to the systems your team already runs. A published API for your studies, participants and responses, with credentials you control.
Make ExpiWell part of your infrastructure
Keep a warehouse current
Pull responses on a schedule into the database your analysts already query, instead of somebody remembering to export a CSV every Monday.
Dashboards that refresh themselves
Point your own reporting tool at live study data, so the numbers a principal investigator opens on Friday are the numbers as of Friday.
Analyses you can re-run
Fetch exactly the rows a paper was written from, by script, so a reviewer or a future student can reproduce the result rather than trust it.
Grant one thing at a time
A credential carries only the permissions you tick. Choose the least the script needs, because a credential that can read less is worth less to anyone who finds it.
Studies
Your projects: name, type, status, and the response and participant counts behind each one.
read:projects
Participants (IDs only)
The anonymous identifiers in a project. Never names, emails, or contact details. It is the same identifier your exports use, so responses link across surveys without the identity travelling.
read:participants
Responses
Survey responses and, on an individual response, the answers themselves. A bulk listing returns metadata without answer content.
read:responses
Media & transcripts
Audio, images, and transcriptions attached to responses. Grantable on a credential today; the endpoints follow in a later release.
read:media
Built so a leaked credential is inert
The credential is not the token
Your script holds a long-lived credential and sends it to exactly one endpoint. Everything else carries a token that expires in 10 to 60 minutes, so one found in a log outlives its usefulness within the hour.
Revocation is immediate
Revoke a credential and every token already issued from it stops on the next request, rather than at the end of its lifetime. So does a change to the role of whoever created it.
Locked to the addresses you name
Every credential carries an address allowlist, checked on every request rather than once at creation. A credential that leaks is inert anywhere you did not list.
Scoped to your account
A credential reaches your studies and no one else’s. A record belonging to another researcher returns exactly what a record that never existed returns, so the API cannot be used to discover what other accounts hold.
Served from your own region
Requests are answered in the region your account belongs to. A credential issued in one region does not work in the other.
EU accounts are served from the European Union. The endpoint is provided when your region is enabled.
Three steps to the first request
01
Ask for access
An administrator switches the Developer Hub on for your account and sets the permissions, credential limit, and maximum lifetime it may use.
Read the guide02
Create a credential
In Settings, choose the least permission you need and the addresses your script runs from. The secret is shown once.
Read the guide03
Make the request
Exchange the credential for a token, then read your data. The guide walks the process; the interactive reference lists every call and lets you try one.
Read the guideBring your study data into your own stack
Developer Hub access is enabled per account. Tell us what you plan to pull and we will switch it on.