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

# Get the next date with available SMS quota

> Searches up to 60 days ahead for the next date that has enough remaining SMS quota to accommodate the requested contactCount. Always returns today's usage so the UI can render the quota banner even when contactCount is omitted.



## OpenAPI

````yaml /api-reference/openapi.yaml get /api/campaigns/next-available-slot
openapi: 3.0.3
info:
  title: Tether Relay and Tether API
  version: 1.0.0
  description: >-
    Route-derived OpenAPI contract generated from tether-relay backend sources.
    Regenerate with scripts/sync-openapi-from-backend.mjs.
servers:
  - url: https://your-instance.example.com
    description: Production
  - url: http://localhost:2212
    description: Local API service
security: []
tags:
  - name: AI
  - name: Applications
  - name: Approval
  - name: Auth
  - name: Automations
  - name: Calls
  - name: Campaigns
  - name: Contact Analytics
  - name: Contact Metrics
  - name: Contact Notes
  - name: Contacts
  - name: Conversation Monitor
  - name: Conversations
  - name: Departments
  - name: Email
  - name: Escalation Dashboard
  - name: Event Logs
  - name: Google Sheets
  - name: Marketplace
  - name: Messages
  - name: Notification Sounds
  - name: Notifications
  - name: Org Snapshots
  - name: Organizations
  - name: Outreach
  - name: Outreach Metrics
  - name: Outreach Sources
  - name: Pipelines
  - name: Processes
  - name: Prompts
  - name: Reminders
  - name: Sms
  - name: Templates
  - name: Traces
  - name: Training
  - name: Upload
  - name: User Snapshots
  - name: Users
  - name: Vertical
  - name: Webchats
  - name: Webhook
paths:
  /api/campaigns/next-available-slot:
    get:
      tags:
        - Campaigns
      summary: Get the next date with available SMS quota
      description: >-
        Searches up to 60 days ahead for the next date that has enough remaining
        SMS quota to accommodate the requested contactCount. Always returns
        today's usage so the UI can render the quota banner even when
        contactCount is omitted.
      operationId: get_campaigns_next_available_slot
      parameters:
        - in: query
          name: contactCount
          required: false
          schema:
            type: integer
            minimum: 0
            default: 0
          description: >-
            Number of contacts the upcoming campaign would target. Omit for
            general quota info.
      responses:
        '200':
          description: Next available slot returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NextAvailableSlotResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - bearerAuth: []
components:
  schemas:
    NextAvailableSlotResponse:
      type: object
      properties:
        success:
          type: boolean
        isUnlimited:
          type: boolean
        timezone:
          type: string
        dailyLimit:
          type: integer
          nullable: true
        todayDate:
          type: string
          description: Org-local YYYY-MM-DD.
        todayUsage:
          type: integer
        todayAvailableQuota:
          type: integer
          nullable: true
        nextAvailableDate:
          type: string
          description: Org-local YYYY-MM-DD.
        availableQuota:
          type: integer
          nullable: true
        daysUntilAvailable:
          type: integer
        message:
          type: string
      additionalProperties: true
      example:
        success: true
        isUnlimited: false
        timezone: America/Toronto
        dailyLimit: 500
        todayDate: '2026-05-18'
        todayUsage: 480
        todayAvailableQuota: 20
        nextAvailableDate: '2026-05-19'
        availableQuota: 500
        daysUntilAvailable: 1
        message: Next slot with full daily quota is tomorrow.
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          enum:
            - false
        message:
          type: string
        error:
          type: string
      additionalProperties: true
      example:
        success: false
        message: Validation error
        error: name is required
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````