Build a Developer Team

Learn how to add a developer to your Square development team and give them the correct set of permissions.

Link to section

Overview

When you create team member profiles in the Square Dashboard, new team members are invited to your developer organization. You define jobs and permissions for team members in this process flow. It's the same flow that a seller uses to invite a new team member except that a new developer is assigned permissions for the Developer Console and optionally assigned permissions to your Square account.

A graphic image that shows a conceptual relationship between team members and the resources that they can access.

Link to section

Pricing

When you create a new Square account, you get a default team permissions set and one custom permission set. For more than two levels of access, you need an Advanced Access subscription, which starts at $35 per month and includes customized access, team insights, and enhanced security.

Link to section

Team roles

The default team permissions set can be customized to include developers permissions for Developer Console access. This is useful if all team members are developers. If your team includes non-developers, such as coffee shop staff using Square Point of Sale, you shouldn't add developer permissions to the default set. Instead, create a new permission set specifically for developers.

Your development team might include roles for:

  • Developers - People who write code, create or manage application registrations, set application credentials, manage OAuth parameters, or work with other configurations.
  • Technical support - People on your team who set up your application in production at a seller's site.
  • Product marketing - Team members who create and manage your listing in the Square App Marketplace.

Note

If you need to provide a permission set for each of these developer roles, you must have an Advanced Access subscription.

All of these roles need access to different parts of the Developer Console. It's a good practice to scope team member access to only the functions in the Developer Console that a team member needs to do their job. For example, settings on the OAuth tab shouldn't be accessible to a team member in the product marketing role.

Link to section

Developer Console permissions

The following image shows the developer permission selection dialog in the Team application.

An image that shows the developer permission selection dialog in the Team application.

To support building a team of developers for your organization, the Square Dashboard is used to manage developer team members as you might manage other team members. Use the Square Dashboard to create team members. You can create and assign developer jobs and permission sets that contain developer permissions. If your team is building an application in the Developer Console, it's a good practice to set appropriate levels of access to console features.

To create a team for your organization, complete these steps:

  1. Add a team member - Each new team member is assigned a permission set and a job title.
    1. Assign a job title - Assign a new or existing job title.

      Important

      Job titles are case-sensitive. You can create both a 'Developer' and a 'developer' job. When adding a team member with the title 'Developer,' ensure you select the correct 'Developer' job title again for consistency.

    2. Customize or create a permission set - Add developer permissions to an existing permission set or create a new permission set enabled for developers.
    3. Assign the permission set - Assign the developer-enabled permission set to the team member.

    Did you know?

    After you've got a developer permission set, you can assign it to the next developer team members you create.

Link to section

Create a permission set

Create permission sets in the Square Dashboard to control access to the Developer Console. If you've given the default team permissions to non-developers, don't customize it for developers. Instead, make new permission sets for your developer team. For more information, see Create Permission Sets. If you often use the Developer Console, choose Account and then Settings. On the Settings menu, choose Manage team to reach the Team page in the Square Dashboard.

The jobs and permission sets usually created include Product Marketing, IT Support, and Developer - This job needs access to tools such as API Explorer, API Logs, webhook configurations, the Sandbox for testing, and limited seller account permissions to verify that the application integration code is working correctly. If all roles use the same permissions, then customize the default team permissions set instead of creating a new permission set for each role.

Link to section

Recommended permissions and roles

When you add a new member to your development team, you can give them access to Square Point of Sale apps like Checkout, Orders, Invoices, and Appointments. They might need these apps to test the integration code they write.

Besides these apps, the new team member needs access to features in the Developer Console to do their job. You assign developer-specific permissions in the Team app on the Square Dashboard. There are three developer permissions, and two of them have an extra permission, as shown in the Developer Console permissions section.



These development-specific permissions provide access to Developer Console functions as shown in the following table:

Permission View basic application information Access all developer toolsCreate and view personal access tokensView App Marketplace submissionsManage App Marketplace listings
View an account owner's email address✅⛔⛔⛔⛔
Add, change, and delete an account owner's email address⛔✅⛔⛔⛔
View and open applications✅⛔⛔⛔⛔
Add new applications⛔✅⛔⛔⛔
Open Sandbox test accounts and read Sandbox credentials⛔✅⛔⛔⛔
Create new Sandbox test accounts, replace Sandbox credentials⛔✅⛔⛔⛔
Read production application credentials and locations⛔⛔✅⛔⛔
Replace production application credentials and application version⛔⛔✅⛔⛔
Read production OAuth credentials⛔✅⛔⛔⛔
Update production OAuth credentials⛔✅⛔⛔⛔
View application webhook subscriptions and webhook logs⛔✅⛔⛔⛔
Add application webhook subscriptions⛔✅⛔⛔⛔
View a Reader SDK application repository password⛔✅⛔⛔⛔
Replace a Reader SDK application repository password⛔✅⛔⛔⛔
Read a Point of Sale API configuration - iOS⛔✅⛔⛔⛔
Add an Android Point of Sale package⛔✅⛔⛔⛔
View the Apple Pay domain URL⛔✅⛔⛔⛔
Add and verify the Apple Pay domain URL⛔✅⛔⛔⛔
View API logs for an application✅⛔⛔⛔⛔
Respond to App Marketplace reviews⛔⛔⛔⛔✅
View App Marketplace listings and submissions⛔⛔⛔✅⛔
Edit and submit an App Marketplace listings or submission⛔⛔⛔⛔✅
Link to section

Manage ownership of a Square account

As your team of developers evolves and your business grows, you might find it necessary to update information about your Square account. For information about editing your account, see Manage Your Account and Business Settings to secure your account, change language preferences, and keep your business information up to date. You can transfer your Square account to a new owner or accept a transfer to become the new owner of an existing Square account. For information, see Transfer Ownership of Your Square Account.

Link to section

Additional resources

  • Team API - Your team of developers along with their job details can be retrieved and managed using the Team API.
  • Labor API - If you need to track the hours that a team member works on a project, you can use the Labor API to create a time clock that lets a member of your team record their hours. These same APIs let you build labor reports for costing purposes.