Read Textline conversations, contacts and reports; send a text, add notes, resolve or transfer.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
WRITE: add an internal whisper (a note only your agents see, never sent to the customer) to a conversation, by conversation_uuid or phone_number. POST /api/conversation/{uuid}.json or POST /api/conversations.json with a whisper.
The note text (visible to agents only).
Resolve the conversation after adding the note.
With phone_number only: the department to use. Default: the first department.
The contact's phone number (pass this OR conversation_uuid); opens the conversation if there is none.
The conversation UUID (pass this OR phone_number).
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
WRITE: add an internal whisper (a note only your agents see, never sent to the customer) to a conversation, by conversation_uuid or phone_number. POST /api/conversation/{uuid}.json or POST /api/conversations.json with a whisper.
| Argument | Type | Description |
|---|---|---|
| body* | string | The note text (visible to agents only). |
| resolve | boolean | Resolve the conversation after adding the note. |
| group_uuid | string | With phone_number only: the department to use. Default: the first department. |
| phone_number | string | The contact's phone number (pass this OR conversation_uuid); opens the conversation if there is none. |
| conversation_uuid | string | The conversation UUID (pass this OR phone_number). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"body"
],
"properties": {
"body": {
"type": "string",
"maxLength": 5000,
"minLength": 1,
"description": "The note text (visible to agents only)."
},
"resolve": {
"type": "boolean",
"description": "Resolve the conversation after adding the note."
},
"group_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "With phone_number only: the department to use. Default: the first department."
},
"phone_number": {
"type": "string",
"pattern": "^\\+?[0-9 ().-]+$",
"maxLength": 25,
"description": "The contact's phone number (pass this OR conversation_uuid); opens the conversation if there is none."
},
"conversation_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "The conversation UUID (pass this OR phone_number)."
}
}
}WRITE: add a contact (customer) to the Textline address book. Sends nothing to the contact. POST /api/customers.json.
| Argument | Type | Description |
|---|---|---|
| name | string | Full name. |
| tags | array | Tags, e.g. ['VIP', 'new_lead'] (underscores instead of spaces). |
| string | Email address. | |
| notes | string | Notes on the contact (replaces the existing notes). |
| phone_number* | string | The contact's phone number. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"phone_number"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Full name."
},
"tags": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[^,\\s]+$",
"maxLength": 100,
"minLength": 1
},
"maxItems": 50,
"description": "Tags, e.g. ['VIP', 'new_lead'] (underscores instead of spaces)."
},
"email": {
"type": "string",
"pattern": "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$",
"maxLength": 254,
"description": "Email address."
},
"notes": {
"type": "string",
"maxLength": 5000,
"description": "Notes on the contact (replaces the existing notes)."
},
"phone_number": {
"type": "string",
"pattern": "^\\+?[0-9 ().-]+$",
"maxLength": 25,
"description": "The contact's phone number."
}
}
}Retrieve one agent (user) by UUID or email: name, permission level, availability (on_call) and departments. GET /api/users.json.
| Argument | Type | Description |
|---|---|---|
| string | Agent email. | |
| user_uuid | string | Agent UUID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"email": {
"type": "string",
"pattern": "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$",
"maxLength": 254,
"description": "Agent email."
},
"user_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Agent UUID."
}
}
}Retrieve one conversation and its posts (messages in and out, internal whispers, resolve/transfer events), newest page first. Page with page/page_size or with before_uuid/after_uuid (a post uuid). GET /api/conversation/{uuid}.json.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 0-based (default 0). |
| page_size | integer | Results per page (default 30, max 50). |
| after_uuid | string | Only posts after this post uuid (exclusive). |
| before_uuid | string | Only posts before this post uuid (exclusive). |
| conversation_uuid* | string | Conversation UUID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"conversation_uuid"
],
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "Page number, 0-based (default 0)."
},
"page_size": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Results per page (default 30, max 50)."
},
"after_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Only posts after this post uuid (exclusive)."
},
"before_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Only posts before this post uuid (exclusive)."
},
"conversation_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Conversation UUID."
}
}
}Retrieve the conversation with a phone number (in a department) and its posts (messages). GET /api/conversations.json?phone_number=….
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 0-based (default 0). |
| page_size | integer | Results per page (default 30, max 50). |
| after_uuid | string | Only posts after this post uuid (exclusive). |
| group_uuid | string | Department (group) UUID from textline_list_departments. Default: the first department. |
| before_uuid | string | Only posts before this post uuid (exclusive). |
| phone_number* | string | The contact's phone number, e.g. +14155550123 or (415) 555-0123. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"phone_number"
],
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "Page number, 0-based (default 0)."
},
"page_size": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Results per page (default 30, max 50)."
},
"after_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Only posts after this post uuid (exclusive)."
},
"group_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Department (group) UUID from textline_list_departments. Default: the first department."
},
"before_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Only posts before this post uuid (exclusive)."
},
"phone_number": {
"type": "string",
"pattern": "^\\+?[0-9 ().-]+$",
"maxLength": 25,
"description": "The contact's phone number, e.g. +14155550123 or (415) 555-0123."
}
}
}Retrieve one contact (customer) from the address book by UUID. GET /api/customer/{uuid}.json.
| Argument | Type | Description |
|---|---|---|
| customer_uuid* | string | Contact (customer) UUID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customer_uuid"
],
"properties": {
"customer_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Contact (customer) UUID."
}
}
}Retrieve one contact (customer) from the address book by phone number. GET /api/customers.json?phone_number=….
| Argument | Type | Description |
|---|---|---|
| phone_number* | string | The contact's phone number. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"phone_number"
],
"properties": {
"phone_number": {
"type": "string",
"pattern": "^\\+?[0-9 ().-]+$",
"maxLength": 25,
"description": "The contact's phone number."
}
}
}Retrieve the organization (account) name, optionally with its departments and agents. GET /api/organization.json.
| Argument | Type | Description |
|---|---|---|
| include_users | boolean | Include the agents (users). |
| include_groups | boolean | Include the departments. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"include_users": {
"type": "boolean",
"description": "Include the agents (users)."
},
"include_groups": {
"type": "boolean",
"description": "Include the departments."
}
}
}List the agents (users) in the organization: name, email, UUID, permission level, availability and department UUIDs. GET /api/organization.json?include_users=1.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List conversations (one per contact) in a department of the Textline shared inbox, with the contact and resolved status. Optional keyword search. GET /api/conversations.json.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 0-based (default 0). |
| query | string | Keyword to search conversations on (name, phone, message text). |
| page_size | integer | Results per page (default 30, max 50). |
| group_uuid | string | Department (group) UUID from textline_list_departments. Default: the first department. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "Page number, 0-based (default 0)."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Keyword to search conversations on (name, phone, message text)."
},
"page_size": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Results per page (default 30, max 50)."
},
"group_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Department (group) UUID from textline_list_departments. Default: the first department."
}
}
}List the address book's custom fields (name, data type, UUID). Use the UUIDs with textline_update_customer. GET /api/address_book/custom_fields.json.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List or search contacts (customers) in the Textline address book: name, phone, email, tags, notes, custom fields, consent and reachability. GET /api/customers.json.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 0-based (default 0). |
| query | string | Keyword to search on (name, phone, email, tag). |
| page_size | integer | Results per page (default 30, max 50). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "Page number, 0-based (default 0)."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Keyword to search on (name, phone, email, tag)."
},
"page_size": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Results per page (default 30, max 50)."
}
}
}List the departments (groups / inbox phone lines) the token's agent can see: name, UUID, phone number, type (sms, facebook, smart_sms) and member agent UUIDs. GET /api/groups.json.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List the dispositions (resolution reasons) set up in the account, optionally for one department. Use a UUID with textline_resolve_conversation. GET /api/dispositions.json.
| Argument | Type | Description |
|---|---|---|
| group_uuid | string | Only dispositions of this department. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"group_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Only dispositions of this department."
}
}
}List the address book's saved searches (contact segments) with name, description and UUID. GET /api/address_book/saved_searches.json.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List the responses to one survey (ratings, follow-up text, contact, tags). Default: the last 30 days. GET /api/survey/{uuid}/responses.json.
| Argument | Type | Description |
|---|---|---|
| end_date | string | Last day, YYYY-MM-DD. |
| start_date | string | First day, YYYY-MM-DD. |
| survey_uuid* | string | Survey UUID from textline_list_surveys. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"survey_uuid"
],
"properties": {
"end_date": {
"type": "string",
"description": "Last day, YYYY-MM-DD."
},
"start_date": {
"type": "string",
"description": "First day, YYYY-MM-DD."
},
"survey_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Survey UUID from textline_list_surveys."
}
}
}List surveys (NPS, CSAT, custom) with their type and UUID. GET /api/surveys.json.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Reporting API: list a department's conversations filtered by created/updated time, resolved, archived or blocked, with total_records. To get the next page pass the returned next.search_uuid, next.page and next.page_size exactly (the same filters are kept). Then use textline_report_posts per conversation. GET /api/reporting/conversations.json.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 0-based (default 0). |
| blocked | boolean | Only blocked (true) or unblocked (false) contacts. Default: both. |
| sort_by | string | Sort field (default created_at). |
| archived | boolean | Only archived (true) or unarchived (false) contacts. Default: both. |
| resolved | boolean | Only resolved (true) or unresolved (false) conversations. |
| page_size | integer | Results per page (default 30, max 30). |
| group_uuid | string | Department UUID (required unless search_uuid is given). |
| sort_order | string | Sort order (default desc). |
Reporting API: list all posts (messages, whispers) of one conversation with creator, thread, first-response flags, filtered by created time, with total_records. To get the next page pass the returned next.search_uuid, next.page and next.page_size exactly. GET /api/reporting/conversation/{uuid}/posts.json.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 0-based (default 0). |
| page_size | integer | Results per page (default 30, max 30). |
| sort_order | string | Sort order (default desc). |
| search_uuid | string | Continue an earlier result set: next.search_uuid from a previous call (with next.page and next.page_size). |
| created_after | string | Created after this ISO date-time (with timezone). |
| created_before | string | Created before this ISO date-time (with timezone). |
| conversation_uuid* | string | Conversation UUID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"conversation_uuid"
],
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "Page number, 0-based (default 0)."
},
"page_size": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "Results per page (default 30, max 30)."
},
"sort_order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort order (default desc)."
},
"search_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Continue an earlier result set: next.search_uuid from a previous call (with next.page and next.page_size)."
},
"created_after": {
"type": "string",
"description": "Created after this ISO date-time (with timezone)."
},
"created_before": {
"type": "string",
"description": "Created before this ISO date-time (with timezone)."
},
"conversation_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Conversation UUID."
}
}
}WRITE: mark a conversation resolved (closed), optionally with a disposition from textline_list_dispositions. Nothing is sent to the customer. POST /api/conversation/{uuid}/resolve.json.
| Argument | Type | Description |
|---|---|---|
| disposition_uuid | string | Disposition (resolution reason) UUID. |
| conversation_uuid* | string | Conversation UUID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"conversation_uuid"
],
"properties": {
"disposition_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Disposition (resolution reason) UUID."
},
"conversation_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Conversation UUID."
}
}
}SENDS A REAL SMS/MMS to ONE contact from your Textline number — the customer receives it immediately and it cannot be unsent; it consumes message credits. Address it by conversation_uuid or by phone_number (+ optional department). Confirm the recipient and text with the user first. One recipient per call; no bulk sends. POST /api/conversation/{uuid}.json or POST /api/conversations.json.
| Argument | Type | Description |
|---|---|---|
| body* | string | The message text the customer will receive. |
| resolve | boolean | Resolve the conversation after sending. |
| group_uuid | string | With phone_number only: the department to use. Default: the first department. |
| phone_number | string | The contact's phone number (pass this OR conversation_uuid); opens the conversation if there is none. |
| attachment_urls | array | Public https URLs of files to attach (makes it an MMS). |
| conversation_uuid | string | The conversation UUID (pass this OR phone_number). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"body"
],
"properties": {
"body": {
"type": "string",
"maxLength": 1600,
"minLength": 1,
"description": "The message text the customer will receive."
},
"resolve": {
"type": "boolean",
"description": "Resolve the conversation after sending."
},
"group_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "With phone_number only: the department to use. Default: the first department."
},
"phone_number": {
"type": "string",
"pattern": "^\\+?[0-9 ().-]+$",
"maxLength": 25,
"description": "The contact's phone number (pass this OR conversation_uuid); opens the conversation if there is none."
},
"attachment_urls": {
"type": "array",
"items": {
"type": "string",
"format": "uri",
"maxLength": 2000
},
"maxItems": 10,
"description": "Public https URLs of files to attach (makes it an MMS)."
},
"conversation_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "The conversation UUID (pass this OR phone_number)."
}
}
}WRITE: assign a conversation to another agent of the same department, by agent UUID or email (one of them). Nothing is sent to the customer. POST /api/conversation/{uuid}/transfer.json.
| Argument | Type | Description |
|---|---|---|
| assignee | string | The agent's email. |
| user_uuid | string | The agent's UUID (from textline_list_agents). |
| conversation_uuid* | string | Conversation UUID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"conversation_uuid"
],
"properties": {
"assignee": {
"type": "string",
"pattern": "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$",
"maxLength": 254,
"description": "The agent's email."
},
"user_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "The agent's UUID (from textline_list_agents)."
},
"conversation_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Conversation UUID."
}
}
}WRITE: update a contact's name, email, notes, tags (add, remove or replace) or custom fields (by custom-field UUID from textline_list_custom_fields). Overwrites the fields you pass; sends nothing to the contact. PUT /api/customer/{uuid}.json.
| Argument | Type | Description |
|---|---|---|
| name | string | Full name. |
| tags | array | Tags, e.g. ['VIP', 'new_lead'] (underscores instead of spaces). |
| string | Email address. | |
| notes | string | Notes on the contact (replaces the existing notes). |
| custom_fields | object | Custom field values keyed by custom-field UUID, e.g. {"c43a1766-47e1-4c9c-a2cc-36bf424fcbc0": "Gold"}. |
| customer_uuid* | string | Contact (customer) UUID. |
| tags_handling | string | How to apply tags: add, remove or replace (Textline's default if omitted). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customer_uuid"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Full name."
},
"tags": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[^,\\s]+$",
"maxLength": 100,
"minLength": 1
},
"maxItems": 50,
"description": "Tags, e.g. ['VIP', 'new_lead'] (underscores instead of spaces)."
},
"email": {
"type": "string",
"pattern": "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$",
"maxLength": 254,
"description": "Email address."
},
"notes": {
"type": "string",
"maxLength": 5000,
"description": "Notes on the contact (replaces the existing notes)."
},
"custom_fields": {
"type": "object",
"description": "Custom field values keyed by custom-field UUID, e.g. {\"c43a1766-47e1-4c9c-a2cc-36bf424fcbc0\": \"Gold\"}.",
"propertyNames": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
},
"additionalProperties": {
"type": "string",
"maxLength": 2000
}
},
"customer_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Contact (customer) UUID."
},
"tags_handling": {
"enum": [
"add",
"remove",
"replace"
],
"type": "string",
"description": "How to apply tags: add, remove or replace (Textline's default if omitted)."
}
}
}| search_uuid | string | Continue an earlier result set: next.search_uuid from a previous call (with next.page and next.page_size). |
| created_after | string | Created after this ISO date-time (with timezone). |
| updated_after | string | Updated after this ISO date-time (with timezone). |
| created_before | string | Created before this ISO date-time (with timezone). |
| updated_before | string | Updated before this ISO date-time (with timezone). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "Page number, 0-based (default 0)."
},
"blocked": {
"type": "boolean",
"description": "Only blocked (true) or unblocked (false) contacts. Default: both."
},
"sort_by": {
"enum": [
"created_at",
"updated_at"
],
"type": "string",
"description": "Sort field (default created_at)."
},
"archived": {
"type": "boolean",
"description": "Only archived (true) or unarchived (false) contacts. Default: both."
},
"resolved": {
"type": "boolean",
"description": "Only resolved (true) or unresolved (false) conversations."
},
"page_size": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "Results per page (default 30, max 30)."
},
"group_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Department UUID (required unless search_uuid is given)."
},
"sort_order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort order (default desc)."
},
"search_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Continue an earlier result set: next.search_uuid from a previous call (with next.page and next.page_size)."
},
"created_after": {
"type": "string",
"description": "Created after this ISO date-time (with timezone)."
},
"updated_after": {
"type": "string",
"description": "Updated after this ISO date-time (with timezone)."
},
"created_before": {
"type": "string",
"description": "Created before this ISO date-time (with timezone)."
},
"updated_before": {
"type": "string",
"description": "Updated before this ISO date-time (with timezone)."
}
}
}