KPN

KPN ISE API

Cisco Identity Services Engine (ISE) network access control resources exposed through the KPN API gateway, covering endpoints, endpoint groups, identity groups and internal users. The spec advertises a full-capability sandbox, HTTPS with OAuth, rate limiting and header-based versioning that defaults to the latest version.

OpenAPI Specification

kpn-ise-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: >-
    ### Key highlights

    - **Sandbox:** Full-fledged capabilities.

    - **Security:**  HTTPS, OAuth, Rate limit

    - **Versioning:**  supports version-less API, version tight. If no version
    is provided (in header) it defaults to latest version. 


    ## [Source view](https://app.swaggerhub.com/apis/kpn/ise-kpn/)<br/>
    [Documentation view](https://app.swaggerhub.com/apis-docs/kpn/ise-kpn)
    
    ---
    
    ## [KPN API Store](https://developer.kpn.com/)<br/>
    [Getting Started](https://developer.kpn.com/getting-started)
    

     ---
    
  version: "v1"
  title: ISE - KPN
  contact:
    name: API Support
    email: api_developer@kpn.com
    url: 'https://developer.kpn.com/support'
  termsOfService: 'https://developer.kpn.com/legal'
servers:
  - url: 'https://api-prd.kpn.com/kpn/ise'

paths:
  /endpointgroup/:
    get:
      tags:
      - 'endpointgroup'
      description: ""
      security:
        - oauth2: []
      parameters:
      - $ref: '#/components/parameters/api_version'
      - $ref: '#/components/parameters/filter'
      responses:
        200:
          $ref: '#/components/responses/endpointgroup'
        400:
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        401:
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        403:
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        404:
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        429:
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        500:
          description: Server error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
  /endpoint/:
    get:
      tags:
      - 'endpoint'
      description: "Get endpoints within group using the endpointgroup id."
      security:
        - oauth2: []
      parameters:
      - $ref: '#/components/parameters/api_version'
      - $ref: '#/components/parameters/filter'
      responses:
        200:
          $ref: '#/components/responses/endpointgroup'
        400:
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        401:
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        403:
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        404:
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        429:
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        500:
          description: Server error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
  /endpoint/name/{name}:
    get:
      tags:
      - 'endpoint'
      description: "Get endpoints within group using the endpointgroup id."
      security:
        - oauth2: []
      parameters:
      - $ref: '#/components/parameters/api_version'
      - $ref: '#/components/parameters/name'
      responses:
        200:
          $ref: '#/components/responses/endpointgroup'
        400:
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        401:
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        403:
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        404:
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        429:
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        500:
          description: Server error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
  /endpoint:
    post:
      tags:
      - 'endpoint'
      description: "Get endpoints within group using the endpointgroup id."
      security:
        - oauth2: []
      parameters:
      - $ref: '#/components/parameters/api_version'
      requestBody:
        $ref: '#/components/requestBodies/ERSEndPoint'
      responses:
        201:
          description: Created
        400:
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        401:
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        403:
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        404:
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        429:
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        500:
          description: Server error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
  /endpoint/{id}:
    put:
      tags:
      - 'endpoint'
      description: "Get endpoints within group using the endpointgroup id."
      security:
        - oauth2: []
      parameters:
      - $ref: '#/components/parameters/api_version'
      - $ref: '#/components/parameters/id'
      requestBody:
        $ref: '#/components/requestBodies/ERSEndPoint'
      responses:
        200:
          $ref: "#/components/responses/UpdatedFieldsList"
        400:
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        401:
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        403:
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        404:
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        429:
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        500:
          description: Server error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
    delete:
      tags:
      - 'endpoint'
      description: "Get endpoints within group using the endpointgroup id."
      security:
        - oauth2: []
      parameters:
      - $ref: '#/components/parameters/api_version'
      - $ref: '#/components/parameters/id'
      responses:
        204:
          description: No Content
        400:
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        401:
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        403:
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        404:
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        429:
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        500:
          description: Server error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
  /identitygroup/:
    get:
      tags:
      - 'identitygroup'
      description: "With this endpoint a user can sent registered emails."
      security:
        - oauth2: []
      parameters:
      - $ref: '#/components/parameters/api_version'
      - $ref: '#/components/parameters/filter'
      responses:
        200:
          $ref: '#/components/responses/endpointgroup'
        400:
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        401:
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        403:
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        404:
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        429:
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        500:
          description: Server error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
  /internaluser/:
    get:
      tags:
      - 'internaluser'
      description: ""
      security:
        - oauth2: []
      parameters:
      - $ref: '#/components/parameters/api_version'
      - $ref: '#/components/parameters/filter'
      responses:
        200:
          $ref: '#/components/responses/endpointgroup'
        400:
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        401:
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        403:
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        404:
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        429:
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        500:
          description: Server error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
    post:
      tags:
      - 'internaluser'
      description: "Get endpoints within group using the endpointgroup id."
      security:
        - oauth2: []
      parameters:
      - $ref: '#/components/parameters/api_version'
      requestBody:
        $ref: '#/components/requestBodies/internaluser'
      responses:
        201:
          description: Created
        400:
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        401:
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        403:
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        404:
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        429:
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        500:
          description: Server error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
    put:
      tags:
      - 'internaluser'
      description: "Get endpoints within group using the endpointgroup id."
      security:
        - oauth2: []
      parameters:
      - $ref: '#/components/parameters/api_version'
      - $ref: '#/components/parameters/id'
      requestBody:
        $ref: '#/components/requestBodies/internaluser'
      responses:
        200:
          $ref: "#/components/responses/UpdatedFieldsList"
        400:
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        401:
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        403:
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        404:
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        429:
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        500:
          description: Server error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
    delete:
      tags:
      - 'internaluser'
      description: "Get endpoints within group using the endpointgroup id."
      security:
        - oauth2: []
      parameters:
      - $ref: '#/components/parameters/api_version'
      - $ref: '#/components/parameters/id'
      responses:
        204:
          description: No Content
        400:
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        401:
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        403:
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        404:
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        429:
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
        500:
          description: Server error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
components:
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api-prd.kpn.com/oauth/client_credential/accesstoken?grant_type=client_credentials
  parameters:
    filter:
      in: query
      name: filter
      schema:
        type: string
      description: info
      required: false
    name:
      in: path
      name: name
      schema:
        type: string
      description: info
      required: true
    id:
      in: path
      name: id
      schema:
        type: string
      description: info
      required: true
    api_version:
      in: header
      name: api-version
      schema:
        type: string
      description: API Version. If no version is provided it defaults to latest version.
      required: false
    api_version_query:
      in: query
      name: api-version
      schema:
        type: string
      description: API Version. If no version is provided it defaults to latest version.
      required: false
  requestBodies:
    ERSEndPoint:
      required: true
      content:
        'application/json':
          schema:
            type: object
            properties:
              ERSEndPoint:
                  $ref: '#/components/schemas/ERSEndPoint'
    internaluser:
      required: true
      content:
        'application/json':
          schema:
            type: object
            properties:
              internaluser:
                  $ref: '#/components/schemas/internaluser'
  responses:
    UpdatedFieldsList:
      description: A successful delivery
      content:
        'application/json':
          schema: 
            type: object
            properties:
              UpdatedFieldsList:
                type: object
                properties:
                  updatedField:
                    type: array
                    items:
                      $ref: '#/components/schemas/updatefield'
    endpointgroup:
      description: A successful delivery
      content:
        'application/json':
          schema: 
            type: object
            properties:
              SearchResult:
                type: object
                properties:
                  total:
                    type: number
                  resources:
                    type: array
                    items:
                      $ref: '#/components/schemas/resources'
    BadRequestError:
      description: Bad request
      # content:
      #   'application/json':
      #     schema:
      #       $ref: '#/components/schemas/Error'
    UnauthorizedError:
      description: Authentication information is missing or invalid
      # headers:
      #   WWW_Authenticate:
      #     schema:
      #       type: string
    ForbiddenError:
      description: Forbidden
      # content:
      #   'application/json':
      #     schema:
      #       $ref: '#/components/schemas/Error'
    NotFoundError:
      description: Not found
      # content:
      #   'application/json':
      #     schema:
      #       $ref: '#/components/schemas/Error'
    MethodNotAllowedError:
      description: Method not allowed
    UnsupportedMediaTypeError:
      description: Unsupported Media Type
      # content:
      #   'application/json':
      #     schema:
      #       $ref: '#/components/schemas/Error'
    UnexpectedError:
      description: Serverside error
      # content:
      #   'application/json':
      #     schema:
      #       $ref: '#/components/schemas/Error'
  schemas:
    error:
      type: object
      properties:
        transactionId:
          type: string
          description: Transaction id of the the request
          title: Transaction ID
        status:
          type: string
          description: Status
          title: Status
        name:
          type: string
          description: Error name
          title: Error name
        message:
          type: string
          description: Error message
          title: Error message
        info:
          type: string
          description: Additional information about error
          title: Info
    resources:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
    updatefield:
      type: object
      properties:
        field:
          type: string
        oldValue:
          type: string
        newValue:
          type: string
    ERSEndPoint:
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
        mac:
          type: string
        profileId:
          type: string
        staticProfileAssignment:
          type: string
        groupId:
          type: string
        staticGroupAssignment:
          type: string
        portalUser:
          type: string
        identityStore:
          type: string
        identityStoreId:
          type: string
    internaluser:
      properties:
        name:
          type: string
        description:
          type: string
        enabled:
          type: string
        email:
          type: string
        password:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        changePassword:
          type: string
        identityGroups:
          type: string
        expiryDateEnabled:
          type: string
        expiryDate:
          type: string
        enablePassword:
          type: string
        passwordIDStore:
          type: string