readyDocs Open the appOpen the app

Team members

The people who sign in to an account, each with their own login and role. Call these with your own key, and add X-Sub-Account-Id to work on a sub-account’s team. Sub-accounts themselves are on Sub-accounts.

#Add a team member

Adds a person to the team, with their own login and an invite email with a sign-in link. With X-Sub-Account-Id it’s that sub-account’s team. Needs the Manage team permission (invite_team).

Parameters

emailstringRequired
Their login email. The invite goes here.
first_name, last_namestring
roleenumDefault admin
admin: everything, billing and team included (Admin on the Team page). member: send texts and work with contacts and reports, but can’t buy numbers or spend money (Member). viewer: read only. agent: a member who also uses the dialer, which needs a free dialer seat; the Team page shows it as Member. The Team page preset Full teammate has no value here. Left out, role is admin, which includes billing: send member unless the person should manage billing and the team.
sub_account_accessenum
all: they can also open your sub-accounts. organization_only: they work in your main account only. Left out, Ready picks it the way the Team page does.
X-Sub-Account-Idinteger · header
The sub-account to add them to. Leave it out to add them to your own account.

Returns 201 with data.id (their user id) and data.email.

Errors
HTTPCodeWhen
400invalid_requestMissing email, or a role not in the list.
400unknown_fieldA field it doesn’t accept.
400already_on_teamThey’re already on this team, or it’s the owner’s email. Nothing to do.
403permission_grant_exceeds_your_ownThe role has more access than the key’s user.
403sub_account_forbiddenNot a sub-account you manage. Nothing was added.
403forbiddenNo dialer seat free for an agent.
403permission_deniedThe key’s user can’t manage the team.
500internal_errorIt may or may not have been added. Check the team in Ready before you send it again.

#List team members

The people on the team, newest first, as the Team page lists them. Sub-accounts aren’t in it: use List sub-accounts. With X-Sub-Account-Id it’s that sub-account’s team. Needs the Manage team permission (invite_team).

Returns
data[]object[]
One per person: id, email, first_name, last_name, role, status, invite_status (pending until they sign in the first time, then active), invite_expired, sub_account_access, holds_dialer_seat and created_at.
Errors
HTTPCodeWhen
403permission_deniedThe key’s user can’t manage the team.
500internal_errorThe list couldn’t be read. Retry.

#Update a team member

Changes a person’s name, role or sub-account access. Send only what you want to change. A role change signs them out, so their next sign-in has the new access. Needs the Manage team permission (invite_team).

Parameters

idinteger · pathRequired
Their id from List team members.
first_name, last_namestring
roleenum
The same roles as Add a team member. agent needs a free dialer seat.
sub_account_accessenum
all or organization_only.

Returns data.id. Their email can’t be changed with an API key.

Errors
HTTPCodeWhen
400invalid_request, unknown_fieldNothing to change, a role not in the list, or a field it doesn’t accept.
403permission_grant_exceeds_your_ownThe change gives them more access than the key’s user has. Nothing changed.
403cannot_edit_own_accessThe key’s user is changing their own role or access.
403forbiddenNo dialer seat free for agent (other changes you sent were saved).
403permission_deniedThe key’s user can’t manage the team.
404member_not_foundNo one on this team has that id.
500internal_errorSome changes may have saved. List the team before you send it again.

#Resend a team invite

Emails a new invite with a new sign-in link. Links in earlier invites stop working. Send an Idempotency-Key header so a retry doesn’t send a second email. Needs the Manage team permission (invite_team).

Parameters

idinteger · pathRequired
Their id from List team members.

Returns data.id, data.email and data.expires_at (when the new link stops working).

Errors
HTTPCodeWhen
400invalid_request, unknown_fieldid isn’t a whole number, or the body has a field.
404member_not_foundNo one on this team has that id.
403permission_deniedThe key’s user can’t manage the team.
500internal_errorThe new link could not be made. Send it again.
502internal_errorThe new link was made but the email did not go out, and links in earlier invites no longer work. Send it again.