Invite a person
const url = 'https://example.com/api/public/v1/invitations';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"Email":"example","LastName":"example","FirstName":"example","MiddleName":"example","Sphere":"SpInternal"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/public/v1/invitations \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "Email": "example", "LastName": "example", "FirstName": "example", "MiddleName": "example", "Sphere": "SpInternal" }'Invites one person by corporate email. If a record with that address already exists — in any status, archived included — nothing is created and the response reports its current state.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”One person to invite. Creates an invitation, not a person — see the API overview.
object
Corporate email. The matching key across systems; no separate external id exists.
One person to invite. Creates an invitation, not a person — see the API overview.
object
Corporate email. The matching key across systems; no separate external id exists.
One person to invite. Creates an invitation, not a person — see the API overview.
object
Corporate email. The matching key across systems; no separate external id exists.
Responses
Section titled “Responses”OK
What happened to one invitation. A record that already exists is reported here rather than rejected — bool InvitationResultDto.Created is false and EmployeeStatus InvitationResultDto.Status is the existing record’s current state.
object
The employee record’s id, whether it was created now or already existed.
True when this call created the record; false when it already existed.
Whether this call sent an invitation email. A record that already existed answers false — nothing was sent — and can be reached with resend.
Where this person’s card lives in the Portal. Opening it needs a signed-in Portal session — the link is an address, not access.
Example
{ "Status": "NotActivated"}Bad Request
The Integration API’s error shape — RFC 7807 application/problem+json. The Portal API answers
in its own { Error, Details } envelope because one client parses one shape; an external
integrator expects the standard instead.
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}Unauthorized
The Integration API’s error shape — RFC 7807 application/problem+json. The Portal API answers
in its own { Error, Details } envelope because one client parses one shape; an external
integrator expects the standard instead.
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}