LISNR Authentication API

The Authentication API from LISNR — 5 operation(s) for authentication.

OpenAPI Specification

lisnr-authentication-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: LISNR Portal API (observed) Accounts Authentication 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: Authentication
paths:
  /v2/auth/login:
    post:
      operationId: login
      summary: Authenticate a portal user
      tags:
      - Authentication
      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: Exchange username + password for a JWT bearer token.
      security: []
  /v2/auth/password/reset:
    post:
      operationId: forgotPassword
      summary: Request a password reset
      tags:
      - Authentication
      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: Send a password reset email for the given username.
      security: []
  /v2/auth/password/reset/{token}:
    post:
      operationId: confirmPasswordReset
      summary: Complete a password reset
      tags:
      - Authentication
      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: Complete a password reset using the emailed token.
      parameters:
      - name: token
        in: path
        required: true
        schema:
          type: string
      security: []
  /v2/auth/password/change:
    post:
      operationId: changePassword
      summary: Change the current user's password
      tags:
      - Authentication
      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/auth/customer-agreement/accept:
    post:
      operationId: acceptCustomerAgreement
      summary: Accept the customer agreement
      tags:
      - Authentication
      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: Accept the LISNR customer agreement by supplying initials.
      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...`.'