Attrove Conversations API
The Conversations API from Attrove — 1 operation(s) for conversations.
The Conversations API from Attrove — 1 operation(s) for conversations.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/attrove-com:attrove-com-conversations-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Attrove Conversations API
description: Attrove public API, partner, and A2A endpoints
version: v1
servers:
- url: http://0.0.0.0:3000
tags:
- name: Conversations
paths:
/v1/users/{user_id}/conversations:
get:
summary: List user's conversations
tags:
- Conversations
description: 'Returns conversations (Slack channels, email threads, etc.) for filtering RAG queries.
**Use cases**:
- Display channel picker UI for filtering RAG queries
- Let users select which channels to query from
**Optional filters**:
- `integration_ids`: Filter to specific integrations (opaque IDs like int_xxx)
- `synced_only`: If true, only return conversations where syncing is enabled
**Pagination (cursor-only)**:
- `limit`: Maximum number of conversations per page (default: 50, max: 100)
- `cursor`: Opaque token from `pagination.next_cursor` of a prior response. Pass it back unchanged to fetch the next page. Omit on the first page.
The response `pagination` object contains `limit`, `has_more`, and (when `has_more=true`) `next_cursor`. There is no `offset` and no `total_count` — partners walk pages forward via cursor and use `has_more` to detect the last page.
**Response**: Array of conversation objects with opaque IDs'
parameters:
- schema:
type: array
items:
type: string
in: query
name: integration_ids
required: false
description: Filter to specific integrations (int_xxx format)
- schema:
type: boolean
in: query
name: synced_only
required: false
description: Only return conversations where syncing is enabled
- schema:
type: string
pattern: ^[0-9]+$
in: query
name: limit
required: false
description: Number of items to return (1-100, default 50)
- schema:
type: string
in: query
name: cursor
required: false
description: Opaque pagination cursor returned as `pagination.next_cursor` from a prior response. Pass it back unchanged to fetch the next page. Cursors are sort-key bound — a cursor from one endpoint cannot be reused on another.
- schema:
type: string
format: uuid
in: path
name: user_id
required: true
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
success:
type: boolean
enum:
- true
data:
type: array
items:
type: object
additionalProperties: false
properties:
id:
type: string
integration_id:
type: string
title:
type: string
type:
type: string
provider:
type: string
import_messages:
type: boolean
required:
- id
- integration_id
- title
- type
- provider
- import_messages
pagination:
type: object
oneOf:
- type: object
additionalProperties: false
properties:
limit:
type: number
has_more:
type: boolean
enum:
- true
next_cursor:
type: string
required:
- limit
- has_more
- next_cursor
- type: object
additionalProperties: false
properties:
limit:
type: number
has_more:
type: boolean
enum:
- false
required:
- limit
- has_more
required:
- success
- data
- pagination
'400':
description: Default Response
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
success:
type: boolean
enum:
- false
error:
type: object
additionalProperties: false
properties:
code:
type: string
description: Machine-readable error code (e.g., AUTH_INVALID_TOKEN, RESOURCE_NOT_FOUND)
message:
type: string
description: Human-readable error message
details:
description: Optional additional error context
required:
- code
- message
required:
- success
- error
'500':
description: Default Response
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
success:
type: boolean
enum:
- false
error:
type: object
additionalProperties: false
properties:
code:
type: string
description: Machine-readable error code (e.g., AUTH_INVALID_TOKEN, RESOURCE_NOT_FOUND)
message:
type: string
description: Human-readable error message
details:
description: Optional additional error context
required:
- code
- message
required:
- success
- error
operationId: getV1UsersByUserIdConversations
x-operation-id-source: derived
patch:
summary: Update conversation sync settings
tags:
- Conversations
description: 'Enable or disable message syncing for one or more conversations.
**Use case**: Partners can provide a channel picker UI where users select which Slack channels to sync.
**Request body**:
- `conversations`: Array of objects with `id` (opaque conv_xxx) and `import_messages` (boolean)'
requestBody:
content:
application/json:
schema:
type: object
properties:
conversations:
type: array
items:
type: object
properties:
id:
type: string
pattern: ^conv_[0-9A-Za-z]+$
import_messages:
type: boolean
required:
- id
- import_messages
required:
- conversations
required: true
parameters:
- schema:
type: string
format: uuid
in: path
name: user_id
required: true
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
success:
type: boolean
enum:
- true
data:
type: object
additionalProperties: false
properties:
updated:
type: number
required:
- updated
required:
- success
- data
'400':
description: Default Response
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
success:
type: boolean
enum:
- false
error:
type: object
additionalProperties: false
properties:
code:
type: string
description: Machine-readable error code (e.g., AUTH_INVALID_TOKEN, RESOURCE_NOT_FOUND)
message:
type: string
description: Human-readable error message
details:
description: Optional additional error context
required:
- code
- message
required:
- success
- error
'403':
description: Default Response
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
success:
type: boolean
enum:
- false
error:
type: object
additionalProperties: false
properties:
code:
type: string
description: Machine-readable error code (e.g., AUTH_INVALID_TOKEN, RESOURCE_NOT_FOUND)
message:
type: string
description: Human-readable error message
details:
description: Optional additional error context
required:
- code
- message
required:
- success
- error
'500':
description: Default Response
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
success:
type: boolean
enum:
- false
error:
type: object
additionalProperties: false
properties:
code:
type: string
description: Machine-readable error code (e.g., AUTH_INVALID_TOKEN, RESOURCE_NOT_FOUND)
message:
type: string
description: Human-readable error message
details:
description: Optional additional error context
required:
- code
- message
required:
- success
- error
operationId: patchV1UsersByUserIdConversations
x-operation-id-source: derived