Create issuer accounts programmatically

When you manage your Passes integration, it's often convenient to use multiple issuer accounts. Before you start, get your first issuer account approved and complete the basic steps for Get access to the REST API. Then, you can programmatically create additional accounts and adjust the emails shared with them.

You can also create an issuer account manually in the Business Console. You can use the Users tab in the Business Console to invite other users and share the Admin or Developer role with them.

Create a new issuer account

To create a new issuer account, use an authorized service account key to make an insert REST call to the following endpoint:

POST https://walletobjects.googleapis.com/walletobjects/v1/issuer/

Include the following in the body of the REST call:

{
  "name": issuer-account-name
  "contactInfo": {
    "email": email-address
  }
}

The response includes the body you sent and an extra field, issuerId. This is the newly created account's Issuer ID. For more information on how to use the issuer endpoint, see the API reference.

Change an existing account's permissions

After an account is created, only the service account key that created it has access. If you want additional service account keys to access the account, or to manage the account from a personal email with the merchant account UI, you need to use the permissions endpoint to add additional emails. Do this with an UPDATE REST call. Here's an example of how this is done:

PUT https://walletobjects.googleapis.com/walletobjects/v1/permissions/<issuerId>
{
  "permissions": [
    {
      "emailAddress": permission-email-address
      "role": <the role of the account, either "writer", "owner", or "reader">
    },
  ]
}

For more details, see the Permissions API reference list.