Mixedbread

Authorize Slack

Start Slack OAuth; the response redirects to Slack's consent page.

GET
/v1/integrations/slack/oauth/authorize

A personal connect (access_mode=user) creates an installation every time, so one person can hold several, each feeding its own store with its own selection, e.g. public channels in one store and direct and group messages in another; the same person in another organization is that organization's own. A workspace has one bot, so a bot connect refreshes the workspace's bot installation when the organization has one. To refresh an existing installation's tokens, reconnect it through GET /v1/integrations/slack/installations/{installation_id}/oauth/authorize instead.

After consent the browser returns to the organization's return URL with status, installation_id or error, and reference. error is store_in_use when another installation of the person already feeds the store, store_exists when new_store names a store that exists by then, new_store_on_refresh when new_store is set on a workspace bot's refresh, store_change_on_refresh when store_name names another store than the refreshed bot's, workspace_already_connected when another organization installed the workspace's bot, and otherwise the provider's error (such as access_denied), invalid_state or callback_failed.

Authorization

ApiKeyAuth
headerAuthorizationBearer <token>

Api key to access Mixedbreads API

Query Parameters

store_name?|

Ingestion store name. A store that already exists is shared: every data source connected to it ingests into it, except another installation of the same account, which would ingest every item again. Without it, the account's default store, numbered past a store another installation of the account feeds. Rejected with 422 when the connect refreshes an existing installation and names a store other than its own.

access_mode?Access Mode

Authorize as the current Slack user (default). bot installs a workspace bot and is only available from the dashboard; requests authenticated with an API key must use user.

Default"user"
Value in"bot""user"
reference?|

Opaque value echoed back as reference on the return URL, so your app can match the outcome to the user who started the flow

new_store?New Store

Ingest into a store created for this connection: the connect fails with 409 when store_name names a store that already exists, and without store_name the default name is numbered past existing stores. Rejected with 422 when the connect refreshes an existing installation, which keeps its store.

Defaultfalse
metadata_contextualization?Metadata Contextualization

Contextualize chunks with the connector's curated metadata fields

Defaulttrue
file_contextualization?File Contextualization

Generate an LLM context for each chunk situating it within the full document

Defaulttrue
ingestion_mode?StoreFileParsingStrategy

Parsing strategy for imported files

Default"high_quality"
Value in"fast""high_quality"

Response Body

Redirect to Slack OAuth

response?unknownapplication/json
Example Request
curl -s -o /dev/null -w '%{redirect_url}' \  'https://api.mixedbread.com/v1/integrations/slack/oauth/authorize?store_name=slack-olivia&reference=user-42' \  -H 'Authorization: Bearer YOUR_API_KEY'
Example Response
null