Attentive Identity API

Use the Identity API to manage user identifiers. With this API, you can programmatically add a client user identifier or custom identifier(s) to a user. You should only use clientUserId and customIdentifiers to send Attentive your system-assigned unique identifiers (even when testing). Notes: - Sending duplicate values could lead to unintentionally bridging users together. - Don't use customIdentifiers to send attributes (e.g., first name, last name). To send those types of attributes, use our [Custom Attributes API](https://docs.attentivemobile.com/openapi/reference/tag/Custom-Attributes/). - Avoid sending null values or empty strings. If you don't have a valid identifier, you should omit the field from the payload.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/attentive-identity-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

attentive-identity-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  version: "1.0"
  description: For any questions, reach out to your Attentive point of contact (if applicable) or [api@attentivemobile.com](mailto:api@attentivemobile.com).
  title: Attentive Access Token Identity API
servers:
- url: https://api.attentivemobile.com/v1
  description: Attentive API
security:
- bearerAuth: []
tags:
- name: Identity
  description: "Use the Identity API to manage user identifiers. With this API, you can programmatically add a client user identifier or custom identifier(s) to a user.\nYou should only use clientUserId and customIdentifiers to send Attentive your system-assigned unique identifiers (even when testing).\n\nNotes:\n  - Sending duplicate values could lead to unintentionally bridging users together.\n  - Don't use customIdentifiers to send attributes (e.g., first name, last name). To send those types of attributes,\n    use our [Custom Attributes API](https://docs.attentivemobile.com/openapi/reference/tag/Custom-Attributes/).\n  - Avoid sending null values or empty strings. If you don't have a valid identifier, you should omit the field\n    from the payload.\n"
  x-beta: true
paths:
  /identity-resolution/user-identifiers:
    post:
      x-external: true
      x-emits-event: false
      security:
      - OAuthFlow:
        - identity:write
      summary: Add a client user identifier or custom identifier(s) to a user
      description: 'Make a call to this endpoint to associate a client user identifier or custom identifier(s) with other identifiers. A client user or custom identifier needs to be accompanied by at least one other identifier of the following types: phone, email, shopify id, klaviyo id, client user identifier, or custom identifier.

        '
      operationId: identify
      tags:
      - Identity
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdentifyRequestDto'
      responses:
        '202':
          description: Request processed.
        '400':
          $ref: '#/components/responses/InvalidParameter'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  schemas:
    CustomIdentifierDto1:
      type: object
      properties:
        name:
          type: string
          example: loyaltyId
        value:
          type: string
          example: '1122334455'
      required:
      - name
      - value
    IdentifyRequestDto:
      type: object
      properties:
        phone:
          type: string
          description: Phone number used to associate a client user identifier or custom identifier(s) with a user. [E.164 format](https://en.wikipedia.org/wiki/E.164) is required.
          example: '+13115552368'
        email:
          type: string
          description: Email used to associate a client user identifier or custom identifier(s) with a user. There is a 100 character limit.
          example: sample-email@attentivemobile.com
        shopifyId:
          type: string
          description: Shopify Id used to associate a client user identifier or custom identifier(s) with a user. There is a 100 character limit.
          example: 123456789000
        klaviyoId:
          type: string
          description: Klaviyo Id used to associate a client user identifier or custom identifier(s) with a user. There is a 100 character limit.
          example: 0123456789ABCDEFGHIJKLMNOP
        clientUserId:
          type: string
          description: 'Client user identifier to be associated with a user through a phone, email, shopify id, klaviyo id, or custom identifier. This is a freeform field and can accept any string input. Please do NOT put shopify ids or klaviyo ids here, there are dedicated fields for those identifiers. There is a 100 character limit.

            '
          example: '123456'
        customIdentifiers:
          type: array
          items:
            $ref: '#/components/schemas/CustomIdentifierDto1'
          description: Custom identifier(s) to be associated with a user through a phone, email, shopify id, klaviyo id, client user identifier, or another custom identifier. There is a 100 character limit.
  responses:
    InvalidParameter:
      description: Invalid parameter in request query or body
    TooManyRequests:
      description: The user has sent too many requests in a given amount of time
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    OAuthFlow:
      type: oauth2
      description: This API uses OAuth 2 with the authorization code grant flow. [More info](https://docs.attentivemobile.com/pages/authentication/)
      flows:
        authorizationCode:
          authorizationUrl: https://ui-devel.attentivemobile.com/integrations/oauth-install?client_id={clientId}&redirect_uri={redirectUri}&scope={scope}
          tokenUrl: https://api.attentivemobile.com/v1/authorization-codes/tokens
          scopes:
            attributes:write: read and write custom attributes
            subscriptions:write: read and write subscriptions
            events:write: read and write custom events
            ecommerce:write: read and write ecommerce events
            segments:write: read and write segments
            segments:read: read segments
x-readme:
  explorer-enabled: false