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

# Build a segment from a natural-language description (AI)

> Translate a natural-language audience description into structured Orbit segment rules and return them together with a live preview match-count and sample contacts, in a single round-trip. The proposed rules are constrained to the segmentation engine's allowlisted fields, validated with a dry-run before the preview, and returned in both the dashboard's flat rule shape and the normalised FilterAst the engine consumes. Requires the `contacts:write` scope (owner / admin / developer). Returns `503 SERVICE_UNAVAILABLE` when the AI backend is not configured for the platform; callers should fall back to the manual segment builder.



## OpenAPI

````yaml /openapi.yaml post /api/v1/contacts/segments/autopilot
openapi: 3.1.0
info:
  title: Devotel CPaaS API
  description: Orbit by Devotel — Communications Platform as a Service API
  version: 1.0.0
  contact:
    name: Devotel
    url: https://devotel.io
    email: support@devotel.io
  license:
    name: Proprietary
servers:
  - url: https://api.orbit.devotel.io
    description: Production
security:
  - Bearer: []
  - ApiKey: []
tags:
  - name: Messages
    description: >-
      Send and manage messages across all channels (SMS, WhatsApp, RCS, Email,
      Viber, etc.)
  - name: Fax
    description: >-
      List and track fax (MMS/T.38) transmissions on Telnyx-backed fax numbers
      (sending flows through the Messaging API)
  - name: Agents
    description: AI agent creation, configuration, and execution
  - name: Voice
    description: Voice calls, IVR, conferencing, and SIP trunking
  - name: OnCall
    description: On-call rotations and escalation policy planning for incident alerting
  - name: Webhooks
    description: Webhook endpoint management and delivery logs
  - name: Numbers
    description: Phone number search, provisioning, and configuration
  - name: Brand Identity
    description: >-
      Unified cross-channel brand trust posture (10DLC, toll-free, WhatsApp,
      RCS, branded calling, number KYC)
  - name: Contacts
    description: Contact management, segmentation, and lifecycle tracking
  - name: Campaigns
    description: Marketing campaign orchestration and analytics
  - name: Flows
    description: Automation flow builder and execution engine
  - name: Templates
    description: Message template management and approval workflows
  - name: Settings
    description: Organization, channel, and user preference settings
  - name: Verify
    description: OTP generation and verification across channels
  - name: Push
    description: Push notification delivery via FCM and APNs
  - name: Integrations
    description: Third-party service connections and OAuth management
  - name: CDP
    description: >-
      Customer Data Platform — activation surface (CRM object sync, streaming
      destinations, ad-audience activation)
  - name: Files
    description: >-
      Server-to-server media upload, listing, retrieval, and deletion
      (signed-URL backed)
  - name: Commerce
    description: >-
      Omnichannel conversational-commerce — persistent cart + checkout state
      machine, channel-agnostic hosted pay-by-link, native WhatsApp checkout,
      and AP2-style agent payment mandates.
  - name: Sync
    description: >-
      Real-time shared-state primitive (Twilio Sync parity) — Documents, Maps,
      Lists, and ephemeral Streams, with change events relayed over the
      /api/v1/ws/sync WebSocket gateway
  - name: Risk
    description: >-
      Unified cross-channel Trust & Fraud risk scoring — fuses SMS-pumping,
      URL-reputation, Verify Fraud Guard, and Voice Biometrics signals into one
      composite verdict queryable before a send or a call.
  - name: Orby
    description: >-
      In-dashboard Orby operator assistant: streamed assistant turns,
      conversation threads, product knowledge-base search, and the tool-action
      approval gate. Available to signed-in operators only (dashboard session
      auth — API-key requests are rejected).
paths:
  /api/v1/contacts/segments/autopilot:
    post:
      tags:
        - Segments
      summary: Build a segment from a natural-language description (AI)
      description: >-
        Translate a natural-language audience description into structured Orbit
        segment rules and return them together with a live preview match-count
        and sample contacts, in a single round-trip. The proposed rules are
        constrained to the segmentation engine's allowlisted fields, validated
        with a dry-run before the preview, and returned in both the dashboard's
        flat rule shape and the normalised FilterAst the engine consumes.
        Requires the `contacts:write` scope (owner / admin / developer). Returns
        `503 SERVICE_UNAVAILABLE` when the AI backend is not configured for the
        platform; callers should fall back to the manual segment builder.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - description
              properties:
                description:
                  type: string
                  minLength: 1
                  maxLength: 2000
                  description: >-
                    Natural-language description of the audience to build (e.g.
                    "customers in Germany who opened an email in the last 30
                    days"). The handler asks the LLM to translate it into
                    structured segment rules constrained to the segmentation
                    engine's allowlisted fields.
                preview_limit:
                  type: integer
                  minimum: 0
                  maximum: 50
                  default: 10
                  description: >-
                    Maximum number of sample contacts returned in
                    `preview.sample_contacts`. Keeps the payload bounded — the
                    dashboard renders only the first 10.
      responses:
        '200':
          description: >-
            The proposed segment rules plus a live preview (match count + sample
            contacts), wrapped in the standard `{ data, meta }` envelope.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                properties:
                  data:
                    type: object
                    additionalProperties: true
                  meta:
                    type: object
                    additionalProperties: true
        '422':
          description: >-
            AI_PARSE_FAILED / AI_INVALID_RULES — the model output could not be
            coerced into a supported rule shape.
        '503':
          description: >-
            SERVICE_UNAVAILABLE — the AI backend is not configured for the
            platform; fall back to the manual segment builder.
components:
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Dashboard JWT token from Clerk
    ApiKey:
      type: apiKey
      name: X-API-Key
      in: header
      description: Server-to-server API key (dv_live_sk_*)

````