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

# Reschedule Content Agent slot

> Moves a piece that isn't publishing or done yet to a new publish time and marks it as manually scheduled, so the Content Agent won't move it. An approved piece becomes SCHEDULED, and a PUBLISH_FAILED piece is retried at the new time (unless it may already exist in the CMS). A REVIEW piece that is still unreviewed at its time still slips to the next valid slot.



## OpenAPI

````yaml /v2/openapi.json put /content-agent/slots/{id}/schedule
openapi: 3.0.0
info:
  title: Promptwatch API v2
  description: >-
    API v2 for customer integrations with Promptwatch monitoring platform. This
    version provides improved structure, additional endpoints, and enhanced
    functionality.
  version: 2.0.0
  contact:
    name: Promptwatch Support
    email: support@promptwatch.com
    url: https://promptwatch.com
  license:
    name: Commercial
    url: https://promptwatch.com/terms-and-conditions
servers:
  - url: https://server.promptwatch.com/api/v2
    description: Promptwatch API v2
security: []
tags:
  - name: Authentication
    description: API key validation and authentication
  - name: Content
    description: >-
      AI content generation and content refresh. Create content asynchronously
      and poll for results.
  - name: Content Agent
    description: >-
      Content Agent (automated content) lifecycle: project settings, scheduled
      slots, review (accept/decline), and publish.
  - name: Content Gap
    description: Content gap analysis and recommendations
  - name: Publishing
    description: >-
      Publish content to a connected CMS, or record a live URL, and track the
      published page
  - name: Models
    description: Available LLM models
  - name: Monitors
    description: Monitor management and CRUD operations
  - name: Page Tracker
    description: Track URLs and inspect citation stats, responses, and prompts
  - name: Prompts
    description: Prompt management and operations
  - name: Query Fanouts
    description: ChatGPT query fanout keywords
  - name: Responses
    description: LLM response data and analytics
  - name: Tags
    description: Tag management for prompts
  - name: Topics
    description: Topic management for prompts
  - name: Actions
    description: Action items (GEO suggestions and tasks)
  - name: Personas
    description: Persona configuration for monitors
  - name: Brands
    description: Brand management for competitive analysis
  - name: Brand Book
    description: Brand name, website, aliases, and the copy used to describe the brand
  - name: Visibility
    description: >-
      Brand visibility time series, competitor heatmaps, and performance
      heatmaps
  - name: Events
    description: >-
      Dated project events such as prompts added and actions completed, for
      annotating time series
  - name: Citations
    description: Citation analytics from AI responses
  - name: Analytics
    description: Visitor analytics, AI crawler logs, sentiment, and brand visibility trends
  - name: Search Insights
    description: >-
      Google Search Console and Bing Webmaster performance for the project
      website
  - name: Projects
    description: Project management (organization-level keys only)
  - name: Usage
    description: Plan usage and limits (organization-level keys only)
  - name: Sitemap
    description: Sitemap feeds, crawler settings, crawl progress, and discovered URLs
  - name: Site Health
    description: Deprecated. Legacy SEO issue pages. Use Site Audit for the current checks.
  - name: Site Audit
    description: >-
      Site audit runs, issue lists, link and content insights, and per-URL
      history
  - name: Socials
    description: >-
      Social media citations (Reddit posts, YouTube videos, LinkedIn posts, and
      Instagram posts) found in LLM responses
  - name: Ads Radar
    description: Sponsored ads captured in AI answers
  - name: Shopping
    description: Product appearances in AI shopping answers and tracked products
