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

# Update a schedule

> Replaces the schedule. Send the full schedule body; fields that are omitted are not preserved from the existing schedule.



## OpenAPI

````yaml https://api.usenotra.com/openapi.json patch /v1/schedules/{scheduleId}
openapi: 3.1.1
info:
  title: Notra API
  version: 1.0.0
  description: >-
    OpenAPI schema for Notra content endpoints. Use GET /v1/status for public
    reachability. Error responses include recovery guidance.
servers:
  - url: https://api.usenotra.com
    description: Production
security:
  - BearerAuth: []
tags:
  - name: Webhooks
    description: Manage outbound webhook subscriptions and delivery history.
  - name: Discovery
    description: Public API status and authenticated workspace discovery.
  - name: Content
    description: >-
      Manage posts, brand identities, and GitHub or Linear integrations, and
      queue content generation. Organization is inferred from the API key
      (identity.externalId).
  - name: Schedules
    description: >-
      Manage scheduled content generation. Organization is inferred from the API
      key (identity.externalId).
  - name: Event Triggers
    description: >-
      Manage event-based content generation triggered by GitHub webhooks.
      Organization is inferred from the API key (identity.externalId).
  - name: Chats
    description: >-
      Manage chat sessions. Organization is inferred from the API key
      (identity.externalId).
  - name: Skills
    description: >-
      Manage reusable writing skills. Organization is inferred from the API key
      (identity.externalId).
  - name: Feedback
    description: >-
      Collect and triage feedback submitted by AI agents. Agents post to the
      organization's feedback URL without credentials; reading and triage
      require an API key with feedback.read or feedback.write.
  - name: GEO
    description: >-
      Manage generative engine optimization: projects, tracking settings,
      prompts, prompt sequences, competitors, scans, visibility reads, content
      gaps and briefs, agent readiness and AI traffic. Project-scoped endpoints
      require the GEO plan entitlement in addition to their scope;
      organization-level ingest endpoints require only the traffic scope.
