Blng User Tooltip API
The User Tooltip API from Blng — 2 operation(s) for user tooltip.
The User Tooltip API from Blng — 2 operation(s) for user tooltip.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/blng-user-tooltip-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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