> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tied.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Search articles

> Help Center articles matched on title and body, across every portal in the account. Same response shape as the grouped search, with only this one key under `payload`.



## OpenAPI

````yaml /api-reference/openapi.json get /api/v1/accounts/{account_id}/search/articles
openapi: 3.0.4
info:
  title: Tied API
  description: >-
    The Tied REST API. Three families of endpoint, each with its own credential:
    **Application** for everything inside an account, **Platform** for
    provisioning accounts and users, and **Client** for acting as a contact from
    your own surface.
  version: 1.1.0
  termsOfService: https://tied.com/legal
  contact:
    email: hello@tied.com
  license:
    name: MIT License
    url: https://opensource.org/licenses/MIT
servers:
  - url: https://app.tied.com
    description: Tied cloud
security: []
tags:
  - name: Account AgentBots
    description: Account-specific Agent Bots
  - name: Agents
    description: Agent management APIs
  - name: Canned Responses
    description: Pre-defined responses for common queries
  - name: Contacts
    description: Contact management APIs
  - name: Contact Labels
    description: Manage contact labels
  - name: Conversation Assignments
    description: Manage conversation assignments
  - name: Conversation Labels
    description: Manage conversation labels
  - name: Conversations
    description: Conversation management APIs
  - name: Custom Attributes
    description: Custom fields for contacts and conversations
  - name: Custom Filters
    description: Saved filters for conversations
  - name: Inboxes
    description: Communication channels setup
  - name: Integrations
    description: Third-party integrations
  - name: Messages
    description: Message management APIs
  - name: Profile
    description: User profile APIs
  - name: Reports
    description: Analytics and reporting APIs
  - name: Teams
    description: Team management APIs
  - name: Webhooks
    description: Event notification webhooks
  - name: Automation Rule
    description: Workflow automation rules
  - name: Help Center
    description: Knowledge base management
  - name: Contacts API
    description: Public contact APIs
  - name: Conversations API
    description: Public conversation APIs
  - name: Messages API
    description: Public message APIs
  - name: CSAT Survey Page
    description: Customer satisfaction survey
  - name: Account
    description: >-
      The authenticated user's own account — read and update account settings.
      Distinct from the Platform family's **Accounts**, which provisions
      accounts across an installation.
  - name: Audit Logs
    description: Read the account's audit trail
  - name: Inbox API
    description: Public inbox lookup by channel identifier
  - name: Labels
    description: >-
      Create and manage the account's labels. Applying one to a conversation or
      contact is a separate endpoint under those resources.
  - name: Macros
    description: >-
      Saved multi-step actions an agent — or an integration — can run against
      one or more conversations.
  - name: Campaigns
    description: Ongoing website campaigns and one-off SMS and WhatsApp sends.
  - name: Contact Notes
    description: Internal notes on a contact. Never visible to the contact.
  - name: Help Center Categories
    description: Categories group a portal's articles, one tree per allowed locale.
  - name: Help Center Articles
    description: The articles a portal publishes, and their draft and archived states.
  - name: Summary Reports
    description: Per-agent, per-team, per-inbox and per-label totals for a period, as JSON.
  - name: Live Reports
    description: Right-now queue counts. No date range — these describe the present.
  - name: CSAT
    description: >-
      The satisfaction ratings contacts have submitted, and the metrics computed
      from them.
  - name: Notifications
    description: >-
      The per-user notification feed, its read and snooze state, and the
      settings that decide what lands in it.
  - name: Conversation Participants
    description: >-
      The agents watching a conversation. Participants get notified about it
      without being assigned to it.
  - name: Draft Messages
    description: >-
      The unsent reply held for a conversation. Stored in Redis, one per
      conversation.
  - name: Search
    description: >-
      One search service across conversations, contacts, messages and Help
      Center articles.
  - name: Dashboard Apps
    description: Embedded pages that appear as a tab beside a conversation.
  - name: Assignment Policies
    description: How conversations are handed out, and which inbox uses which policy.
  - name: Files
    description: Storing a file so another endpoint can attach it.
  - name: Bot Flows
    description: >-
      Scripted conversation flows, their versions, and the publish and rollback
      that move between them.
  - name: Billing
    description: >-
      Credit balance, usage, invoices, spend controls and the provider-hosted
      payment flows.
  - name: AMB Templates
    description: >-
      Saved Apple Messages primitive payloads an agent can reuse from the
      composer.
  - name: AMB Onboarding
    description: The in-flight Apple Messages for Business registration for an account.
  - name: Widget Session
    description: Starting a widget session and reading the visitor it belongs to.
  - name: Widget Conversation
    description: The visitor's conversation and its messages.
  - name: Widget Context
    description: Campaigns, agents, labels, events and uploads for a widget session.
  - name: CSAT Survey
    description: The public, unauthenticated survey a contact answers from a link.
  - name: Workspace
    description: Scheduling and cancelling deletion of the whole workspace.
