Kolide Person Groups API

The Person Groups API from Kolide — 3 operation(s) for person groups.

OpenAPI Specification

kolide-person-groups-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: '2023-05-26'
  title: K2 Admin Users Person Groups API
servers:
- url: https://api.kolide.com/
security:
- api_key: []
tags:
- name: Person Groups
paths:
  /person_groups/{personGroupId}/people:
    get:
      summary: Fetch a list of People
      parameters:
      - name: x-kolide-api-version
        in: header
        description: Specify the API version to be used
        required: false
        schema:
          type: string
          default: '2023-05-26'
      - name: cursor
        in: query
        description: Specify the cursor to begin returning results from
        required: false
        schema:
          type: string
          default: ''
      - name: per_page
        in: query
        description: Specify the number of records to return in each response.
        required: false
        schema:
          type: integer
          format: int32
          maximum: 100
          minimum: 1
          default: 25
      - name: query
        in: query
        description: "A query clause used to filter the set of resources returned. Use\n`:` for exact matches (including for boolean fields), `~` for\npartial-string matches. `:[\"a\",\"b\",\"c\"]` or `:[1,2,3]`\ncan be used for fields that support multi-value search.\n Datetime fields support exact-matching\n(`:`) as well as less-than (`<`) and greater-than (`>`). The\nsearchable fields are:\n\n`id` , `email` , `name` , `last_authenticated_at`\n\nSearch clauses can be combined with the ` AND ` and ` OR ` operators.\n\nFor more information, see the [search documentation](https://www.kolide.com/docs/developers/api#search).\n"
        required: false
        examples:
          'id:':
            summary: search the 'id' property of the Person records
            value: id:["a", "b", "c"]
          'email:':
            summary: search the 'email' property of the Person records using ':' operator
            value: email:string
          email~:
            summary: search the 'email' property of the Person records using '~' operator
            value: email~string
          'name:':
            summary: search the 'name' property of the Person records using ':' operator
            value: name:string
          name~:
            summary: search the 'name' property of the Person records using '~' operator
            value: name~string
          'last_authenticated_at:':
            summary: search the 'last_authenticated_at' property of the Person records using ':' operator
            value: last_authenticated_at:2000-01-08T20:38:21Z
          last_authenticated_at<:
            summary: search the 'last_authenticated_at' property of the Person records using '<' operator
            value: last_authenticated_at<2000-01-08T20:38:21Z
          last_authenticated_at>:
            summary: search the 'last_authenticated_at' property of the Person records using '>' operator
            value: last_authenticated_at>2000-01-08T20:38:21Z
        schema:
          type: string
      - name: personGroupId
        in: path
        required: true
        description: The person group ID of the person
        schema:
          type: string
      responses:
        '200':
          description: A paginated collection of People
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    description: 'A Person is a representation of a human in your organization, not

                      necessarily someone with admin access to the Kolide dashboard.

                      Devices can be registered to a person.

                      '
                    type: array
                    items:
                      $ref: '#/components/schemas/person'
                  pagination:
                    type: object
                    description: Information about the current and next pages of results
                    properties:
                      next:
                        type: string
                        format: uri
                        description: The full URL that should be used to fetch the next page of results. This will be blank if there are no more results to fetch
                        example: https://api.kolide.com/people?per_page=10&cursor=Imyw
                      current_cursor:
                        type: string
                        description: the pagination cursor used to fetch this page of results
                        example: Miwy
                      next_cursor:
                        type: string
                        description: 'the pagination cursor that can be used to fetch the page of results following the current page. This will be blank if there are no more results to fetch '
                        example: NCw0
                      count:
                        type: integer
                        description: the number of records in the current page of results
                        example: 10
        '401':
          description: An 'unauthorized' response may occur for features restricted by or unavailable to your organization
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: an error message describing why the endpoint is unavailable
                    example: This feature has been disabled by your organization
        '403':
          description: A 'forbidden' response may occur if the API key does not have necessary permissions to perform certain actions
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: a succinct error message
                    example: Forbidden
                  message:
                    type: string
                    description: A longer-form error message explaining the reason for the response
                    example: The API key used is not authorized to perform this action
      tags:
      - Person Groups
  /person_groups:
    get:
      summary: Fetch a list of Person groups
      parameters:
      - name: x-kolide-api-version
        in: header
        description: Specify the API version to be used
        required: false
        schema:
          type: string
          default: '2023-05-26'
      - name: cursor
        in: query
        description: Specify the cursor to begin returning results from
        required: false
        schema:
          type: string
          default: ''
      - name: per_page
        in: query
        description: Specify the number of records to return in each response.
        required: false
        schema:
          type: integer
          format: int32
          maximum: 100
          minimum: 1
          default: 25
      - name: query
        in: query
        description: "A query clause used to filter the set of resources returned. Use\n`:` for exact matches (including for boolean fields), `~` for\npartial-string matches. `:[\"a\",\"b\",\"c\"]` or `:[1,2,3]`\ncan be used for fields that support multi-value search.\n Datetime fields support exact-matching\n(`:`) as well as less-than (`<`) and greater-than (`>`). The\nsearchable fields are:\n\n`name`\n\nSearch clauses can be combined with the ` AND ` and ` OR ` operators.\n\nFor more information, see the [search documentation](https://www.kolide.com/docs/developers/api#search).\n"
        required: false
        examples:
          'name:':
            summary: search the 'name' property of the Person Group records using ':' operator
            value: name:string
          name~:
            summary: search the 'name' property of the Person Group records using '~' operator
            value: name~string
        schema:
          type: string
      responses:
        '200':
          description: A paginated collection of Person groups
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    description: 'A group of people, these are synced from your SCIM provider

                      '
                    type: array
                    items:
                      $ref: '#/components/schemas/person_group'
                  pagination:
                    type: object
                    description: Information about the current and next pages of results
                    properties:
                      next:
                        type: string
                        format: uri
                        description: The full URL that should be used to fetch the next page of results. This will be blank if there are no more results to fetch
                        example: https://api.kolide.com/person_groups?per_page=10&cursor=Imyw
                      current_cursor:
                        type: string
                        description: the pagination cursor used to fetch this page of results
                        example: Miwy
                      next_cursor:
                        type: string
                        description: 'the pagination cursor that can be used to fetch the page of results following the current page. This will be blank if there are no more results to fetch '
                        example: NCw0
                      count:
                        type: integer
                        description: the number of records in the current page of results
                        example: 10
        '401':
          description: An 'unauthorized' response may occur for features restricted by or unavailable to your organization
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: an error message describing why the endpoint is unavailable
                    example: This feature has been disabled by your organization
        '403':
          description: A 'forbidden' response may occur if the API key does not have necessary permissions to perform certain actions
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: a succinct error message
                    example: Forbidden
                  message:
                    type: string
                    description: A longer-form error message explaining the reason for the response
                    example: The API key used is not authorized to perform this action
      tags:
      - Person Groups
  /person_groups/{id}:
    get:
      summary: Fetch information for a specific Person group
      parameters:
      - name: x-kolide-api-version
        in: header
        description: Specify the API version to be used
        required: false
        schema:
          type: string
          default: '2023-05-26'
      - name: id
        in: path
        required: true
        description: The ID of the person group
        schema:
          type: string
      responses:
        '200':
          description: 'A group of people, these are synced from your SCIM provider

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/person_group'
        '401':
          description: An 'unauthorized' response may occur for features restricted by or unavailable to your organization
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: an error message describing why the endpoint is unavailable
                    example: This feature has been disabled by your organization
        '403':
          description: A 'forbidden' response may occur if the API key does not have necessary permissions to perform certain actions
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: a succinct error message
                    example: Forbidden
                  message:
                    type: string
                    description: A longer-form error message explaining the reason for the response
                    example: The API key used is not authorized to perform this action
      tags:
      - Person Groups
components:
  schemas:
    person_group:
      type: object
      properties:
        id:
          type: string
          description: The canonical identifier for this group
        name:
          type: string
          description: The human-readable name for this group
    person:
      type: object
      properties:
        id:
          type: string
          description: The canonical identifier for this person
        name:
          type: string
          description: The human-readable name for this person
        email:
          type: string
          description: the recorded email address for this person
        created_at:
          type: string
          description: when the person record was created
          format: date-time
        last_authenticated_at:
          type: string
          description: The timestamp representing when the person last authenticated with Kolide
          format: date-time
        has_registered_device:
          type: boolean
          description: Whether or not this person has at least one registered device
        usernames:
          description: The usernames imported from the SCIM provider that are associated with this person
          type: array
          items:
            type: integer
  securitySchemes:
    api_key:
      type: http
      scheme: bearer