Blng User Tooltip API

The User Tooltip API from Blng — 2 operation(s) for user tooltip.

Operations 2

GET /users/{userId}/tooltips get tooltips to show to a user
POST /users/{userId}/tooltips/resetAll Resets all viewed tooltips for a user

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/blng-user-tooltip-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

blng-user-tooltip-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: User Tooltip API
  description: Api to manage roles and permissions of users
  version: 1.0.0
servers:
- url: https://users.blng.ai
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: User Tooltip
paths:
  /users/{userId}/tooltips:
    get:
      tags:
      - User Tooltip
      summary: get tooltips to show to a user
      security:
      - cognitoUserAuth:
        - openid
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
          description: Unique identifier for the User
      - name: device
        in: query
        schema:
          type: string
          description: Device type the tooltips are being requested for
          default: web
          enum:
          - web
          - ios
          - ipad
      - name: includeViewed
        in: query
        schema:
          type: boolean
          description: Whether to include already viewed tooltip flows or not in the response
          default: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooltipResponse'
        '400':
          description: Bad Request
        '404':
          description: User not found
        '500':
          description: Internal Server Error
  /users/{userId}/tooltips/resetAll:
    post:
      tags:
      - User Tooltip
      summary: Resets all viewed tooltips for a user
      security:
      - cognitoUserAuth:
        - openid
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
          description: Unique identifier for the User
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '400':
          description: Bad Request
        '404':
          description: User not found
        '500':
          description: Internal Server Error
components:
  schemas:
    UserTooltipFlow:
      type: object
      properties:
        id:
          type: string
          description: Unique id for the flow
        name:
          type: string
          description: Name of the flow
        pages:
          type: array
          description: What pages/views the tooltip flow is designed for
          items:
            type: string
        devices:
          type: array
          description: What devices the tooltip flow is designed for
          items:
            type: string
            enum:
            - web
            - ios
            - ipad
        tooltipRegistrations:
          type: array
          items:
            $ref: '#/components/schemas/TooltipRegistration'
        seenByUser:
          type: boolean
          description: Whether this tooltip flow was seen by the user or not
    TooltipRegistration:
      type: object
      properties:
        tooltip:
          $ref: '#/components/schemas/Tooltip'
        attachmentPoint:
          type: object
          description: How the tooltip will be attached to the interface for different devices
          properties:
            web:
              type: object
              properties:
                dataTooltip:
                  type: string
                  description: data-tooltip attribute that this tooltip will attach to
                side:
                  type: string
                  enum:
                  - top
                  - right
                  - bottom
                  - left
                  - over
                align:
                  type: string
                  enum:
                  - start
                  - center
                  - end
            ios:
              type: object
            ipad:
              type: object
    TooltipResponse:
      type: object
      properties:
        tooltipFlows:
          type: array
          items:
            $ref: '#/components/schemas/UserTooltipFlow'
    Tooltip:
      type: object
      properties:
        id:
          type: string
          description: Unique id for the tooltip
        name:
          type: string
          description: Name of the tooltip
        icon:
          type: string
          description: Icon to show next to the title
        title:
          type: string
          description: Title for the tooltip
        description:
          type: string
          description: Contents for the tooltip
    User:
      type: object
      properties:
        userId:
          type: string
          description: Unique identifier for the user
        email:
          type: string
          description: Email of the user
        firstName:
          type: string
          description: First name of the user
        lastName:
          type: string
          description: Last name of the user
        companyName:
          type: string
          description: Optional company name (app metadata, not auth)
        profilePictureUrl:
          type: string
          description: Profile image URL (e.g. from federated IdP), synced on login
        stripeCustomerId:
          type: string
          description: Stripe customer ID
        createdAt:
          type: string
          format: date-time
          description: Timestamp of when the user was created
        updatedAt:
          type: string
          format: date-time
          description: Timestamp of the last update to user
        welcomeEmailSent:
          type: boolean
          description: Whether the welcome email has been sent
          deprecated: true
        welcomeEmailStatus:
          type: string
          enum:
          - SENT
          - NOT_SENT
          - IN_PROGRESS
          description: Status of the welcome email
        tooltipFlowIdsViewed:
          type: array
          items:
            type: string
          description: Id of all tooltip flows marked as viewed
        activeWorkspaceId:
          type: string
          format: uuid
          description: Current workspace context (multi-tenancy); set via PUT /users/{userId}/active-workspace
        allowedWorkspaces:
          type: integer
          minimum: 1
          description: 'Ops-only override (DynamoDB): max workspaces this user may own via POST /users/{userId}/workspaces. Omitted on normal users; overrides the stage default (typically 3). Not settable via public PUT /users.'
        marketingConsent:
          $ref: '#/components/schemas/MarketingConsentReceipt'
        marketingConsentPromptedAt:
          type: string
          format: date-time
          description: Set when the one-time consent prompt was shown and closed without an answer. Suppresses further prompting without recording a choice the user never made. Mutually exclusive with marketingConsent. Set via PUT /users/{userId}/marketing-consent.
        signUpPending:
          type: boolean
          enum:
          - true
          description: Present only while an account is still going through sign-up and has not resolved the marketing consent ask. Written by account creation, cleared by the first consent write, and absent on every row created before it was introduced. Not settable via any API.
    MarketingConsentReceipt:
      type: object
      description: Marketing opt-in receipt (GDPR consent provenance). Present only for users who made an explicit choice; optIn records that choice either way. Synced to HubSpot as the marketing_opt_in contact property. Absent for users who have never been asked or who dismissed the prompt.
      required:
      - optIn
      - timestamp
      - wordingVersion
      - captureLocation
      properties:
        optIn:
          type: boolean
          description: The user's choice
        timestamp:
          type: string
          format: date-time
          description: When the choice was captured. Server-stamped; never accepted from the caller.
        wordingVersion:
          type: string
          description: Version tag of the exact consent wording shown, so the receipt survives copy changes
        captureLocation:
          type: string
          description: Which surface captured the choice. `email-unsubscribe` and `email-spam-complaint` are withdrawals the recipient made against mail we sent, the first through an unsubscribe link and the second by reporting it to their provider. Both are recorded from the CRM's own subscription-change events rather than through this API.
          enum:
          - signup
          - first-login-prompt
          - settings
          - email-unsubscribe
          - email-spam-complaint
  securitySchemes:
    cognitoUserAuth:
      type: oauth2
      description: Cognito authorization code flow for users
      flows:
        implicit:
          authorizationUrl: https://auth.app.blng.ai/oauth2/authorize
          scopes:
            email: email
            profile: profile
            openid: openid
            aws.cognito.signin.user.admin: aws.cognito.signin.user.admin
    machineBearerToken:
      type: http
      description: 'Cognito authorization code flow for billing token, request token with command like `curl -X POST https://auth.app.blng.ai/oauth2/token -H "Content-Type: application/x-www-form-urlencoded" -d "grant_type=client_credentials&client_id=7arq76lejqmgq3qc556vr7rupn&client_secret=CLIENT_SECRET&scope=blng/billing"`

        '
      scheme: bearer
      bearerFormat: JWT Access Token