get:
  operationId: getSingleSearchAttributeConfig
  tags:
    - Search Attribute Configuration
  summary: Get the details of a specific extended search attribute in IdentityNow.
  description: >-
    This API accepts an extended attribute name and retrieves the corresponding extended attribute configuration.

    A token with ORG_ADMIN authority is required to call this API.
  parameters:
    - name: name
      in: path
      description: Name of the extended search attribute configuration to delete.
      required: true
      schema:
        type: string
        example: "newMailAttribute"
  responses:
    '200':
      description: Specific attribute configuration in IdentityNow.
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '../schemas/SearchAttributeConfig.yaml'
    '204':
      $ref: '../../v3/responses/204.yaml'
    '401':
      $ref: '../../v3/responses/401.yaml'
    '403':
      $ref: '../../v3/responses/403.yaml'
    '404':
      $ref: '../../v3/responses/404.yaml'
    '429':
      $ref: '../../v3/responses/429.yaml'
    '500':
      $ref: '../../v3/responses/500.yaml'

delete:
  operationId: deleteSearchAttributeConfig
  tags:
    - Search Attribute Configuration
  summary: Delete an extended search attribute in IdentityNow.
  description: >-
    This API accepts an extended attribute name and deletes the corresponding extended attribute configuration.

    A token with ORG_ADMIN authority is required to call this API.
  parameters:
    - name: name
      in: path
      description: Name of the extended search attribute configuration to delete.
      required: true
      schema:
        type: string
        example: "newMailAttribute"
  responses:
    '204':
      $ref: '../../v3/responses/204.yaml'
    '401':
      $ref: '../../v3/responses/401.yaml'
    '403':
      $ref: '../../v3/responses/403.yaml'
    '404':
      $ref: '../../v3/responses/404.yaml'
    '429':
      $ref: '../../v3/responses/429.yaml'
    '500':
      $ref: '../../v3/responses/500.yaml'

patch:
  operationId: patchSearchAttributeConfig
  tags:
    - Search Attribute Configuration
  summary: Update the details of a specific extended search attribute in IdentityNow.
  description: >-
    This API updates an existing Search Attribute Configuration. The following fields are patchable:

    **name**, **displayName**, **applicationAttributes**

    A token with ORG_ADMIN authority is required to call this API.
  parameters:
    - name: name
      in: path
      description: Name of the Search Attribute Configuration to patch.
      required: true
      schema:
        type: string
        example: promotedMailAttribute
  requestBody:
    content:
      application/json-patch+json:
        schema:
          type: array
          items:
            $ref: '../schemas/JsonPatchOperation.yaml'
        example:
          - op: "replace"
            path: "/name"
            value: "newAttributeName"
          - op: "replace"
            path: "/displayName"
            value: "new attribute display name"
          - op: "add"
            path: "/applicationAttributes"
            value: { "2c91808b79fd2422017a0b35d30f3968": "employeeNumber" }
    required: true
  responses:
    '200':
      description: Responds with the Search Attribute Configuration as updated.
      content:
        application/json:
          schema:
            $ref: '../schemas/SearchAttributeConfig.yaml'
    '400':
      $ref: '../../v3/responses/400.yaml'
    '401':
      $ref: '../../v3/responses/401.yaml'
    '403':
      $ref: '../../v3/responses/403.yaml'
    '404':
      $ref: '../../v3/responses/404.yaml'
    '429':
      $ref: '../../v3/responses/429.yaml'
    '500':
      $ref: '../../v3/responses/500.yaml'