Applies to: Team API | Labor API
Manage a roster of employees, associates, or volunteers for Square sellers.
Use the Team API to create and manage team member and job data, including profiles, wage settings, and activation status. In the Square Dashboard, team members can be further configured for Square Payroll, scheduled in appointments, assigned to a labor shift, and more.
The Labor API is used with the Team API to manage timekeeping for shifts and labor cost reporting, payroll, and overtime management.
Sellers manage the following operations in the Square Dashboard or other Square products. Square APIs cannot be used for these operations.
- Get or set permissions for team members or set a passcode. Sellers manage team access in the Team section of the Square Dashboard.
- Update the team member that represents the seller account. In the API, this team member has the
is_owner
field set totrue
. - Add team members to the staff for payroll or appointments, or assign team members to cash drawer shifts.
The Team API cannot be used to send the team member an invitation to join the team. Square does this automatically after the seller assigns the team member's permissions and passcode.
After accepting the invitation to join the team, only the team member can change their email address by updating their personal settings on the Square website.
Although this change is reflected in their team member profile, it doesn't invoke a
team_member.updated
webhook event.Generate sales, tip, or activity reports for team members. However, you might be able to get similar data for sales and tip reporting using team member IDs with the Payments API and Labor API. For more information, see Track tips.
The Square Sandbox doesn't support all features that integrate with team members. For example, the Permissions and Payroll sections aren't available in the Sandbox Square Dashboard.
Your application can use the Team API to perform the following operations:
- CreateTeamMember, UpdateTeamMember, BulkCreateTeamMembers, and BulkUpdateTeamMember - Create and update team members to manage their profile, status, assigned locations, and wage setting. Team members can be created and updated individually or in bulk.
- RetrieveTeamMember and SearchTeamMembers - Retrieve a specific team member, list all team members, or search for team members by location and status or by whether the team member is the Square account owner.
- CreateJob and UpdateJob - Create and update job definitions by specifying the job title and tip eligibility. A team member's job assignments and compensation is managed through the team member's
wage_setting
field. - RetrieveJob and ListJobs - Retrieve a specific job or list all jobs.
To learn how to use the Team API, see Integration Guide.
Note
Job
endpoints are available in Square API version 2024-12-18 or higher.
Team members created with the Team API are available in the Square Dashboard and integrate with the following features:
Team - The new team member is shown in the Team members list.
Sellers use the Square Dashboard to assign a passcode and permissions to team members.
Timecards - The new team member is shown in the New Shift window in the Name list.
Appointments - A team member can be added to the Staff list.
Cash drawers - A team member who is logged in with a passcode is automatically assigned to a cash drawer shift.
Payroll - A team member can be added to the payroll.
For more information about Square team management tools, see Square Staff.
A webhook is a subscription that notifies you when a Square event occurs. For more information about using webhooks, see Square Webhooks.
The Team API uses the following webhook events:
Event | Permission | Description |
---|---|---|
team_member.created | EMPLOYEES_READ | A team member was created. |
team_member.updated | EMPLOYEES_READ | A team member was updated. |
team_member.wage_setting.updated | EMPLOYEES_READ | A team member's wage setting was updated. |
job.created | EMPLOYEES_READ | A job was created. |
job.updated | EMPLOYEES_READ | A job was updated. |
For a complete list of webhook events, see Webhook Events Reference.