Progress Software Credential API

The Credential API from Progress Software — 7 operation(s) for credential.

Operations 12

GET /api/v1/credentials/{credentialId} Return a credential #
PUT /api/v1/credentials/{credentialId} Update credential with new values #
DELETE /api/v1/credentials/{credentialId} Remove credential from credential library #
GET /api/v1/credentials/{credentialId}/assignments/- Return a credential #
DELETE /api/v1/credentials/{credentialId}/assignments/- Remove assigned credential from all devices user has access to #
GET /api/v1/credentials/- Return page of credentials from credential library #
POST /api/v1/credentials/- Add credential to library #
GET /api/v1/credentials/-/helper Return information to help creating credential #
GET /api/v1/credentials/-/assignments/- Return information about credential assignments #
GET /api/v1/credentials/{credentialId}/config/template Return a template for a credential #
GET /api/v1/credentials/-/config/template Return set of credential templates #
PATCH /api/v1/credentials/-/config/template Apply credential templates #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/progress-software-credential-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

progress-software-credential-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: v1
  title: WhatsUp Gold Credential API
  x-logo:
    url: images/wug_logo.svg
  description: '**Version 2026.0**


    *Use WhatsUp Gold REST API to deploy network and device monitoring and management scripts.*


    !'
servers:
- url: https://10.40.67.158:9644
tags:
- name: Credential
paths:
  /api/v1/credentials/{credentialId}:
    get:
      tags:
      - Credential
      summary: Return a credential
      operationId: Credential_Get
      parameters:
      - name: credentialId
        in: path
        description: ID of the credential
        required: true
        schema:
          type: string
      - name: view
        in: query
        description: type of credential information being requested, default=basic
        required: false
        schema:
          type: string
          enum:
          - id
          - basic
          - summary
          - details
      - name: Authorization
        in: header
        description: oauth2 access_token
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_Credential'
            text/json:
              schema:
                $ref: '#/components/schemas/Result_Credential'
      security:
      - oauth2: []
    put:
      tags:
      - Credential
      summary: Update credential with new values
      description: 'The following fields have restrictions

        * Name - must be unique, lowercase compare


        **Note:** The property bag entries are minimally validated.

        It is the responsibility of the caller to ensure a credential is filled in with all data and usable.'
      operationId: Credential_UpdateCredential
      parameters:
      - name: credentialId
        in: path
        description: ID of credential to be modified
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        description: oauth2 access_token
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResult'
            text/json:
              schema:
                $ref: '#/components/schemas/SuccessResult'
      security:
      - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CredentialModify'
          text/json:
            schema:
              $ref: '#/components/schemas/CredentialModify'
        description: new values for credential
        required: true
    delete:
      tags:
      - Credential
      summary: Remove credential from credential library
      operationId: Credential_DeleteCredential
      parameters:
      - name: credentialId
        in: path
        description: ID of the credential
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        description: oauth2 access_token
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResult'
            text/json:
              schema:
                $ref: '#/components/schemas/SuccessResult'
      security:
      - oauth2: []
  /api/v1/credentials/{credentialId}/assignments/-:
    get:
      tags:
      - Credential
      summary: Return a credential
      operationId: Credential_GetAssignments
      parameters:
      - name: credentialId
        in: path
        description: ID of the credential
        required: true
        schema:
          type: string
      - name: view
        in: query
        description: type of credential information being requested, default=basic
        required: false
        schema:
          type: string
          enum:
          - id
          - basic
          - summary
          - details
      - name: deviceView
        in: query
        description: type of assigned device information to be returned, default=id
        required: false
        schema:
          type: string
          enum:
          - id
          - basic
          - card
          - overview
      - name: pageId
        in: query
        description: page for the device assignments. Paging is only used for assignment view
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: number of device assignments to include per page
        required: false
        schema:
          type: integer
          format: int32
      - name: Authorization
        in: header
        description: oauth2 access_token
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageResult_Credential'
            text/json:
              schema:
                $ref: '#/components/schemas/PageResult_Credential'
      security:
      - oauth2: []
    delete:
      tags:
      - Credential
      summary: Remove assigned credential from all devices user has access to
      operationId: Credential_RemoveCredentialFromAllDevice
      parameters:
      - name: credentialId
        in: path
        description: ID for credential to be unassigned
        required: true
        schema:
          type: string
      - name: preventOrphanActiveMonitors
        in: query
        description: prevent operation if an active monitor will be orphaned, default=true
        required: false
        schema:
          type: boolean
      - name: Authorization
        in: header
        description: oauth2 access_token
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CountedSuccessResult'
            text/json:
              schema:
                $ref: '#/components/schemas/CountedSuccessResult'
      security:
      - oauth2: []
  /api/v1/credentials/-:
    get:
      tags:
      - Credential
      summary: Return page of credentials from credential library
      operationId: Credential_Find
      parameters:
      - name: view
        in: query
        description: type of credential information being requested, default=basic
        required: false
        schema:
          type: string
          enum:
          - id
          - basic
          - summary
          - details
      - name: type
        in: query
        description: filter for type of credential. Default=all
        required: false
        schema:
          type: string
          enum:
          - all
          - snmpV1
          - snmpV2
          - snmpV3
          - windows
          - ado
          - telnet
          - ssh
          - vmware
          - jmx
          - smis
          - aws
          - azure
          - meraki
          - restapi
          - ubiquiti
          - redfish
      - name: search
        in: query
        description: return only credentials that contain this string in display name, description or type. Case-insensitive, empty value is ignored
        required: false
        schema:
          type: string
      - name: pageId
        in: query
        description: the pageId, empty will return first page
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page
        required: false
        schema:
          type: integer
          format: int32
      - name: Authorization
        in: header
        description: oauth2 access_token
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageResult_List_Credential'
            text/json:
              schema:
                $ref: '#/components/schemas/PageResult_List_Credential'
      security:
      - oauth2: []
    post:
      tags:
      - Credential
      summary: Add credential to library
      description: 'The following field has restrictions

        **Name** - must be unique within type, lowercase compare


        **Note:** The property bag entries are minimally validated.

        It is the responsibility of the caller to ensure a credential is filled in with all data and usable.'
      operationId: Credential_AddCredential
      parameters:
      - name: Authorization
        in: header
        description: oauth2 access_token
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_Credential'
            text/json:
              schema:
                $ref: '#/components/schemas/Result_Credential'
      security:
      - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CredentialAdd'
          text/json:
            schema:
              $ref: '#/components/schemas/CredentialAdd'
        description: new values for credential
        required: true
  /api/v1/credentials/-/helper:
    get:
      tags:
      - Credential
      summary: Return information to help creating credential
      description: '''meraki_organization'' helper

        * input - API key for the organization.

        * return - list of information needed to build a Cisco Meraki credential.'
      operationId: Credential_GetHelper
      parameters:
      - name: input
        in: query
        description: optional input field for the helper
        required: true
        schema:
          type: string
      - name: type
        in: query
        description: Type of credential helper request should be sent to, default='meraki_organization'
        required: false
        schema:
          type: string
          enum:
          - meraki_organization
      - name: Authorization
        in: header
        description: oauth2 access_token
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_CredentialHelperResults'
            text/json:
              schema:
                $ref: '#/components/schemas/Result_CredentialHelperResults'
      security:
      - oauth2: []
  /api/v1/credentials/-/assignments/-:
    get:
      tags:
      - Credential
      summary: Return information about credential assignments
      operationId: Credential_FindAssignments
      parameters:
      - name: view
        in: query
        description: type of credential information being requested, default=basic
        required: false
        schema:
          type: string
          enum:
          - id
          - basic
          - summary
          - details
      - name: type
        in: query
        description: filter for type of credential. default=all
        required: false
        schema:
          type: string
          enum:
          - all
          - snmpV1
          - snmpV2
          - snmpV3
          - windows
          - ado
          - telnet
          - ssh
          - vmware
          - jmx
          - smis
          - aws
          - azure
          - meraki
          - restapi
          - ubiquiti
          - redfish
      - name: search
        in: query
        description: return only credentials that contain this string in display name, description or type. Case-insensitive, empty value is ignored
        required: false
        schema:
          type: string
      - name: deviceView
        in: query
        description: level of device information to be included when 'includeAssignments' is true, default='id'
        required: false
        schema:
          type: string
          enum:
          - id
          - basic
          - card
          - overview
      - name: pageId
        in: query
        description: the pageId, empty will return first page
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page
        required: false
        schema:
          type: integer
          format: int32
      - name: Authorization
        in: header
        description: oauth2 access_token
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageResult_List_Credential'
            text/json:
              schema:
                $ref: '#/components/schemas/PageResult_List_Credential'
      security:
      - oauth2: []
  /api/v1/credentials/{credentialId}/config/template:
    get:
      tags:
      - Credential
      summary: Return a template for a credential
      operationId: Credential_GetTemplateById
      parameters:
      - name: credentialId
        in: path
        description: ID of the credential
        required: true
        schema:
          type: string
      - name: key
        in: query
        description: obfuscation key is required to encode sensitive data. if key is empty, then only credentials without sensitive data will be returned
        required: false
        schema:
          type: string
      - name: Authorization
        in: header
        description: oauth2 access_token
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_CredentialTemplateReadResults'
            text/json:
              schema:
                $ref: '#/components/schemas/Result_CredentialTemplateReadResults'
      security:
      - oauth2: []
  /api/v1/credentials/-/config/template:
    get:
      tags:
      - Credential
      summary: Return set of credential templates
      operationId: Credential_GetTemplate
      parameters:
      - name: key
        in: query
        description: obfuscation key is required to encode sensitive data. if key is empty, then only credentials without sensitive data will be returned
        required: false
        schema:
          type: string
      - name: type
        in: query
        description: filter for type of credential. default=all
        required: false
        schema:
          type: string
          enum:
          - all
          - snmpV1
          - snmpV2
          - snmpV3
          - windows
          - ado
          - telnet
          - ssh
          - vmware
          - jmx
          - smis
          - aws
          - azure
          - meraki
          - restapi
          - ubiquiti
          - redfish
      - name: search
        in: query
        description: return only credentials that contain this string in display name, description or type. Case-insensitive, empty value is ignored
        required: false
        schema:
          type: string
      - name: Authorization
        in: header
        description: oauth2 access_token
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_CredentialTemplateReadResults'
            text/json:
              schema:
                $ref: '#/components/schemas/Result_CredentialTemplateReadResults'
      security:
      - oauth2: []
    patch:
      tags:
      - Credential
      summary: Apply credential templates
      operationId: Credential_ApplyCredentialTemplates
      parameters:
      - name: key
        in: query
        description: value used to decode sensitive data. If key is empty, then all sensitive data will be assumed to be in clear text
        required: false
        schema:
          type: string
      - name: Authorization
        in: header
        description: oauth2 access_token
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_ApplyTemplateResults'
            text/json:
              schema:
                $ref: '#/components/schemas/Result_ApplyTemplateResults'
      security:
      - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CredentialTemplateBatch'
          text/json:
            schema:
              $ref: '#/components/schemas/CredentialTemplateBatch'
        description: set of credential templates to apply
        required: true
components:
  schemas:
    DeviceOverview:
      description: "Provides an overview of a given device in terms \nof basic summary information as well as monitoring \nstatus."
      type: object
      properties:
        downActiveMonitors:
          description: A collection of Down Active monitor status items
          type: array
          items:
            $ref: '#/components/schemas/MonitorAssignmentStatus'
        totalActiveMonitors:
          format: int32
          description: The total number of active monitors for this device
          type: integer
        totalActiveMonitorsDown:
          format: int32
          description: The total number of active monitors that are down for this device
          type: integer
        notes:
          description: The notes field for the device
          type: string
        hostName:
          description: The hostname for the device
          type: string
        networkAddress:
          description: The current network address of the device. Usually an IP address.
          type: string
        role:
          description: The primary role of the device (e.g. router, switch, etc.).
          type: string
        brand:
          description: The brand for the device (e.g. Cisco)
          type: string
        os:
          description: The operating system for the device (e.g. windows, linux, etc)
          type: string
        bestState:
          description: The best state of the device, like Up
          enum:
          - Unknown
          - Up
          - Down
          - Maintenance
          - Any
          type: string
        worstState:
          description: The worst state of the device, like Down
          enum:
          - Unknown
          - Up
          - Down
          - Maintenance
          - Any
          type: string
        name:
          type: string
        description:
          type: string
        id:
          type: string
    TemplateMap:
      description: provides a mapping from a template id to the resulting generated id.
      type: object
      properties:
        templateId:
          description: Caller provided template Id
          type: string
        resultId:
          description: Id generated when template was applied.
          type: string
    Credential:
      description: Credential template structure
      type: object
      properties:
        type:
          description: Type of credential
          type: string
        propertyBags:
          description: 'set of properties for this credential

            available if credential view is set to details.'
          type: array
          items:
            $ref: '#/components/schemas/CredentialPropertyBag'
        assignments:
          description: 'List of devices this credential is assigned to.

            returned if includeAssignments is true.'
          type: array
          items:
            $ref: '#/components/schemas/CredentialAssignment'
        usedInFailover:
          description: Set if includeAssignments is true;
          type: boolean
        name:
          type: string
        description:
          type: string
        id:
          type: string
    CredentialTemplate:
      description: Credential template structure
      type: object
      properties:
        templateId:
          description: Unique identifier for this template
          type: string
        type:
          description: Type of credential
          type: string
        propertyBags:
          description: Configuration Data Field
          type: array
          items:
            $ref: '#/components/schemas/CredentialPropertyBag'
        name:
          type: string
        description:
          type: string
        id:
          type: string
    Result_CredentialHelperResults:
      description: 'The standard result envelope for successful data. All results MUST

        extend this type eventually.'
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CredentialHelperResults'
          description: The data payload
          readOnly: true
    CredentialTemplateBatch:
      description: Provide a set of device templates to be applied
      type: object
      properties:
        options:
          description: Set of options for applying the template
          type: array
          items:
            type: string
        allowModifies:
          description: 'If true and template has an id, template will be used to modify matching credentials. If credential with a validate id is not found, template will be ignored.

            if false, the id field will be ignored.'
          type: boolean
        templates:
          description: Set of templates to be applied. All templates will attempt to create a new credential.
          type: array
          items:
            $ref: '#/components/schemas/CredentialTemplate'
    PagingInfo_List_Credential:
      description: The paging information
      type: object
      properties:
        pageId:
          description: The id of the current page being returned
          type: string
        nextPageId:
          description: The id of the next page, if there is one
          type: string
        size:
          format: int32
          description: The number of items in the page being returned
          type: integer
    Result_Credential:
      description: 'The standard result envelope for successful data. All results MUST

        extend this type eventually.'
      type: object
      properties:
        data:
          $ref: '#/components/schemas/Credential'
          description: The data payload
          readOnly: true
    MonitorAssignmentStatus:
      description: The current monitoring status of this monitor
      type: object
      properties:
        state:
          description: The internal state of the monitor
          enum:
          - Unknown
          - Up
          - Down
          - Maintenance
          - Any
          type: string
        reason:
          description: The reason a monitor is in the current state
          type: string
        lastChangeUtc:
          format: date-time
          description: The time when the status changed in Utc
          type: string
        monitorTypeId:
          description: The monitor type id as it exists in the library
          type: string
        monitorTypeName:
          description: The monitor type name as it exists in the library
          type: string
        comment:
          description: 'Comment specified when the monitor was assigned to the device

            Typically used for interface monitor assignment where comment is the interface description'
          type: string
        enabled:
          description: Indicates whether the monitor is enabled
          type: boolean
        id:
          type: string
    CredentialHelperResults:
      description: A generic structure for handling credential helper output
      type: object
      properties:
        responseType:
          description: respone type of data being returned.
          enum:
          - meraki_organization
          type: string
        output:
          description: Output of the helper in simplest form. Helper will determine if field will be used.
          type: array
          items:
            type: array
            items:
              $ref: '#/components/schemas/NameValuePair'
    TemplateErrorMap:
      description: A set of errors per template
      type: object
      properties:
        templateId:
          description: Template identifier error was created for.
          type: string
        messages:
          description: Errors found with template
          type: array
          items:
            type: string
    PageResult_List_Credential:
      description: A result envelope that carries paged data
      type: object
      properties:
        paging:
          $ref: '#/components/schemas/PagingInfo_List_Credential'
          description: The paging section of the envelope
          readOnly: true
        data:
          description: The data payload
          type: array
          items:
            $ref: '#/components/schemas/Credential'
          readOnly: true
    PageResult_Credential:
      description: A result envelope that carries paged data
      type: object
      properties:
        paging:
          $ref: '#/components/schemas/PagingInfo_Credential'
          description: The paging section of the envelope
          readOnly: true
        data:
          $ref: '#/components/schemas/Credential'
          description: The data payload
          readOnly: true
    NameValuePair:
      description: NameValuePair
      type: object
      properties:
        name:
          description: Name
          type: string
        value:
          description: Value
          type: string
    SuccessResult:
      type: object
      properties:
        success:
          type: boolean
    ApplyTemplateResults:
      description: Results of an apply operations
      type: object
      properties:
        idMap:
          description: returns a list of template Id to device identifier that where created.
          type: array
          items:
            $ref: '#/components/schemas/TemplateMap'
        errors:
          description: return a list of template to errors/warnings produced by each template
          type: array
          items:
            $ref: '#/components/schemas/TemplateErrorMap'
        update:
          $ref: '#/components/schemas/TemplateUpdate'
          description: return information about the update request that may be requested
        operations:
          format: int32
          description: when possible, number of operations will be returned
          type: integer
        successful:
          format: int32
          description: when possible, number of successful operations will be returned
          type: integer
    CredentialAssignment:
      description: representation of a credential assignment
      type: object
      properties:
        device:
          $ref: '#/components/schemas/DeviceOverview'
          description: Unique device ID
    Result_ApplyTemplateResults:
      description: 'The standard result envelope for successful data. All results MUST

        extend this type eventually.'
      type: object
      properties:
        data:
          $ref: '#/components/schemas/ApplyTemplateResults'
          description: The data payload
          readOnly: true
    CredentialModify:
      description: Credential structure containing items allowed to be modified.
      type: object
      properties:
        name:
          description: New name for the credential.
          type: string
        description:
          description: New description for the credential
          type: string
        propertyBags:
          description: set of properties to be added or replaced on this credential
          type: array
          items:
            $ref: '#/components/schemas/CredentialPropertyBag'
    TemplateUpdate:
      description: Request an update of the devices created while applying  template.
      type: object
      properties:
        success:
          description: Update request was successfully made
          type: boolean
        id:
          description: Update returned by refresh/rescan request
          type: string
        name:
          description: Device scan name returned by update request
          type: string
        description:
          description: Device scan description returned by update request
          type: string
    Result_CredentialTemplateReadResults:
      description: 'The standard result envelope for successful data. All results MUST

        extend this type eventually.'
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CredentialTemplateReadResults'
          description: The data payload
          readOnly: true
    CredentialAdd:
      description: Credential Add structure
      type: object
      properties:
        name:
          description: The name of the resource
          type: string
        description:
          description: The optional description of the resource
          type: string
        type:
          description: Type of credential
          type: string
        propertyBags:
          description: set of properties for this credential
          type: array
          items:
            $ref: '#/components/schemas/CredentialPropertyBag'
    CountedSuccessResult:
      type: object
      properties:
        successfulOperations:
          format: int32
          type: integer
        resourcesNotAllowed:
          type: array
          items:
            type: string
        resourcesWithErros:
          type: array
          items:
            type: string
        errors:
          type: array
          items:
            type: string
        limitReached:
          type: boolean
        maximumReached:
          type: boolean
        success:
          type: boolean
    CredentialPropertyBag:
      description: 'List of properties to be added to the device

        Property Names should be unique in the list.'
      type: object
      properties:
        name:
          description: 'Required: Name of property'
          maxLength: 50
          minLength: 0
          type: string
        value:
          description: Defaults to empty. Value to be used for property.
          type: string
    PagingInfo_Credential:
      description: The paging information
      type: object
      properties:
        pageId:
          description: The id of the current page being returned
          type: string
        nextPageId:
          description: The id of the next page, if there is one
          type: string
        size:
          format: int32
          description: The number of items in the page being returned
          type: integer
    CredentialTemplateReadResults:
      description: Results returned when calling to read a monitor template
      type: object
      properties:
        credentialCount:
          format: int32
          description: Number of device roles used to generate this structure include device roles with only errors.
          type: integer
        errors:
          description: Set of errors encountered during the read request
          type: array
          items:
            type: string
        templates:
          description: Set of templates matching filter criteria.
          type: array
          items:
            $ref: '#/components/schemas/CredentialTemplate'
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: http://localhost:8734/api/v1/token
      description: OAuth2 Password Grant