Forward Networks Credentials API

Provide network device credentials needed for network collection

OpenAPI Specification

forward-networks-credentials-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 'Forward Networks: Complete Aliases Credentials 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: Credentials
  description: Provide network device credentials needed for network collection
  summary: Credentials
paths:
  /networks/{networkId}/cli-credentials:
    get:
      tags:
      - Credentials
      summary: Get all CLI credentials
      description: Substitutes a system-generated identifier for each sensitive `password`.
      operationId: getCliCredentials
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StoredCliCredential'
      security:
      - api_token: []
    post:
      tags:
      - Credentials
      summary: Create a CLI credential
      operationId: createCliCredential
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewCliCredential'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CliCredential'
      security:
      - api_token: []
    patch:
      tags:
      - Credentials
      summary: Create CLI credentials
      description: The response contains the same credentials as the request, in the same order.
      operationId: createCliCredentials
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NewCliCredential'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StoredCliCredential'
      security:
      - api_token: []
  /networks/{networkId}/cli-credentials/{credentialId}:
    get:
      tags:
      - Credentials
      summary: Get a CLI credential
      description: Substitutes a system-generated identifier for the sensitive `password`.
      operationId: getCliCredential
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      - name: credentialId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoredCliCredential'
      security:
      - api_token: []
    patch:
      tags:
      - Credentials
      summary: Update a CLI credential
      description: 'All JSON properties in the request body are optional. Include only the properties you wish to

        change.'
      operationId: patchCliCredential
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      - name: credentialId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CliCredentialUpdate'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoredCliCredential'
      security:
      - api_token: []
    delete:
      tags:
      - Credentials
      summary: Delete a CLI credential
      operationId: deleteCliCredential
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      - name: credentialId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
          content: {}
      security:
      - api_token: []
  /networks/{networkId}/http-credentials:
    get:
      tags:
      - Credentials
      summary: Get all HTTP credentials
      description: Substitutes a system-generated identifier for each sensitive `password`.
      operationId: getHttpCredentials
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StoredHttpCredential'
      security:
      - api_token: []
    post:
      tags:
      - Credentials
      summary: Create an HTTP credential
      operationId: createHttpCredential
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewHttpCredential'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpCredential'
      security:
      - api_token: []
    patch:
      tags:
      - Credentials
      summary: Create HTTP credentials
      description: The response contains the same credentials as the request, in the same order.
      operationId: createHttpCredentials
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NewHttpCredential'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StoredHttpCredential'
      security:
      - api_token: []
  /networks/{networkId}/http-credentials/{credentialId}:
    get:
      tags:
      - Credentials
      summary: Get an HTTP credential
      description: Substitutes a system-generated identifier for the sensitive `password`.
      operationId: getHttpCredential
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      - name: credentialId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoredHttpCredential'
      security:
      - api_token: []
    patch:
      tags:
      - Credentials
      summary: Update an HTTP credential
      description: 'All JSON properties in the request body are optional. Include only the properties you wish to

        change.'
      operationId: patchHttpCredential
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      - name: credentialId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HttpCredentialUpdate'
        required: true
      responses:
        '204':
          description: No Content
          content: {}
      security:
      - api_token: []
    delete:
      tags:
      - Credentials
      summary: Delete an HTTP credential
      operationId: deleteHttpCredential
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      - name: credentialId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
          content: {}
      security:
      - api_token: []
