Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.
openapi: 3.2.0
info:
title: Heffl Public API (Legacy v1) Users API
version: 1.0.0
description: Legacy Heffl REST API v1. Maintained for existing integrations. For new projects, use API v2 at https://docs.heffl.com/api-v2/introduction.
contact:
name: Heffl Support
url: https://heffl.com/support
email: support@heffl.com
servers:
- url: https://api.heffl.com/api/v1
description: Production API Server
security:
- ApiKeyAuth: []
tags:
- name: Users
paths:
/users:
get:
operationId: legacy.users.list
summary: List users
description: Returns a paginated list of users who belong to the API key's team.
tags:
- Users
parameters:
- in: query
name: cursor
schema:
type: string
description: Cursor for pagination. Pass the previous response nextCursor value to fetch the next page.
- in: query
name: limit
schema:
type: number
minimum: 1
maximum: 100
default: 20
description: Number of items to return (max 100)
- in: query
name: search
schema:
type: string
default: ''
description: Search by first name, last name, or email
- in: query
name: active
schema:
type: boolean
description: Filter by active team membership status
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
type: object
properties:
id:
type: string
description: User public ID
firstName:
type: string
description: First name
lastName:
anyOf:
- type: string
- type: 'null'
description: Last name
email:
type: string
description: Email address
jobTitle:
anyOf:
- type: string
- type: 'null'
description: Job title
role:
type: string
description: Team role
createdAt:
type: string
format: date-time
description: When the user was created
required:
- id
- firstName
- email
- role
- createdAt
additionalProperties: false
nextCursor:
anyOf:
- type: string
- type: 'null'
description: Cursor to fetch the next page. Null if there are no more results.
hasMore:
type: boolean
description: Whether additional results are available
required:
- items
- hasMore
additionalProperties: false
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: x-api-key
description: API key for authentication. Get yours at app.heffl.com/settings/developers