paths:
  /content-agent/slots/{id}/schedule:
    put:
      tags:
        - Content Agent
      summary: Reschedule Content Agent slot
      description: >-
        Moves a piece that isn't publishing or done yet to a new publish time
        and marks it as manually scheduled, so the Content Agent won't move it.
        An approved piece becomes SCHEDULED, and a PUBLISH_FAILED piece is
        retried at the new time (unless it may already exist in the CMS). A
        REVIEW piece that is still unreviewed at its time still slips to the
        next valid slot.
      operationId: rescheduleContentAgentSlot
      parameters:
        - schema:
            type: string
            format: uuid
          in: path
          name: id
          required: true
          description: Content schedule slot id.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                publishAt:
                  type: string
                  format: date-time
                  description: >-
                    New publish time. At least 5 minutes from now and within a
                    year; seconds are dropped.
              required:
                - publishAt
              additionalProperties: false
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  slot:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Resource identifier
                      status:
                        type: string
                        enum:
                          - PLANNED
                          - GENERATING
                          - REVIEW
                          - APPROVED
                          - SCHEDULED
                          - PUBLISHING
                          - PUBLISHED
                          - DEFERRED
                          - SUPPRESSED
                          - FAILED
                          - PUBLISH_FAILED
                        description: Slot lifecycle status.
                      generateBy:
                        type: string
                        format: date-time
                        description: When generation is due.
                      publishAt:
                        type: string
                        format: date-time
                        description: Scheduled publish time.
                      priorityScore:
                        type: number
                        nullable: true
                      prioritizationReason:
                        type: string
                        nullable: true
                      scheduledAtReason:
                        type: string
                        nullable: true
                      manuallyScheduledAt:
                        type: string
                        format: date-time
                        description: >-
                          When someone picked publishAt instead of the Content
                          Agent; null when the agent's time stands.
                        nullable: true
                      manuallyScheduledByName:
                        type: string
                        nullable: true
                        description: Who picked publishAt; null for API-key callers.
                      canReschedule:
                        type: boolean
                        description: >-
                          Whether publishAt can still be changed (not yet
                          publishing or done).
                      documentConfiguration:
                        type: object
                        description: >-
                          Per-slot content options applied when the piece is
                          generated.
                        properties:
                          personaId:
                            type: string
                            format: uuid
                            description: Persona for voice and audience.
                          contentType:
                            type: string
                            enum:
                              - ARTICLE
                              - BLOG_POST
                              - OPINION
                              - LISTICLE
                              - HOW_TO
                              - REVIEW
                              - COMPARISON
                              - CASE_STUDY
                              - INTERVIEW
                              - DOCUMENTATION
                              - WIKI
                              - PRODUCT_PAGE
                              - LANDING_PAGE
                              - PRESS_RELEASE
                              - GENERIC_CONTENT
                              - PRODUCT_COMPARISON
                            description: Output content format.
                          contentLength:
                            type: string
                            enum:
                              - SHORT
                              - MEDIUM
                              - LONG
                            description: Target length.
                          toneOfVoice:
                            type: string
                            enum:
                              - PROFESSIONAL
                              - CASUAL
                              - TECHNICAL
                              - CONVERSATIONAL
                              - NEUTRAL
                              - AUTHORITATIVE
                              - FRIENDLY
                              - PERSUASIVE
                            description: Tone preset (CUSTOM not supported on slots).
                          enabledTools:
                            type: array
                            items:
                              type: string
                              enum:
                                - GOOGLE_SEARCH
                                - GOOGLE_NEWS_SEARCH
                                - CRAWL_WEBSITE
                                - ANALYZE_COMPETITOR_PAGE
                                - GENERATE_ARTICLE_IMAGE
                                - FIND_INTERNAL_LINKS
                                - TAKE_SCREENSHOT
                                - SEARCH_KNOWLEDGE_BASE
                            description: Writer tools enabled for this piece.
                          contentLanguageCode:
                            type: string
                            description: BCP-47 language code (e.g. en-US).
                        additionalProperties: false
                      documentId:
                        type: string
                        format: uuid
                        nullable: true
                      documentTitle:
                        type: string
                        nullable: true
                      contentType:
                        type: string
                        enum:
                          - ARTICLE
                          - BLOG_POST
                          - OPINION
                          - LISTICLE
                          - HOW_TO
                          - REVIEW
                          - COMPARISON
                          - CASE_STUDY
                          - INTERVIEW
                          - DOCUMENTATION
                          - WIKI
                          - PRODUCT_PAGE
                          - LANDING_PAGE
                          - PRESS_RELEASE
                          - GENERIC_CONTENT
                          - PRODUCT_COMPARISON
                        nullable: true
                      contentLength:
                        type: string
                        enum:
                          - SHORT
                          - MEDIUM
                          - LONG
                        nullable: true
                      toneOfVoice:
                        type: string
                        enum:
                          - PROFESSIONAL
                          - CASUAL
                          - TECHNICAL
                          - CONVERSATIONAL
                          - NEUTRAL
                          - AUTHORITATIVE
                          - FRIENDLY
                          - PERSUASIVE
                        nullable: true
                      personaId:
                        type: string
                        format: uuid
                        nullable: true
                      personaName:
                        type: string
                        nullable: true
                      title:
                        type: string
                        description: Display title for the scheduled piece.
                      publishAttempts:
                        type: integer
                      generationAttempts:
                        type: integer
                      lastPublishError:
                        type: string
                        nullable: true
                      lastPublishErrorCode:
                        type: string
                        nullable: true
                      deferredReason:
                        type: string
                        nullable: true
                      failureReason:
                        type: string
                        nullable: true
                      autoApproved:
                        type: boolean
                      publishSource:
                        type: string
                        enum:
                          - AUTOMATIC
                          - MANUAL
                        nullable: true
                      publishedAt:
                        type: string
                        format: date-time
                        description: Timestamp (ISO 8601)
                        nullable: true
                      publishedByName:
                        type: string
                        nullable: true
                      source:
                        type: string
                        description: Backlog source label (content gap, prompt, etc.).
                      recommendationTitle:
                        type: string
                        nullable: true
                      contentGapId:
                        type: string
                        format: uuid
                        nullable: true
                      promptId:
                        type: string
                        format: uuid
                        nullable: true
                      publishState:
                        type: string
                        enum:
                          - LIVE
                          - DRAFT
                        nullable: true
                      cmsProvider:
                        type: string
                        nullable: true
                      liveUrl:
                        type: string
                        nullable: true
                      viewUrl:
                        type: string
                        nullable: true
                        description: Best available link (live, draft, or CMS editor).
                      viewUrlKind:
                        type: string
                        enum:
                          - live
                          - draft
                          - cmsEditor
                        nullable: true
                      content:
                        type: string
                        description: Markdown draft body; empty until generated.
                      description:
                        type: string
                        nullable: true
                      declineReason:
                        type: string
                        nullable: true
                      recommendationDetails:
                        type: string
                        nullable: true
                      recommendationImpact:
                        type: string
                        nullable: true
                      recommendationEffort:
                        type: string
                        nullable: true
                    required:
                      - id
                      - status
                      - generateBy
                      - publishAt
                      - priorityScore
                      - prioritizationReason
                      - scheduledAtReason
                      - manuallyScheduledAt
                      - manuallyScheduledByName
                      - canReschedule
                      - documentConfiguration
                      - documentId
                      - documentTitle
                      - contentType
                      - contentLength
                      - toneOfVoice
                      - personaId
                      - personaName
                      - title
                      - publishAttempts
                      - generationAttempts
                      - lastPublishError
                      - lastPublishErrorCode
                      - deferredReason
                      - failureReason
                      - autoApproved
                      - publishSource
                      - publishedAt
                      - publishedByName
                      - source
                      - recommendationTitle
                      - contentGapId
                      - promptId
                      - publishState
                      - cmsProvider
                      - liveUrl
                      - viewUrl
                      - viewUrlKind
                      - content
                      - description
                      - declineReason
                      - recommendationDetails
                      - recommendationImpact
                      - recommendationEffort
                    additionalProperties: false
                  warnings:
                    type: array
                    items:
                      type: string
                      enum:
                        - OUTSIDE_PUBLISH_WINDOW
                        - BLACKOUT_DATE
                        - DAILY_CAP_EXCEEDED
                        - PUBLISHES_ON_APPROVAL
                    description: >-
                      Non-blocking: the time is outside the publish window, on a
                      blackout date, over the daily cap, or ignored because the
                      project publishes on approval.
                required:
                  - slot
                  - warnings
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: CONTENT_AUTOMATION_SLOT_NOT_FOUND
                  message: Content piece not found
                properties:
                  code:
                    type: string
                    description: Machine-readable error code
                    enum:
                      - CONTENT_AUTOMATION_DISABLED
                      - CONTENT_AUTOMATION_FEATURE_DISABLED
                      - CONTENT_AUTOMATION_PROJECT_NOT_FOUND
                      - CONTENT_AUTOMATION_SETUP_INCOMPLETE
                      - CONTENT_AUTOMATION_SHARE_BELOW_COMMITTED
                      - CONTENT_AUTOMATION_SLOT_NOT_FOUND
                      - CONTENT_AUTOMATION_SLOT_INVALID_STATE
                      - CONTENT_AUTOMATION_SLOT_NOT_EDITABLE
                      - CONTENT_AUTOMATION_SLOT_NO_DOCUMENT
                      - CONTENT_AUTOMATION_BUDGET_EXCEEDED
                      - CONTENT_AUTOMATION_PUBLISH_FAILED
                      - CONTENT_AUTOMATION_SLOT_NOT_RESCHEDULABLE
                      - CONTENT_AUTOMATION_PUBLISH_AT_IN_PAST
                      - CONTENT_AUTOMATION_PUBLISH_AT_TOO_FAR
                      - CONTENT_INVALID_PERSONA
                      - API_KEY_READ_ONLY
                      - INTERNAL_ERROR
                    example: CONTENT_AUTOMATION_DISABLED
                  message:
                    type: string
                    description: Human-readable error message
                    example: Content piece not found
                required:
                  - code
                  - message
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                example:
                  error: Unauthorized
                  message: Missing or invalid X-API-Key header.
                properties:
                  error:
                    type: string
                    description: Error category (often aligned with HTTP semantics)
                  code:
                    type: string
                    description: Optional machine-readable code
                  message:
                    type: string
                    description: Human-readable explanation
                  details:
                    type: object
                    description: Optional structured detail (e.g. validation)
                    additionalProperties: true
                required:
                  - error
                  - message
                additionalProperties: false
        '402':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: CONTENT_AUTOMATION_SLOT_NOT_FOUND
                  message: Content piece not found
                properties:
                  code:
                    type: string
                    description: Machine-readable error code
                    enum:
                      - CONTENT_AUTOMATION_DISABLED
                      - CONTENT_AUTOMATION_FEATURE_DISABLED
                      - CONTENT_AUTOMATION_PROJECT_NOT_FOUND
                      - CONTENT_AUTOMATION_SETUP_INCOMPLETE
                      - CONTENT_AUTOMATION_SHARE_BELOW_COMMITTED
                      - CONTENT_AUTOMATION_SLOT_NOT_FOUND
                      - CONTENT_AUTOMATION_SLOT_INVALID_STATE
                      - CONTENT_AUTOMATION_SLOT_NOT_EDITABLE
                      - CONTENT_AUTOMATION_SLOT_NO_DOCUMENT
                      - CONTENT_AUTOMATION_BUDGET_EXCEEDED
                      - CONTENT_AUTOMATION_PUBLISH_FAILED
                      - CONTENT_AUTOMATION_SLOT_NOT_RESCHEDULABLE
                      - CONTENT_AUTOMATION_PUBLISH_AT_IN_PAST
                      - CONTENT_AUTOMATION_PUBLISH_AT_TOO_FAR
                      - CONTENT_INVALID_PERSONA
                      - API_KEY_READ_ONLY
                      - INTERNAL_ERROR
                    example: CONTENT_AUTOMATION_DISABLED
                  message:
                    type: string
                    description: Human-readable error message
                    example: Content piece not found
                required:
                  - code
                  - message
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: CONTENT_AUTOMATION_SLOT_NOT_FOUND
                  message: Content piece not found
                properties:
                  code:
                    type: string
                    description: Machine-readable error code
                    enum:
                      - CONTENT_AUTOMATION_DISABLED
                      - CONTENT_AUTOMATION_FEATURE_DISABLED
                      - CONTENT_AUTOMATION_PROJECT_NOT_FOUND
                      - CONTENT_AUTOMATION_SETUP_INCOMPLETE
                      - CONTENT_AUTOMATION_SHARE_BELOW_COMMITTED
                      - CONTENT_AUTOMATION_SLOT_NOT_FOUND
                      - CONTENT_AUTOMATION_SLOT_INVALID_STATE
                      - CONTENT_AUTOMATION_SLOT_NOT_EDITABLE
                      - CONTENT_AUTOMATION_SLOT_NO_DOCUMENT
                      - CONTENT_AUTOMATION_BUDGET_EXCEEDED
                      - CONTENT_AUTOMATION_PUBLISH_FAILED
                      - CONTENT_AUTOMATION_SLOT_NOT_RESCHEDULABLE
                      - CONTENT_AUTOMATION_PUBLISH_AT_IN_PAST
                      - CONTENT_AUTOMATION_PUBLISH_AT_TOO_FAR
                      - CONTENT_INVALID_PERSONA
                      - API_KEY_READ_ONLY
                      - INTERNAL_ERROR
                    example: CONTENT_AUTOMATION_DISABLED
                  message:
                    type: string
                    description: Human-readable error message
                    example: Content piece not found
                required:
                  - code
                  - message
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: CONTENT_AUTOMATION_SLOT_NOT_FOUND
                  message: Content piece not found
                properties:
                  code:
                    type: string
                    description: Machine-readable error code
                    enum:
                      - CONTENT_AUTOMATION_DISABLED
                      - CONTENT_AUTOMATION_FEATURE_DISABLED
                      - CONTENT_AUTOMATION_PROJECT_NOT_FOUND
                      - CONTENT_AUTOMATION_SETUP_INCOMPLETE
                      - CONTENT_AUTOMATION_SHARE_BELOW_COMMITTED
                      - CONTENT_AUTOMATION_SLOT_NOT_FOUND
                      - CONTENT_AUTOMATION_SLOT_INVALID_STATE
                      - CONTENT_AUTOMATION_SLOT_NOT_EDITABLE
                      - CONTENT_AUTOMATION_SLOT_NO_DOCUMENT
                      - CONTENT_AUTOMATION_BUDGET_EXCEEDED
                      - CONTENT_AUTOMATION_PUBLISH_FAILED
                      - CONTENT_AUTOMATION_SLOT_NOT_RESCHEDULABLE
                      - CONTENT_AUTOMATION_PUBLISH_AT_IN_PAST
                      - CONTENT_AUTOMATION_PUBLISH_AT_TOO_FAR
                      - CONTENT_INVALID_PERSONA
                      - API_KEY_READ_ONLY
                      - INTERNAL_ERROR
                    example: CONTENT_AUTOMATION_DISABLED
                  message:
                    type: string
                    description: Human-readable error message
                    example: Content piece not found
                required:
                  - code
                  - message
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: CONTENT_AUTOMATION_SLOT_NOT_FOUND
                  message: Content piece not found
                properties:
                  code:
                    type: string
                    description: Machine-readable error code
                    enum:
                      - CONTENT_AUTOMATION_DISABLED
                      - CONTENT_AUTOMATION_FEATURE_DISABLED
                      - CONTENT_AUTOMATION_PROJECT_NOT_FOUND
                      - CONTENT_AUTOMATION_SETUP_INCOMPLETE
                      - CONTENT_AUTOMATION_SHARE_BELOW_COMMITTED
                      - CONTENT_AUTOMATION_SLOT_NOT_FOUND
                      - CONTENT_AUTOMATION_SLOT_INVALID_STATE
                      - CONTENT_AUTOMATION_SLOT_NOT_EDITABLE
                      - CONTENT_AUTOMATION_SLOT_NO_DOCUMENT
                      - CONTENT_AUTOMATION_BUDGET_EXCEEDED
                      - CONTENT_AUTOMATION_PUBLISH_FAILED
                      - CONTENT_AUTOMATION_SLOT_NOT_RESCHEDULABLE
                      - CONTENT_AUTOMATION_PUBLISH_AT_IN_PAST
                      - CONTENT_AUTOMATION_PUBLISH_AT_TOO_FAR
                      - CONTENT_INVALID_PERSONA
                      - API_KEY_READ_ONLY
                      - INTERNAL_ERROR
                    example: CONTENT_AUTOMATION_DISABLED
                  message:
                    type: string
                    description: Human-readable error message
                    example: Content piece not found
                required:
                  - code
                  - message
                additionalProperties: false
      security:
        - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        API key for authentication. Get yours from the Promptwatch dashboard
        under Settings > API Keys.

````

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