Skip to main content
The Identity API manages partners and their applications. Use it when you manage partners from your own tooling instead of the Console.

Before you start


To manage partners, a user needs the partners permissions of plugin-identity: get to read partners and scope catalogs, post to create a partner, patch to change one and delete to delete one. Managing its applications needs the applications permissions get, post and delete. The plugin-identity-editor-role role holds all of them.

The operations


To learn which dimensions a product accepts in scope, read its scope catalog. Each dimension has a name, and the flags required, multi, and explicit.

The partner fields


The response also carries id, applicationsCount, createdAt, and updatedAt. Rules that apply to the fields:
  • product is the product slug that the product’s scope catalog carries, such as plugin-br-pix-jd.
  • Write actions as lowercase HTTP verbs: get, post, put, patch, delete.
  • resources × actions is a full cross product. To give different actions on different resources, send more than one entry for the same product.
  • Access Manager refuses the wildcard * in resources, actions, and values. List the items.
  • A product in scope must also be in permissions.
  • A product whose scope catalog declares dimensions needs at least one scope entry on every partner with permissions on that product. Without one, Access Manager refuses to create or change the partner, with IDE-1060. A partner stored without one before this rule is refused with 403 on every request to that product, until you add a scope entry.
  • A dimension that the catalog marks as required needs a scope entry on every partner with permissions on that product, or Access Manager refuses with IDE-0001. A dimension without multi takes one value only, or Access Manager refuses with IDE-0002.
  • For a dimension that the catalog marks as explicit, a permission on that dimension’s collection needs a scope entry that lists its IDs. Without one, Access Manager refuses with IDE-1052. The partner reaches only the IDs you list.
  • Access Manager does not check that the values exist in the product. Use the identifiers that the product’s own API returns.
  • state is active or suspended, never expired. After validUntil, a read still returns the stored state.
  • After the partner’s validUntil date, Access Manager refuses its requests, also with a token it already holds, and refuses new tokens.

The IP allowlist field


ipAllowlist has three meanings on PATCH: On POST, omit the field or send null to use your tenant’s list. When a partner has its own IP list, that list replaces the tenant’s IP list for the partner’s requests. validFrom and validUntil work in a similar way on PATCH. Omit a bound to keep it, send an instant to set it, or send null to remove it.

Examples


Replace the placeholders with your Identity API base URL, your bearer token, and identifiers from your own deployment.

Create the partner’s applications


A partner calls a product with an application that belongs to it. After you create the partner:
  1. Create an application with Create an Application. Send the partner’s id in partnerId, and the product slug in target, such as plugin-br-pix-jd.
  2. The Identity API returns the client secret only in the response that creates the application. Store it then. If you lose the secret, delete the application and create a new one.
  3. Send the client ID and the secret to the partner through a secure channel.
  4. Repeat steps 1 to 3 for each product the partner calls. Create one application per product.
To list the applications of one partner, send its id in the partnerId query parameter of List Applications. If partnerId does not name a partner of your tenant, both operations return 404 with IDE-1046.

Change, suspend, or delete a partner


  • On PATCH, send only the fields you change. A permissions or a scope list replaces the stored list as a whole. Read the partner first, then send the complete new list.
  • To suspend a partner, send "state": "suspended". To reactivate it, send "state": "active".
  • Suspending a partner in Access Manager stops its access, including the tokens it already holds. Reactivating the partner inside its validity window restores access with the same credentials.
  • When a change applies says when the partner sees a change of permissions or scope.
  • You cannot delete a partner that still has applications. The response is 409 with IDE-1049, and its errors list names each blocking application with its client ID. Delete those applications first.
  • Deleting an application stops its tokens from working.

Error codes


Errors in the partner operations: For every other code, see the Access Manager error list.