Identifiers and URLs

All objects in the API have an id field indicating their logical identifier. Some objects may optionally also have a self field that indicates a URL or canonical address for the object.

ParameterDescription
idA string that identifies the object within the API. The id field will not be larger than 128 characters (in SQL it corresponds to a varchar(128)).
selfA URL that addresses the object within the API. The self field will not be larger than 255 characters (in SQL it corresponds to a varchar(255)).

These fields must always be treated as opaque strings - no guarantees are made about the internal structure of the id or self fields for an object.

The id field is always defined by the API server and is guaranteed to be unique relative to the type field - this means no two user objects will have the same id field, but a user and a company may have the same value for their id fields. . Some object types (such as User), also support client defined identifiers.

The company and user objects deserve special mention when it comes to identity for two reasons -

  • They allow you send your own external identifiers - email and user_id for users and company_id for companies.
  • The user id field is in some cases, aliased to intercom_user_id. This is done to distinguish it from other identifiers in the API and to avoid confusion as to which object type an id denotes.