Resolve e-mail addresses
const url = 'https://calendar.work.optidata.cloud/api/search/members?emails%5B%5D=hello%40example.com';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://calendar.work.optidata.cloud/api/search/members?emails%5B%5D=hello%40example.com' \ --header 'Authorization: Bearer <token>'Turns a batch of e-mail addresses into the people behind them — the reverse of searching. Use it to render an attendee list you received as bare addresses.
Addresses are passed in the query string, one emails[] parameter per
address, and at least one is required. Every address you send comes back,
in the same order. An address that belongs to no user and no group is
returned as a guest, carrying only email and type. Responses may be
cached for up to an hour.
Authorizations
Section titled “Authorizations”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters”Addresses to resolve. Repeat once per address
(emails[]=a@example.com&emails[]=b@example.com).
Responses
Section titled “ Responses ”One entry per address, in the order they were sent.
object
A resolved address. A user or group entry carries the full record; an
address that matches neither comes back as a guest with only email and
type.
object
user is somebody with an Optiwork account in the tenant, group a user
group, and guest an address outside it.
Examples
{ "members": [ { "id": 93, "name": "Jane Doe", "uuid": "9e926fb1-e1ff-4fc9-81a1-5740f10ba57f", "email": "jane.doe@acme.example", "zid": "20d77f6c-91f6-4e39-9488-bb7fe302d65d", "avatar_url": null, "type": "user" }, { "email": "nobody@partner.example", "type": "guest" } ]}Missing, malformed or expired authentication key.
Authentication failures use an error key rather than message.
object
Examples
No bearer token sent
{ "error": "JWT passport exception: Missing bearer token in request"}The request body or query string failed validation.
object
The first validation message.
Validation messages keyed by field name.
object
Examples
{ "message": "The event title field is required.", "errors": { "title": [ "The event title field is required." ] }}Rate limit exceeded. Retry after the window resets.
Generic error envelope used by policy, binding and framework failures.
object
Human-readable description of the failure.
Examples
{ "message": "Too Many Attempts."}