components:
  schemas:
    HttpCredential:
      type: object
      required:
      - type
      - name
      - password
      properties:
        id:
          type: string
          examples:
          - H-3
        type:
          $ref: '#/components/schemas/HttpCredentialType'
          examples:
          - LOGIN
        name:
          type: string
          description: For display purposes in the application
          examples:
          - admin (sjc)
        username:
          type: string
          description: Required for the `LOGIN` type
          examples:
          - admin
        password:
          type: string
          description: A system-generated identifier is substituted for the actual password in responses.
          examples:
          - my-s3cr3t-p4s$w0rd
        loginType:
          $ref: '#/components/schemas/LoginType'
          description: Required only for a credential of type `LOGIN` used by a Silver Peak Orchestrator
          examples:
          - LOCAL
        autoAssociate:
          type: boolean
          description: Defaults to true for the `LOGIN` type. Not allowed for the `API_KEY` type.
          examples:
          - false
    CliCredentialType:
      type: string
      enum:
      - LOGIN
      - PRIVILEGED_MODE
      - EXPERT_MODE
      - SHELL
    LoginType:
      type: string
      enum:
      - LOCAL
      - RADIUS
      - TACACS
      - OAUTH
      - JWT
      - SAML
    NewCliCredential:
      type: object
      required:
      - type
      - name
      - password
      properties:
        type:
          $ref: '#/components/schemas/CliCredentialType'
          examples:
          - LOGIN
        name:
          type: string
          description: For display purposes in the application
          examples:
          - admin (sjc)
        username:
          type: string
          description: Required for `LOGIN` and `SHELL` types
          examples:
          - admin
        password:
          type: string
          examples:
          - my-s3cr3t-p4s$w0rd
        privilegedModePasswordId:
          type: string
          description: 'Only valid for `LOGIN` type. If set, only this credential will be used on devices that require a privileged

            mode password during a connectivity test or collection. If a privileged mode password is specified both here

            and in a `ClassicDevice`, the one in the `ClassicDevice` will be used.'
          examples:
          - 31d70f9f-a279-44ac-a621-ab3181966ad8
        privilegeLevel:
          type: integer
          format: int32
          description: 'Only valid for `PRIVILEGED_MODE` type. On Checkpoint devices, this is used as the TACACS privilege level, as

            in TACP-15. For Cisco, Dell, and HP Provision devices, this is used as the enable level. For HP Comware, this

            is used as the super level. If absent, the highest privilege level will be used. Has no effect for other kinds

            of devices.'
          examples:
          - 15
        autoAssociate:
          type: boolean
          description: 'Whether this credential can be attempted on devices not explicitly configured to use it.

            Defaults to true.'
    CliCredential:
      type: object
      required:
      - type
      - name
      - password
      properties:
        id:
          type: string
          examples:
          - L-3
        type:
          $ref: '#/components/schemas/CliCredentialType'
          examples:
          - LOGIN
        name:
          type: string
          description: For display purposes in the application
          examples:
          - admin (sjc)
        username:
          type: string
          description: Required for `LOGIN` and `SHELL` types
          examples:
          - admin
        password:
          type: string
          description: A system-generated identifier is substituted for the actual password in responses.
          examples:
          - my-s3cr3t-p4s$w0rd
        privilegedModePasswordId:
          type: string
          description: 'Only valid for `LOGIN` type. If set, only this credential will be used on devices that require a privileged

            mode password during a connectivity test or collection. If a privileged mode password is specified both here

            and in a `ClassicDevice`, the one in the `ClassicDevice` will be used.'
          examples:
          - PM-6
        privilegeLevel:
          type: integer
          format: int32
          description: 'Only valid for `PRIVILEGED_MODE` type. On Checkpoint devices, this is used as the TACACS privilege level, as

            in TACP-15. For Cisco, Dell, and HP Provision devices, this is used as the enable level. For HP Comware, this

            is used as the super level. If absent, the highest privilege level will be used. Has no effect for other kinds

            of devices.'
          examples:
          - 15
        autoAssociate:
          type: boolean
          description: 'Whether this credential can be attempted on devices not explicitly configured to use it.

            Defaults to true.'
    HttpCredentialUpdate:
      type: object
      required:
      - name
      - password
      properties:
        name:
          type: string
          description: For display purposes in the application
          examples:
          - admin (sjc)
        username:
          type: string
          description: Required for the `LOGIN` type
          examples:
          - admin
        password:
          type: string
          examples:
          - my-s3cr3t-p4s$w0rd
        loginType:
          $ref: '#/components/schemas/LoginType'
          description: Required only for a credential of type `LOGIN` used by a Silver Peak Orchestrator
          examples:
          - LOCAL
        autoAssociate:
          type: boolean
          description: Defaults to true for the `LOGIN` type. Not allowed for the `API_KEY` type.
          examples:
          - false
    CliCredentialUpdate:
      type: object
      properties:
        name:
          type: string
          description: For display purposes in the application
          examples:
          - admin (sjc)
        username:
          type: string
          description: for `LOGIN` and `SHELL` types
          examples:
          - admin
        password:
          type: string
          examples:
          - my-s3cr3t-p4s$w0rd
        privilegedModePasswordId:
          type: string
          description: 'Only valid for `LOGIN` type. If set, only this credential will be used on devices that require a privileged

            mode password during a connectivity test or collection. If a privileged mode password is specified both here

            and in a `ClassicDevice`, the one in the `ClassicDevice` will be used.'
          examples:
          - 31d70f9f-a279-44ac-a621-ab3181966ad8
        privilegeLevel:
          type: integer
          format: int32
          description: 'Only valid for `PRIVILEGED_MODE` type. On Checkpoint devices, this is used as the TACACS privilege level, as

            in TACP-15. For Cisco, Dell, and HP Provision devices, this is used as the enable level. For HP Comware, this

            is used as the super level. If absent, the highest privilege level will be used. Has no effect for other kinds

            of devices.'
          examples:
          - 15
        autoAssociate:
          type: boolean
          description: Only supported for `LOGIN`, `PRIVILEGED_MODE`, and `SHELL` types.
    Attribution:
      type: object
      properties:
        createdById:
          type: string
          description: 'The ID of the user who created this entity, if known. *Note*: The referenced user account might no longer

            exist since an administrator can delete accounts.'
          examples:
          - '456'
        createdAt:
          type: string
          description: When this entity was created, if known.
          examples:
          - '2021-12-29T16:30:45.111Z'
        createdBy:
          type: string
          description: 'The username of the user who created this entity, if known. Absent if the user account has been

            deleted.'
          examples:
          - me@example.com
        updatedById:
          type: string
          description: 'The ID of the user who most recently updated this entity, if known. *Note*: The referenced user account

            might no longer exist since an administrator can delete accounts.'
          examples:
          - '789'
        updatedAt:
          type: string
          description: When this entity was most recently updated, if known.
          examples:
          - '2024-10-27T21:44:51.345Z'
        updatedBy:
          type: string
          description: 'The username of the user who most recently updated this entity, if known. Absent if the user account has

            been deleted.'
          examples:
          - you@example.com
    NewHttpCredential:
      type: object
      required:
      - type
      - name
      - password
      properties:
        type:
          $ref: '#/components/schemas/HttpCredentialType'
          examples:
          - LOGIN
        name:
          type: string
          description: For display purposes in the application
          examples:
          - admin (sjc)
        username:
          type: string
          description: Required for the `LOGIN` type
          examples:
          - admin
        password:
          type: string
          examples:
          - my-s3cr3t-p4s$w0rd
        loginType:
          $ref: '#/components/schemas/LoginType'
          description: Required only for a credential of type `LOGIN` used by a Silver Peak Orchestrator
          examples:
          - LOCAL
        autoAssociate:
          type: boolean
          description: Defaults to true for the `LOGIN` type. Not allowed for the `API_KEY` type.
          examples:
          - false
    HttpCredentialType:
      type: string
      enum:
      - LOGIN
      - API_KEY
    StoredCliCredential:
      allOf:
      - $ref: '#/components/schemas/CliCredential'
      - $ref: '#/components/schemas/Attribution'
    StoredHttpCredential:
      allOf:
      - $ref: '#/components/schemas/HttpCredential'
      - $ref: '#/components/schemas/Attribution'
  securitySchemes:
    api_token:
      type: http
      scheme: basic