# List teammate office hours

You can list teammates who have their own office hours schedule. Teammates who inherit office hours are not included. Results include only teammates you can access.
Use `pages.next.starting_after` to retrieve the next page. `pages.next` is omitted on the last page.
Requires either the `read_all` or `read_write_office_hours` OAuth scope and permission to access reporting. Set `Intercom-Version: Preview`.

Endpoint: GET /admins/office_hours
Version: Preview
Security: bearerAuth

## Query parameters:

  - `per_page` (integer)
    The number of assignments to return per page. Must be a positive integer. Values above 50 are reduced to 50.

  - `starting_after` (string)
    The cursor from `pages.next.starting_after` in the previous response. Omit it to retrieve the first page.

## Header parameters:

  - `Intercom-Version` (string)

## Response 200 fields (application/json):

  - `type` (string, required)
    The type of the object, always `list`.
    Enum: "list"

  - `data` (array, required)
    Teammates who have their own office hours schedule. Teammates who inherit office hours are not included.
    Example: [{"type":"admin_office_hours","admin_id":"456","office_hours_schedule_id":"123"}]

  - `data.type` (string, required)
    The type of the object, always `admin_office_hours`.
    Enum: "admin_office_hours"

  - `data.admin_id` (string, required)
    The unique identifier of the teammate.
    Example: 456

  - `data.office_hours_schedule_id` (string, required)
    The teammate's own office hours schedule id, or null if they inherit office hours. This is not the id of the inherited schedule.
    Example: 123

  - `pages` (object, required)
    Cursor-based pagination. `next` is omitted on the last page.
    Example: {"type":"pages","per_page":20,"next":{"starting_after":"your-cursor-from-response"}}

  - `pages.type` (string, required)
    The type of the object, always `pages`.
    Enum: "pages"

  - `pages.per_page` (integer, required)
    The number of assignments requested per page, capped at 50.
    Example: 20

  - `pages.next` (object)
    The cursor for the next page. Omitted on the last page.
    Example: {"starting_after":"your-cursor-from-response"}

  - `pages.next.starting_after` (string, required)
    Pass this cursor as `starting_after` in the next request.
    Example: your-cursor-from-response

## Response 400 fields (application/json):

  - `type` (string, required)
    The type is error.list
    Example: error.list

  - `request_id` (string)
    Example: f93ecfa8-d08a-4325-8694-89aeb89c8f85

  - `errors` (array, required)
    An array of one or more error objects

  - `errors.code` (string, required)
    A string indicating the kind of error, used to further qualify the HTTP response code.
    Example: unauthorized

  - `errors.message` (string)
    Optional. Human readable description of the error.
    Example: Access Token Invalid

## Response 401 fields (application/json):

  - `type` (string, required)
    The type is error.list
    Example: error.list

  - `request_id` (string)
    Example: f93ecfa8-d08a-4325-8694-89aeb89c8f85

  - `errors` (array, required)
    An array of one or more error objects

  - `errors.code` (string, required)
    A string indicating the kind of error, used to further qualify the HTTP response code.
    Example: unauthorized

  - `errors.message` (string)
    Optional. Human readable description of the error.
    Example: Access Token Invalid

## Response 403 fields (application/json):

  - `type` (string, required)
    The type is error.list
    Example: error.list

  - `request_id` (string)
    Example: f93ecfa8-d08a-4325-8694-89aeb89c8f85

  - `errors` (array, required)
    An array of one or more error objects

  - `errors.code` (string, required)
    A string indicating the kind of error, used to further qualify the HTTP response code.
    Example: unauthorized

  - `errors.message` (string)
    Optional. Human readable description of the error.
    Example: Access Token Invalid

