June Users API
The Users API from June — 1 operation(s) for users.
The Users API from June — 1 operation(s) for users.
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/june-users-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: June Tracking Companies Users API
description: 'REST API for sending user behaviour data to June, including user identification, event tracking, company grouping, and page view recording. Compatible with the Segment tracking protocol. Uses Basic Authentication with a workspace write key.
'
version: 1.0.0
contact:
url: https://www.june.so/docs
termsOfService: https://www.june.so/privacy
servers:
- url: https://api.june.so/sdk
description: June Tracking API base
security:
- basicAuth: []
tags:
- name: Users
paths:
/identify:
post:
operationId: identifyUser
summary: Identify a user
description: 'Identifies a user and associates traits (attributes) with them. The API checks for an email key first in the main payload, then in traits. At least one of userId or anonymousId must be included.
'
tags:
- Users
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/IdentifyRequest'
example:
userId: user_12345
traits:
email: alice@example.com
name: Alice Smith
plan: pro
responses:
'200':
description: User identified successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'400':
description: Bad request — missing required fields or malformed payload.
'401':
description: Unauthorized — invalid or missing write key.
components:
schemas:
Context:
type: object
description: 'A dictionary of extra context to attach to the call. Differs from traits in that it is not user-specific attributes.
'
properties:
app:
type: object
description: Information about the application.
properties:
name:
type: string
version:
type: string
build:
type: string
campaign:
type: object
description: UTM campaign parameters.
properties:
name:
type: string
source:
type: string
medium:
type: string
term:
type: string
content:
type: string
device:
type: object
description: Device information.
properties:
type:
type: string
manufacturer:
type: string
model:
type: string
ip:
type: string
description: The user's IP address.
example: 203.0.113.42
locale:
type: string
description: The locale of the user (e.g., en-US).
example: en-US
os:
type: object
description: Operating system information.
properties:
name:
type: string
version:
type: string
referrer:
type: object
description: Referral information.
properties:
id:
type: string
type:
type: string
url:
type: string
screen:
type: object
description: Screen dimensions and density.
properties:
width:
type: integer
height:
type: integer
density:
type: number
timezone:
type: string
description: The user's timezone in tzdata format.
example: America/New_York
groupId:
type: string
description: The group or company identifier to associate the event with.
example: company_67890
additionalProperties: true
SuccessResponse:
type: object
properties:
status:
type: integer
example: 200
success:
type: boolean
example: true
IdentifyRequest:
type: object
properties:
userId:
type: string
description: 'The ID for this user in your database. At least one of userId or anonymousId must be provided.
'
example: user_12345
anonymousId:
type: string
description: 'An ID for the user when identity is unknown. At least one of userId or anonymousId must be provided.
'
example: anon_abc123
traits:
type: object
description: 'A dictionary of user attributes such as email, name, company, etc. The API checks for an email key first in the main payload, then in traits.
'
additionalProperties: true
example:
email: alice@example.com
name: Alice Smith
plan: pro
timestamp:
type: string
format: date-time
description: 'ISO 8601 date-time string representing when identification occurred. Defaults to server time if omitted.
'
example: '2026-06-12T10:00:00Z'
context:
$ref: '#/components/schemas/Context'
securitySchemes:
basicAuth:
type: http
scheme: basic
description: 'Provide your workspace write key as the username via HTTP Basic Auth. Obtain the write key from your June workspace settings.
'