Skip to content

Partner Entities

Partner Entities are resources created on a Partner's platform that emit data back to Alli, usually using Alli Datasources. Creating and registering Partner Entities allows Alli to look up usage data from that entity so that users can be billed accordingly.

Entity Registration

In order for usage to be tracked and billed against an entity, it must first be registered using the Alli Partners API. To authenticate as a Partner admin, callers can use the OAuth client created in the Partner admin portal: Alli homepage → Menu ( ☰) → Partners → Partner Name → Settings → OAuth Clients. The registration endpoint expects an installation_id, which describes the client's installation of an extension. There are a few ways to get this:

  1. Calling the Alli Partners API. A Partner can choose an installation from the list with which they want to associate the entity.
  2. Via SSO extension. If the SSO login URL is configured with the {installation} placeholder, users who launch an SSO extension to log in to a Partner platform will also send the Partner platform the installation_id upon redirect. Note: the installation_id for this method will reflect the id of the SSO extension installation.

Entity Fields

Each entity has two required fields:

entity_id - the Partner extension's identifier for the entity, limited to 100 characters.

entity_type - describes what kind of thing the entity is. This is an enum chosen from the supported entity types.

Optionally, Partners can provide the following field:

attributes - a string-to-string map that describes the entity. Each key must be declared in the app manifest's usage configuration to pass validation.

Entity Types

Supported values for entity_type are:

  • audience

Registration Example

An audience-vendor Partner wants to deploy audiences to various platforms and bill against the usage data that comes back into Alli. The Partner would update their service to call Alli's partner API to register the entity/entities:

{
  "entities": [
    {
      "entity_id": "aud-1234",
      "entity_type": "audience",
      "attributes": {
        "size": "1200000",
        "model": "lookalike-v3"
      }
    },
    {
      "entity_id": "aud-5678",
      "entity_type": "audience",
      "attributes": {
        "size": "48000",
        "model": "in-market-v1"
      }
    }
  ]
}