> ## 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.

# Get live IP-warmup ramp status

> Return where this account actually sits on the IP-warmup ramp today: which ramp day `now` falls on (anchored to the first recorded outbound send), today's recommended send cap, how much has already gone out today, and the remaining headroom. The cap also folds in the account's live sending reputation — a poor delivery/complaint rate holds today's ceiling below the time curve so you never keep ramping into a spam filter. Read-only and tenant-isolated; requires an operator role.



## OpenAPI

````yaml /openapi.yaml get /api/v1/email/warmup-status
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/email/warmup-status:
    get:
      tags:
        - Email
      summary: Get live IP-warmup ramp status
      description: >-
        Return where this account actually sits on the IP-warmup ramp today:
        which ramp day `now` falls on (anchored to the first recorded outbound
        send), today's recommended send cap, how much has already gone out
        today, and the remaining headroom. The cap also folds in the account's
        live sending reputation — a poor delivery/complaint rate holds today's
        ceiling below the time curve so you never keep ramping into a spam
        filter. Read-only and tenant-isolated; requires an operator role.
      parameters:
        - in: query
          name: targetDailyVolume
          required: true
          schema:
            type: integer
            minimum: 1
            maximum: 10000000
          description: Steady-state daily send volume the ramp builds up to.
        - in: query
          name: startingVolume
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 1000000
          description: Optional day-1 seed volume (defaults to 50/day).
        - in: query
          name: growthFactor
          required: false
          schema:
            type: number
            minimum: 1.05
            maximum: 4
          description: Optional per-day growth multiplier (defaults to 1.5).
      responses:
        '200':
          description: The account's live position on the IP-warmup ramp.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      startedAt:
                        type: string
                        format: date-time
                        nullable: true
                        description: >-
                          Timestamp of the first recorded outbound send the ramp
                          is measured from; null before any send.
                      currentDay:
                        type: integer
                        description: 1-based ramp day for now.
                      baseCap:
                        type: integer
                        description: >-
                          Time-curve ceiling for today before reputation
                          feedback.
                      todayCap:
                        type: integer
                        description: >-
                          Effective recommended cap for today after live
                          reputation feedback is applied.
                      sentToday:
                        type: integer
                        description: Outbound emails already sent today.
                      remaining:
                        type: integer
                        description: Headroom left under today's cap (never negative).
                      withinCap:
                        type: boolean
                        description: False once today's volume reaches the cap.
                      rampComplete:
                        type: boolean
                        description: True once the ramp is finished (steady state).
                      rampState:
                        type: string
                        enum:
                          - ramping
                          - holding
                          - throttled
                        description: >-
                          Lifecycle state from reputation feedback: full curve
                          (ramping), held (holding, poor), or throttled
                          (critical).
                      feedbackReason:
                        type: string
                        description: Human-readable explanation of the feedback decision.
                  meta:
                    $ref: '#/components/schemas/ResponseMeta'
              example:
                data:
                  startedAt: '2026-08-04T12:00:00.000Z'
                  currentDay: 3
                  baseCap: 113
                  todayCap: 113
                  sentToday: 40
                  remaining: 73
                  withinCap: true
                  rampComplete: false
                  rampState: ramping
                  feedbackReason: Sending reputation healthy — ramping on the standard curve.
                meta:
                  request_id: req_9f2c1ab34de5
                  timestamp: '2026-08-07T09:30:00.000Z'
components:
  schemas:
    ResponseMeta:
      type: object
      required:
        - request_id
        - timestamp
      additionalProperties: false
      properties:
        request_id:
          type: string
          description: Unique request identifier (also returned as X-Request-Id header)
        timestamp:
          type: string
          format: date-time
        docs_url:
          type: string
          format: uri
          nullable: true
  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_*)

````