Forward Networks User Accounts API

Manage user accounts

OpenAPI Specification

forward-networks-user-accounts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 'Forward Networks: Complete Aliases User Accounts API'
  description: Model and verify networks
  contact:
    email: support@forwardnetworks.com
  license:
    name: MIT
    url: https://spdx.org/licenses/MIT
  version: '26.6'
servers:
- url: /api
tags:
- name: User Accounts
  description: Manage user accounts
  summary: User Accounts
paths:
  /users:
    get:
      tags:
      - User Accounts
      summary: Get all user accounts
      operationId: getUsers
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Users'
      security:
      - api_token: []
    post:
      tags:
      - User Accounts
      summary: Create a user account
      description: Creates a new `LOCAL` user account.
      operationId: createUser
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewUser'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      security:
      - api_token: []
  /users/{userId}:
    get:
      tags:
      - User Accounts
      summary: Get a user account
      operationId: getUser
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      security:
      - api_token: []
    patch:
      tags:
      - User Accounts
      summary: Update a user account
      description: 'All JSON properties in the request body are optional. Include only the properties you wish to

        change.'
      operationId: updateUser
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserPatch'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      security:
      - api_token: []
    delete:
      tags:
      - User Accounts
      summary: Delete a user account
      description: '**Warning**: This operation *cannot* be undone.'
      operationId: deleteUser
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
          content: {}
      security:
      - api_token: []
components:
  schemas:
    NewUser:
      type: object
      required:
      - email
      - password
      properties:
        email:
          type: string
          examples:
          - me@example.com
        username:
          type: string
          description: Defaults to the value of `email`
          examples:
          - me@example.com
        password:
          type: string
          examples:
          - zF4H+K;5]qE~%9G=nbAk
        isSupport:
          type: boolean
          description: Defaults to `false`
          examples:
          - false
        enabled:
          type: boolean
          description: Defaults to `true`
          examples:
          - true
    User:
      type: object
      required:
      - id
      - username
      - enabled
      - authSource
      properties:
        id:
          type: string
          description: A system-generated identifier that can be used in API requests to manage this account
          examples:
          - '55555'
        username:
          type: string
          description: The identifier used to authenticate (log in) with this account
          examples:
          - me@example.com
        email:
          type: string
          description: The email address at which this user wishes to receive system-generated emails
          examples:
          - me@example.com
        enabled:
          type: boolean
          description: Whether authentication (login and API use) is currently permitted for this user account
        authSource:
          type: string
          description: How this user authenticates. `LOCAL` accounts exist only in the Forward Platform.
          examples:
          - SAML
          enum:
          - LOCAL
          - TACACS
          - SAML
          - LDAP
        externalGroups:
          type: array
          items:
            type: string
          description: 'The names of any LDAP or SSO (SAML) groups to which this account belongs. Updated each time this user

            authenticates.'
          examples:
          - - netops
        isSupport:
          type: boolean
          description: 'Whether this account belongs to Forward Networks support staff. `true` excludes the account from statistics

            shown on the Engagement dashboard.'
        lastActive:
          type: string
          description: The approximate time of the most recent authenticated request from this account
          examples:
          - '2024-12-31T23:59:59.789Z'
    UserPatch:
      type: object
      properties:
        email:
          type: string
          examples:
          - me@example.com
        username:
          type: string
          description: Changes the username of a user whose `authSource` is "LOCAL"
          examples:
          - me@example.com
        password:
          type: string
          description: 'Assigns a new temporary password to a user whose `authSource` is "LOCAL". The user will be prompted to

            choose a new password when they log in with this password.'
          examples:
          - zF4H+K;5]qE~%9G=nbAk
        isSupport:
          type: boolean
          examples:
          - false
        enabled:
          type: boolean
          examples:
          - true
    Users:
      type: object
      properties:
        users:
          type: array
          items:
            $ref: '#/components/schemas/User'
  securitySchemes:
    api_token:
      type: http
      scheme: basic