openapi: 3.0.3
info:
title: LISNR Portal API (observed) Accounts Users API
version: v2
description: 'Unofficial OpenAPI description of the LISNR Portal API, DERIVED by the API Evangelist enrichment pipeline from the first-party LISNR Portal single-page application bundle (https://portal.lisnr.com/scripts/script.865ef81c.js, build 2025-12-16). Paths, HTTP methods, path/query parameters, the `Authorization: JWT <token>` scheme and the `{ result: ... }` response envelope are all OBSERVED from that first-party client. Request and response body schemas are NOT described here because LISNR does not publish them; nothing has been invented. LISNR publishes an official OpenAPI only for the Tones Service API (see openapi/lisnr-tones-openapi-original.json).'
contact:
name: LISNR Technical Support
email: techsupport@lisnr.com
x-apievangelist-provenance:
method: derived
source: https://portal.lisnr.com/scripts/script.865ef81c.js
config_source: https://portal.lisnr.com/config.js
build: '2025-12-16T18:23:14Z'
note: Observed client surface, not a LISNR-published specification.
servers:
- url: https://api.lisnr.com
description: LISNR Portal API (apiBaseURL from portal config.js)
security:
- jwtToken: []
tags:
- name: Users
paths:
/v2/users/:
get:
operationId: listUsers
summary: List users on the account
tags:
- Users
responses:
'200':
description: Success. Payload is returned on the `result` property of the response envelope.
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'401':
description: Authentication credentials were not provided, or are not valid.
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'403':
description: Forbidden.
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
parameters:
- name: limit
in: query
required: false
schema:
type: integer
security:
- jwtToken: []
post:
operationId: createUser
summary: Create a user on the account
tags:
- Users
responses:
'200':
description: Success. Payload is returned on the `result` property of the response envelope.
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'401':
description: Authentication credentials were not provided, or are not valid.
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'403':
description: Forbidden.
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
security:
- jwtToken: []
/v2/users/me:
get:
operationId: getCurrentUser
summary: Get the authenticated user
tags:
- Users
responses:
'200':
description: Success. Payload is returned on the `result` property of the response envelope.
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'401':
description: Authentication credentials were not provided, or are not valid.
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'403':
description: Forbidden.
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
security:
- jwtToken: []
/v2/users/{id}:
get:
operationId: getUser
summary: Get a user by id
tags:
- Users
responses:
'200':
description: Success. Payload is returned on the `result` property of the response envelope.
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'401':
description: Authentication credentials were not provided, or are not valid.
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'403':
description: Forbidden.
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
parameters:
- name: id
in: path
required: true
schema:
type: string
security:
- jwtToken: []
put:
operationId: updateUser
summary: Update a user
tags:
- Users
responses:
'200':
description: Success. Payload is returned on the `result` property of the response envelope.
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'401':
description: Authentication credentials were not provided, or are not valid.
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'403':
description: Forbidden.
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
description: Used by the portal to toggle a user's enabled state and to set a password.
parameters:
- name: id
in: path
required: true
schema:
type: string
security:
- jwtToken: []
components:
schemas:
Envelope:
type: object
description: LISNR response envelope. Successful payloads and error messages are both carried on `result`.
properties:
result:
description: Response payload; an object, an array, or an object carrying a `message` string on errors.
securitySchemes:
jwtToken:
type: apiKey
in: header
name: Authorization
description: 'A LISNR JWT prefixed with the literal string `JWT `, e.g. `Authorization: JWT eyJ...`.'