paths:
  /v1/schedules/{scheduleId}:
    patch:
      tags:
        - Schedules
      summary: Update a schedule
      description: >-
        Replaces the schedule. Send the full schedule body; fields that are
        omitted are not preserved from the existing schedule.
      operationId: updateSchedule
      parameters:
        - schema:
            type: string
            minLength: 1
            pattern: ^[A-Za-z0-9_-]{1,100}$
            example: sched_123
          required: true
          in: path
          name: scheduleId
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchScheduleRequest'
      responses:
        '200':
          description: Schedule updated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  schedule:
                    type: object
                    properties:
                      id:
                        type: string
                      organizationId:
                        type: string
                      name:
                        type: string
                      sourceType:
                        type: string
                        enum:
                          - cron
                      sourceConfig:
                        type: object
                        properties:
                          cron:
                            type: object
                            properties:
                              frequency:
                                type: string
                                enum:
                                  - daily
                                  - weekly
                                  - monthly
                                  - custom
                                description: How often the schedule runs.
                                example: weekly
                              hour:
                                type: integer
                                minimum: 0
                                maximum: 23
                                description: Hour of the day to run, in UTC (0-23).
                                example: 9
                              minute:
                                type: integer
                                minimum: 0
                                maximum: 59
                                description: Minute of the hour to run (0-59).
                                example: 0
                              dayOfWeek:
                                type: integer
                                minimum: 0
                                maximum: 6
                                description: >-
                                  Day of the week for weekly schedules, 0
                                  (Sunday) to 6 (Saturday). Required when
                                  frequency is weekly.
                                example: 1
                              dayOfMonth:
                                type: integer
                                minimum: 1
                                maximum: 31
                                description: >-
                                  Day of the month for monthly schedules (1-31).
                                  Required when frequency is monthly.
                                example: 1
                              intervalDays:
                                type: integer
                                minimum: 2
                                maximum: 90
                                description: >-
                                  Run every N days (2-90). Required when
                                  frequency is custom.
                                example: 3
                              anchorDate:
                                type: string
                                pattern: ^\d{4}-\d{2}-\d{2}$
                                description: >-
                                  UTC calendar date (YYYY-MM-DD) a custom
                                  interval counts from. Defaults to today.
                                example: '2026-09-03'
                            required:
                              - frequency
                              - hour
                              - minute
                        required:
                          - cron
                      targets:
                        type: object
                        properties:
                          repositoryIds:
                            type: array
                            items:
                              type: string
                              minLength: 1
                            minItems: 1
                            description: >-
                              GitHub integration IDs to generate from, as
                              returned by GET /v1/integrations.
                            example:
                              - 51c2f3aa-efdd-4e28-8e69-23fa2dfd3561
                        required:
                          - repositoryIds
                      outputType:
                        type: string
                        enum:
                          - changelog
                          - blog_post
                          - linkedin_post
                          - twitter_post
                          - image
                      outputConfig:
                        type:
                          - object
                          - 'null'
                        properties:
                          publishDestination:
                            type: string
                            enum:
                              - webflow
                              - framer
                              - custom
                            description: Where auto-published posts are sent.
                          brandVoiceId:
                            type: string
                            minLength: 1
                            description: >-
                              Brand identity ID to write in. Defaults to the
                              organization's default brand identity.
                            example: 51c2f3aa-efdd-4e28-8e69-23fa2dfd3561
                          instructions:
                            type: string
                            minLength: 1
                            maxLength: 2000
                            description: >-
                              Free-text brief for this schedule, passed to the
                              writer on every run on top of the brand's custom
                              instructions. Use it to steer the angle of the
                              content, for example tutorial-style blog posts.
                            example: >-
                              Write a tutorial-style post that walks through one
                              feature shipped in this window, with code samples.
                      enabled:
                        type: boolean
                      autoPublish:
                        type: boolean
                      createdAt:
                        type: string
                      updatedAt:
                        type: string
                      lookbackWindow:
                        type: string
                        enum:
                          - current_day
                          - yesterday
                          - last_7_days
                          - last_14_days
                          - last_30_days
                    required:
                      - id
                      - organizationId
                      - name
                      - sourceType
                      - sourceConfig
                      - targets
                      - outputType
                      - enabled
                      - autoPublish
                      - createdAt
                      - updatedAt
                      - lookbackWindow
                  organization:
                    type: object
                    properties:
                      id:
                        type: string
                      slug:
                        type: string
                      name:
                        type: string
                      logo:
                        type:
                          - string
                          - 'null'
                    required:
                      - id
                      - slug
                      - name
                      - logo
                required:
                  - schedule
                  - organization
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Schedule or organization not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: Duplicate schedule
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Failed to update schedule
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Authentication service unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    PatchScheduleRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 120
          description: Display name shown in the dashboard.
          example: Weekly changelog
        sourceType:
          type: string
          enum:
            - cron
          description: Always cron for schedules.
        sourceConfig:
          type: object
          properties:
            cron:
              type: object
              properties:
                frequency:
                  type: string
                  enum:
                    - daily
                    - weekly
                    - monthly
                    - custom
                  description: How often the schedule runs.
                  example: weekly
                hour:
                  type: integer
                  minimum: 0
                  maximum: 23
                  description: Hour of the day to run, in UTC (0-23).
                  example: 9
                minute:
                  type: integer
                  minimum: 0
                  maximum: 59
                  description: Minute of the hour to run (0-59).
                  example: 0
                dayOfWeek:
                  type: integer
                  minimum: 0
                  maximum: 6
                  description: >-
                    Day of the week for weekly schedules, 0 (Sunday) to 6
                    (Saturday). Required when frequency is weekly.
                  example: 1
                dayOfMonth:
                  type: integer
                  minimum: 1
                  maximum: 31
                  description: >-
                    Day of the month for monthly schedules (1-31). Required when
                    frequency is monthly.
                  example: 1
                intervalDays:
                  type: integer
                  minimum: 2
                  maximum: 90
                  description: Run every N days (2-90). Required when frequency is custom.
                  example: 3
                anchorDate:
                  type: string
                  pattern: ^\d{4}-\d{2}-\d{2}$
                  description: >-
                    UTC calendar date (YYYY-MM-DD) a custom interval counts
                    from. Defaults to today.
                  example: '2026-09-03'
              required:
                - frequency
                - hour
                - minute
          required:
            - cron
        targets:
          type: object
          properties:
            repositoryIds:
              type: array
              items:
                type: string
                minLength: 1
              minItems: 1
              description: >-
                GitHub integration IDs to generate from, as returned by GET
                /v1/integrations.
              example:
                - 51c2f3aa-efdd-4e28-8e69-23fa2dfd3561
          required:
            - repositoryIds
        outputType:
          type: string
          enum:
            - changelog
            - blog_post
            - linkedin_post
            - twitter_post
            - image
          description: Type of content each run generates.
          example: changelog
        outputConfig:
          type: object
          properties:
            publishDestination:
              type: string
              enum:
                - webflow
                - framer
                - custom
              description: Where auto-published posts are sent.
            brandVoiceId:
              type: string
              minLength: 1
              description: >-
                Brand identity ID to write in. Defaults to the organization's
                default brand identity.
              example: 51c2f3aa-efdd-4e28-8e69-23fa2dfd3561
            instructions:
              type: string
              minLength: 1
              maxLength: 2000
              description: >-
                Free-text brief for this schedule, passed to the writer on every
                run on top of the brand's custom instructions. Use it to steer
                the angle of the content, for example tutorial-style blog posts.
              example: >-
                Write a tutorial-style post that walks through one feature
                shipped in this window, with code samples.
        enabled:
          type: boolean
          description: >-
            Whether the schedule runs. Disabled schedules are stored but never
            fire.
          example: true
        autoPublish:
          type: boolean
          default: false
          description: >-
            Publish generated posts automatically instead of saving them as
            drafts.
          example: false
        lookbackWindow:
          type: string
          enum:
            - current_day
            - yesterday
            - last_7_days
            - last_14_days
            - last_30_days
          default: last_7_days
          description: How far back each run collects source activity.
          example: last_7_days
      required:
        - name
        - sourceType
        - sourceConfig
        - targets
        - outputType
        - enabled
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
        code:
          type: string
        recovery:
          type: string
      required:
        - error
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: Send your API key in the Authorization header as Bearer API_KEY.

````

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