paths:
  /api/v1/accounts/{account_id}/search/articles:
    parameters:
      - $ref: '#/components/parameters/account_id'
    get:
      tags:
        - Search
      summary: Search articles
      description: >-
        Help Center articles matched on title and body, across every portal in
        the account. Same response shape as the grouped search, with only this
        one key under `payload`.
      operationId: search-articles
      parameters:
        - name: q
          in: query
          required: true
          description: >-
            The search term. Matched against message content, contact name,
            email and phone number, and article title and body.
          schema:
            type: string
            example: plans
        - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/search_response'
              example:
                payload:
                  articles:
                    - id: 7
                      title: Understanding your invoice
                      locale: en
                      content: >-
                        Every invoice breaks down into three parts: your seat
                        count, your resolution usage for the period, and any
                        channel fees for numbers or messaging capacity you have
                        provisioned.


                        The resolution line itemizes by channel, so you can see
                        whethe…
                      slug: understanding-your-invoice
                      portal_slug: tied-help
                      account_id: 1
                      category_name: Billing
        '403':
          description: Access denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_message'
      security:
        - userApiKey: []
components:
  parameters:
    account_id:
      in: path
      name: id
      schema:
        type: integer
      required: true
      description: The numeric ID of the account
    page:
      in: query
      name: page
      schema:
        type: integer
        default: 1
      required: false
      description: The page parameter
  schemas:
    search_response:
      type: object
      description: >-
        Search results, grouped by type under `payload`. The grouped endpoint
        returns all four keys; each single-type endpoint returns only its own.
      properties:
        payload:
          type: object
          properties:
            contacts:
              type: array
              description: >-
                Matching contacts, trimmed to id, name, email, phone number and
                identifier.
              items:
                type: object
            conversations:
              type: array
              description: Matching conversations.
              items:
                $ref: '#/components/schemas/conversation_search_result'
            messages:
              type: array
              description: Matching messages, each with its sender.
              items:
                $ref: '#/components/schemas/message'
            articles:
              type: array
              description: Matching Help Center articles.
              items:
                type: object
          description: Results grouped by type.
    error_message:
      type: object
      description: >-
        The shape returned by `render_unauthorized`, `render_not_found_error`
        and `render_could_not_create_error`.
      properties:
        error:
          type: string
          description: A single human-readable message.
          example: Resource could not be found
      required:
        - error
    conversation_search_result:
      type: object
      description: >-
        A trimmed conversation as search returns it — enough to render a result
        row, not the full conversation object.
      properties:
        id:
          type: integer
          description: The conversation `display_id`.
        uuid:
          type: string
          description: >-
            The conversation UUID, which is what the public CSAT survey URL
            uses.
        created_at:
          type: integer
          description: Creation time as a Unix epoch in seconds.
        account_id:
          type: integer
          description: The account the conversation belongs to.
        contact:
          type: object
          description: Just the contact's id and name.
          properties:
            id:
              type: integer
              description: The contact ID.
            name:
              type: string
              description: The contact name.
        inbox:
          type: object
          description: Just the inbox's id, name and channel.
          properties:
            id:
              type: integer
              description: The inbox ID.
            name:
              type: string
              description: The inbox name.
            channel_type:
              type: string
              description: The channel class, e.g. `Channel::WebWidget`.
        messages:
          type: array
          description: The messages that matched, not the whole thread.
          items:
            type: object
            properties:
              id:
                type: integer
                description: The message ID.
              content:
                type: string
                description: The message body.
              sender_name:
                type: string
                description: Who sent it.
              message_type:
                type: integer
                description: 0 incoming, 1 outgoing, 2 activity, 3 template.
              created_at:
                type: integer
                description: Unix epoch seconds.
    message:
      type: object
      properties:
        id:
          type: number
          description: The ID of the message
        content:
          type: string
          description: The text content of the message
          nullable: true
        account_id:
          type: number
          description: The ID of the account
        inbox_id:
          type: number
          description: The ID of the inbox
        conversation_id:
          type: number
          description: The ID of the conversation
        message_type:
          description: 0 = incoming, 1 = outgoing, 2 = activity, 3 = template.
          type: integer
          enum:
            - 0
            - 1
            - 2
            - 3
        created_at:
          type: integer
          description: The time at which message was created
        updated_at:
          description: >-
            ISO-8601 timestamp of the last update. Note this differs from
            `created_at` on the same object, which is unix epoch seconds.
          type: string
          format: date-time
          nullable: true
        private:
          type: boolean
          description: The flags which shows whether the message is private or not
        status:
          type: string
          enum:
            - sent
            - delivered
            - read
            - failed
          description: The status of the message
        source_id:
          type: string
          description: The source ID of the message
          nullable: true
        content_type:
          type: string
          enum:
            - text
            - input_select
            - cards
            - form
          description: The type of the template message
        content_attributes:
          type: object
          description: The content attributes for each content_type
        sender_type:
          description: >-
            The class of the sender, capitalised to match the underlying record
            type.
          type: string
          enum:
            - Contact
            - User
            - AgentBot
          nullable: true
        sender_id:
          type: number
          description: The ID of the sender
        external_source_ids:
          type: object
          description: The external source IDs of the message
        additional_attributes:
          type: object
          description: The additional attributes of the message
        processed_message_content:
          type: string
          description: The processed message content
          nullable: true
        sentiment:
          type: object
          description: The sentiment of the message
        conversation:
          type: object
          description: The conversation object
        attachment:
          type: object
          description: The file object attached to the image
        sender:
          type: object
          description: User/Agent/AgentBot object
  securitySchemes:
    userApiKey:
      type: apiKey
      in: header
      name: api_access_token
      description: >-
        This token can be obtained by visiting the profile page or via rails
        console. Provides access to  endpoints based on the user permissions
        levels. This token can be saved by an external system when user is
        created via API, to perform activities on behalf of the user.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.