---
title: "Refresh a connected account's resource listing"
method: POST
path: "/v1/integrations/installations/{installation_id}/resources/refresh"
tags: ["integrations"]
---

# Refresh a connected account's resource listing

`POST /v1/integrations/installations/{installation_id}/resources/refresh`

Rebuild the provider's catalog where one is kept (Slack, Granola), then return the first page.

## Path parameters

- `installation_id` string, uuid, required — Installation ID, as returned when the account connected

## Response `200`

The first page of resources after the refresh started

- ConnectorResourceSelectionResponse — Response containing one page of an installation's resources.
  - `data` ConnectorResourceSelection, required — One page of an installation's resources with their selection state.
    - `installation_id` string, required — Installation ID
    - `provider` 'google_drive' | 'gmail' | 'slack' | 'granola', required — Connector provider
    - `status` string, required — Installation status
    - `account` ConnectorAccount, required — The third-party account an installation is authorized as.
      - `id` string, required — Provider-side account identifier (email, user ID, or team ID)
      - `name` string, nullable — Human-readable account name
      - `email` string, nullable — Account email, when the provider exposes one
      - `workspace` string, nullable — Workspace or organization the account belongs to, for providers that have one
    - `store_id` string, nullable — Store the installation ingests into
    - `store_name` string, nullable — Name of that store
    - `sync` ConnectorInstallationSync — Account-level sync facts: how many resources are in error, and the last failure of an account-wide job.
      - `failed_resource_count` integer — Resources whose last sync job failed
      - `last_error` string, nullable — Last failure of a job covering the whole account, such as a changes sync
      - `last_error_operation` string, nullable — Which account-wide job failed
      - `last_error_at` string, date-time, nullable — When it failed
    - `resources` ConnectorResource[], required — Resources on this page
      - `id` string, required — Provider-side resource ID; pass it back to select or sync
      - `name` string, required — Display name
      - `kind` 'label' | 'folder' | 'file' | 'channel' | 'private_channel' | 'direct_message' | 'group_message', required — What kind of resource this is
      - `is_selected` boolean — Whether the resource is selected for ingestion
      - `parent_id` string, nullable — Containing resource ID, for hierarchical providers
      - `url` string, nullable — Link to the resource on the provider, when available
      - `message_count` integer, nullable — Approximate number of messages in the resource, when known
      - `member_count` integer, nullable — Approximate number of members, when known
      - `sync` ConnectorResourceSync — Sync state of one resource, for providers that track it per resource.
        - `status` 'not_syncing' | 'syncing' | 'partial' | 'error', required — Whether the resource is syncing; partial means only some of a folder's contents are
        - `last_synced_at` string, date-time, nullable — Last successful sync time
        - `error` string, nullable — Last sync error, if the resource is in an error state
        - `last_run` ConnectorSyncRun — The last sync job on a resource, as that job recorded it when it started, finished, or failed.
          - `status` 'in_progress' | 'completed' | 'failed' | 'stale', required — Job outcome; `stale` is a job that reported starting but nothing since for hours
          - `started_at` string, date-time, nullable — When the job started
          - `completed_at` string, date-time, nullable — When the job finished or failed
          - `error` string, nullable — Why the job failed
    - `aliases` ConnectorResourceAlias[] — Every alias this installation can select, with whether it is selected
      - `id` 'all_mail' | 'all_notes' | 'public_channels' | 'private_channels' | 'direct_messages' | 'group_messages', required — Alias ID; pass it back in `resource_aliases`
      - `name` string, required — Display name
      - `kind` 'label' | 'folder' | 'file' | 'channel' | 'private_channel' | 'direct_message' | 'group_message', required — The kind of resource the alias covers
      - `is_selected` boolean — Whether the alias is selected for ingestion
    - `selected_resource_ids` string[] — Every selected resource ID for the installation, across all pages. A Gmail or Granola alias also appears here by its provider ID (`__gmail_all_mail__`, `__granola_all_notes__`), so a selection read from this field can be saved back as `resource_ids` unchanged.
    - `selected_resource_aliases` string[] — Every selected alias for the installation
    - `parent_id` string, nullable — The container being listed, for hierarchical providers; null at the root
    - `next_cursor` string, nullable — Cursor for the next page, or null on the last page
    - `total` integer, nullable — Total matching resources across pages, when known
    - `listing_status` 'ready' | 'loading' | 'failed' — Whether the listing is complete; `loading` while a provider catalog is still being built
    - `sync_all` boolean — Whether the installation syncs everything the account can see, new resources included: every alias it offers is selected

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-15** `957bf8ec8df8` — 2 info
  - added the optional property `data/aliases` to the response with the `200` status
  - added the optional property `data/selected_resource_aliases` to the response with the `200` status
- **2026-09-07** `1a6549d3e64d` — 3 info
  - added the optional property `data/resources/items/sync/anyOf[subschema #1: ConnectorResourceSync]/last_run` to the response with the `200` status
  - added the optional property `data/sync` to the response with the `200` status
  - added the optional property `data/sync_all` to the response with the `200` status
- **2026-09-05** `ea8d85b8caca` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/mixedbread/apis/mxbai-omni/changes/v1/integrations/installations/:installation_id/resources/refresh/post.md)

---

[API](https://skmtc.dev/mixedbread/apis/mxbai-omni.md) · [All operations](https://skmtc.dev/mixedbread/apis/mxbai-omni/llms.txt) · [OpenAPI document](https://skmtc.dev/mixedbread/apis/mxbai-omni/revisions/9c6c72afde2d?raw)
