openapi: 3.0.3
info:
  title: Cisco ISE API - CustomAttributes
  version: 1.0.0
servers:
  - url: https://172.21.1.25:443
    description: Inferred Url
tags:
  - name: endpoint-custom-attribute-api-controller
    description: the endpoint-custom-attribute API
paths:
  /api/v1/endpoint-custom-attribute:
    get:
      tags:
        - customattributes
      summary: Get all custom attributes
      operationId: list
      responses:
        '200':
          description: An array of custom attributes
          content:
            application/json:
              schema:
                type: array
                exampleSetFlag: true
                items:
                  $ref: '#/components/schemas/OpenAPICustomAttribute'
                  exampleSetFlag: false
        '400':
          description: Bad Request for this specified resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
                exampleSetFlag: false
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
    post:
      tags:
        - customattributes
      summary: Create Custom Attribute
      operationId: createCustomAttribute
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenAPICustomAttribute'
              exampleSetFlag: false
      responses:
        '200':
          description: Added Custom Attribute successfully
          content:
            application/json:
              schema:
                type: string
                exampleSetFlag: true
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  /api/v1/endpoint-custom-attribute/rename:
    post:
      tags:
        - customattributes
      summary: rename custom attribute
      operationId: rename
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InlineObject'
              exampleSetFlag: false
      responses:
        '200':
          description: Renamed Custom Attribute successfully
          content:
            application/json:
              schema:
                type: string
                exampleSetFlag: true
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  /api/v1/endpoint-custom-attribute/{name}:
    get:
      tags:
        - customattributes
      summary: Get custom attribute by name
      operationId: get
      parameters:
        - name: name
          in: path
          description: Name of the custom attribute
          required: true
          style: simple
          schema:
            type: string
            exampleSetFlag: true
      responses:
        '200':
          description: Expected response to a valid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenAPICustomAttribute'
                exampleSetFlag: false
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
    delete:
      tags:
        - customattributes
      summary: Delete custom attribute by name
      operationId: delete
      parameters:
        - name: name
          in: path
          description: The name of the custom attribute
          required: true
          style: simple
          schema:
            type: string
            exampleSetFlag: true
      responses:
        '200':
          description: Deleted Custom Attribute successfully
          content:
            application/json:
              schema:
                type: string
                exampleSetFlag: true
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
components:
  schemas:
    Error:
      title: Error
      required:
        - code
        - message
      type: object
      properties:
        code:
          type: integer
          format: int32
          exampleSetFlag: true
        message:
          type: string
          exampleSetFlag: true
      exampleSetFlag: false
    InlineObject:
      title: InlineObject
      required:
        - currentName
        - newName
      type: object
      properties:
        currentName:
          type: string
          example: isMobile
          exampleSetFlag: true
        newName:
          type: string
          example: isMobileDevice
          exampleSetFlag: true
      exampleSetFlag: false
    OpenAPICustomAttribute:
      title: OpenAPICustomAttribute
      required:
        - attributeName
        - attributeType
      type: object
      properties:
        attributeName:
          type: string
          example: isMobile
          exampleSetFlag: true
        attributeType:
          type: string
          example: Boolean
          exampleSetFlag: true
          enum:
            - Boolean
            - Date
            - Float
            - IP
            - Int
            - Long
            - String
      exampleSetFlag: false
