When I Work
Connect your client's When I Work with a key they paste, and call its API through Operate As.
- Website
- wheniwork.com
- Connects by
- Pasting a API key
- Category
- HR and recruiting
- Services
- 1
- Tools
- Pass-through only
| Service | Key | Base URL |
|---|---|---|
| When I Work | when-i-work | https://api.wheniwork.com |
Connecting
Your client makes a API key in their When I Work settings and pastes it on their link. Operate As tries it with When I Work before saving it, and stores it encrypted. See Services connected with an API key.
curl https://api.operate.as/v1/me/clients \ -H "Authorization: Bearer $OPERATE_AS_API_KEY"[ { "id": "6f1c2a7e-...", "name": "Miller Dental", "services": [ "when-i-work" ] }]Permissions
| What the client reads | Permission it asks for |
|---|---|
| Use the When I Work key you paste, with only the access you gave that key | Chosen on the provider's screen |
Pass-through
When I Work has no ready-made tools yet. Call any endpoint of its API through Operate As instead, with the client's access attached.
Add the client
In Clients, add your client and select When I Work. Then send them their link.
Your client connects
They paste a API key from their When I Work settings.
Find the endpoint
Pick the call from When I Work's own API docs. Your path is everything after https://api.wheniwork.com.
Send it through Operate As
Use the client's ID, the service key when-i-work and that path. Your Operate As key goes in Authorization; the client's access is added for you.
See Pass-through requests for the full request and response format.
curl "https://api.operate.as/v1/clients/6f1c2a7e-.../when-i-work/2/account" \ -H "Authorization: Bearer $OPERATE_AS_API_KEY"{ "status": 200, "data": { "…": "the service's own response" }, "encoding": "json"}When access ends
A key works until your client deletes it in When I Work. They can paste a new one on the same link at any time, and your workflows carry on without changes.
See Keeping access alive and Removing access.
{ "status": 401, "data": { "…": "the service's own error" }, "encoding": "json"}