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

# Create a schedule

> Creates a recurring schedule that generates one content type from the selected GitHub integrations. Times are in UTC. A schedule with the same source, targets, output, and lookback settings as an existing one is rejected with 409.



## OpenAPI

````yaml https://api.usenotra.com/openapi.json post /v1/schedules
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:
    post:
      tags:
        - Schedules
      summary: Create a schedule
      description: >-
        Creates a recurring schedule that generates one content type from the
        selected GitHub integrations. Times are in UTC. A schedule with the same
        source, targets, output, and lookback settings as an existing one is
        rejected with 409.
      operationId: createSchedule
      requestBody:
        required: true
        content:
          application/json:
            schema:
              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
      responses:
        '201':
          description: Schedule created 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: 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 create schedule
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Authentication service unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    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.