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

# Create schedule

> Create a recurring schedule that starts a task, a workflow or an agent on a cron expression, or, on REST and GraphQL only, activate a schedule declared in source (the MCP tool creates manual schedules only); returns the schedule: a new schedule is active, and a source schedule that was activated before keeps its current status. Requires project.runs.write.



## OpenAPI

````yaml /cloud/rest/openapi.json post /projects/{project_reference}/schedules
openapi: 3.1.0
info:
  title: Veryfront REST API reference
  version: 1.0.0
  description: |-
    ## Explore the API

    | Domain | Use it to |
    | --- | --- |
    | [Projects](#tag/projects) | Manage projects and files. |
    | [Agents](#tag/agents) | Manage agent primitives. |
    | [Orchestration](#tag/execution) | Manage conversations and runs. |
    | [Evaluations](#tag/evaluations) | Manage evaluations and results. |
    | [AI Gateway](#tag/ai-gateway) | Access models and inference. |
    | [MCP](#tag/mcp) | Discover tools and authorization. |
    | [Integrations](#tag/integrations) | Manage connections and integrations. |
    | [Knowledge](#tag/knowledge) | Manage documents and search. |
    | [Deployments](#tag/deployments) | Manage releases and deployments. |
    | [Runtime](#tag/runtime) | Manage environments and infrastructure. |
    | [Observability](#tag/observability) | Monitor activity and performance. |
    | [Identity & Access](#tag/identity-access) | Manage identity and access. |
    | [Billing & Usage](#tag/billing-usage) | Manage billing and usage. |
    | [Other](#tag/platform) | Inspect health and API metadata. |

    [OpenAPI specification (JSON)](/openapi.json)
  contact:
    name: Veryfront API Support
    url: https://veryfront.com/docs
    email: support@veryfront.com
  x-api-id: 5f1f0b8a-6b0e-4c1a-9b35-0f3a1e6d84c7
  x-audience: external-public
servers:
  - url: https://api.veryfront.com
security:
  - bearerAuth: []
  - apiKeyAuth: []
tags:
  - name: projects
    description: Manage projects and files.
  - name: agents
    description: Manage agent primitives.
  - name: execution
    description: Manage conversations and runs.
  - name: evaluations
    description: Manage evaluations and results.
  - name: ai-gateway
    description: Access models and inference.
  - name: mcp
    description: Discover tools and authorization.
  - name: integrations
    description: Manage connections and integrations.
  - name: knowledge
    description: Manage documents and search.
  - name: deployments
    description: Manage releases and deployments.
  - name: runtime
    description: Manage environments and infrastructure.
  - name: observability
    description: Monitor activity and performance.
  - name: identity-access
    description: Manage identity and access.
  - name: billing-usage
    description: Manage billing and usage.
  - name: platform
    description: Inspect health and API metadata.
  - name: projects/Projects
  - name: projects/Projects/Favorites
  - name: projects/Projects/Account Projects
  - name: projects/Projects/Projects
  - name: projects/Projects/Project Labels
  - name: projects/Projects/Project templates
  - name: projects/Files
  - name: projects/Files/Files
  - name: projects/Files/File Chunks
  - name: projects/Files/Branch File Versions
  - name: projects/Files/Branch Files
  - name: projects/Files/Environment Files
  - name: projects/Files/File Versions
  - name: projects/Files/Branch File Drafts
  - name: projects/Files/Release Files
  - name: projects/Files/Sandbox Files
  - name: projects/Files/File Search
  - name: projects/Branches
  - name: projects/Branches/Branches
  - name: projects/Branches/Branch Policies
  - name: projects/Branches/Branch Approvals
  - name: projects/Branches/Branch Status Checks
  - name: projects/Branches/Project Commits
  - name: projects/Branches/Branch Merges
  - name: projects/Uploads
  - name: projects/Uploads/Upload Folders
  - name: projects/Uploads/Upload Grants
  - name: projects/Uploads/Project Uploads
  - name: projects/Uploads/Upload Visibility
  - name: agents/Agents
  - name: agents/Agents/Agents
  - name: agents/Agents/Agent Labels
  - name: agents/Agents/Agent templates
  - name: agents/Agents/Agent Tool References
  - name: agents/Agents/Agent Avatars
  - name: agents/Agents/Agent Capabilities
  - name: agents/Agents/Agent Installation
  - name: agents/Prompts
  - name: agents/Prompts/Project prompts
  - name: agents/Tools
  - name: agents/Tools/Project tools
  - name: agents/Skills
  - name: agents/Skills/Project skills
  - name: agents/Resources
  - name: agents/Resources/Project resources
  - name: agents/Tasks
  - name: agents/Tasks/Tasks
  - name: agents/Workflows
  - name: agents/Workflows/Workflows
  - name: execution/Conversations
  - name: execution/Conversations/Conversations
  - name: execution/Conversations/Conversation messages
  - name: execution/Conversations/Conversation participants
  - name: execution/Conversations/Conversation read state
  - name: execution/Triggers
  - name: execution/Triggers/Project schedules
  - name: execution/Triggers/Webhooks
  - name: execution/Triggers/Webhook events
  - name: execution/Runs
  - name: execution/Runs/Run Input Requests
  - name: execution/Runs/Runs
  - name: execution/Runs/Runtime
  - name: execution/Runs/Child Runs
  - name: execution/Runs/Conversation Runs
  - name: execution/Runs/Project Runs
  - name: execution/Runs/Webhook Runs
  - name: execution/Runs/Run Events
  - name: execution/Runs/Run Actions
  - name: execution/Runs/Run Artifacts
  - name: execution/Executors
  - name: execution/Executors/Connected agents
  - name: execution/Executors/Agent workers
  - name: evaluations/Evaluations
  - name: evaluations/Evaluations/Evaluations
  - name: evaluations/Evaluations/Evaluation Runs
  - name: ai-gateway/Models
  - name: ai-gateway/Models/Model discovery
  - name: ai-gateway/Models/Inference Models
  - name: ai-gateway/Models/Project inference policy
  - name: ai-gateway/Models/Account inference policy
  - name: ai-gateway/Inference
  - name: ai-gateway/Inference/OpenAI Chat Completions
  - name: ai-gateway/Inference/Embeddings
  - name: ai-gateway/Inference/OpenAI Responses
  - name: ai-gateway/Inference/Proxy metadata
  - name: ai-gateway/Inference/Anthropic Messages
  - name: ai-gateway/Inference/Provider gateway
  - name: ai-gateway/Inference/Gemini inference
  - name: ai-gateway/Inference/Image generation
  - name: mcp/Tools
  - name: mcp/Tools/MCP discovery
  - name: mcp/Authorization
  - name: mcp/Authorization/Protected resource discovery
  - name: integrations/Integrations
  - name: integrations/Integrations/Integration tools
  - name: integrations/Integrations/Integration catalog
  - name: integrations/Integrations/Project integrations
  - name: integrations/Connections
  - name: integrations/Connections/Connections
  - name: integrations/Channels
  - name: integrations/Channels/Channels
  - name: integrations/Channels/Setup lookups
  - name: integrations/External storage
  - name: integrations/External storage/External Files
  - name: knowledge/Documents
  - name: knowledge/Documents/Project knowledge
  - name: knowledge/Documents/Retrieval documents
  - name: knowledge/Search
  - name: knowledge/Search/Search
  - name: knowledge/Embeddings
  - name: knowledge/Embeddings/Project embeddings
  - name: deployments/Releases
  - name: deployments/Releases/Releases
  - name: deployments/Releases/Release Versions
  - name: deployments/Releases/Release Source Manifests
  - name: deployments/Deployments
  - name: deployments/Deployments/Project deployments
  - name: deployments/Artifacts
  - name: deployments/Artifacts/Dependencies
  - name: deployments/Artifacts/Release Asset Manifests
  - name: deployments/Artifacts/Style artifacts
  - name: runtime/Environments
  - name: runtime/Environments/Environments
  - name: runtime/Environments/Environment Domains
  - name: runtime/Environments/Environment variables
  - name: runtime/Environments/Project Domains
  - name: runtime/Environments/Environment Variable Keys
  - name: runtime/Servers
  - name: runtime/Servers/Environment Servers
  - name: runtime/Servers/Project servers
  - name: runtime/Sandboxes
  - name: runtime/Sandboxes/Sandbox Lifecycle
  - name: runtime/Sandboxes/Sandbox Commands
  - name: runtime/Sandboxes/Sandbox Environment
  - name: runtime/Sandboxes/Sandbox Health
  - name: runtime/Sandboxes/Sandbox Terminal
  - name: runtime/Cache
  - name: runtime/Cache/Project Cache
  - name: runtime/Cache/User Cache
  - name: observability/Logs
  - name: observability/Logs/Log entries
  - name: observability/Traces
  - name: observability/Traces/Trace spans
  - name: observability/Traces/Project traces
  - name: observability/Traces/Trace Search
  - name: observability/Metrics
  - name: observability/Metrics/Metric series
  - name: observability/Alerts
  - name: observability/Alerts/Project alerts
  - name: observability/Error types
  - name: observability/Error types/Error types
  - name: identity-access/Users
  - name: identity-access/Users/Account users
  - name: identity-access/Users/Project users
  - name: identity-access/Users/Current user
  - name: identity-access/Accounts
  - name: identity-access/Accounts/Accounts
  - name: identity-access/Invitations
  - name: identity-access/Invitations/Invitations
  - name: identity-access/Permissions
  - name: identity-access/Permissions/Feature gates
  - name: identity-access/Permissions/Project Ownership
  - name: identity-access/API keys
  - name: identity-access/API keys/API keys
  - name: identity-access/Authentication
  - name: identity-access/Authentication/Sign-in
  - name: identity-access/Authentication/Tokens
  - name: identity-access/Authorization
  - name: identity-access/Authorization/Authorized apps
  - name: identity-access/Authorization/General OAuth
  - name: identity-access/Authorization/Consent
  - name: billing-usage/Subscriptions
  - name: billing-usage/Subscriptions/Subscriptions
  - name: billing-usage/Subscriptions/Seats
  - name: billing-usage/Billing
  - name: billing-usage/Billing/Invoices
  - name: billing-usage/Billing/Payments
  - name: billing-usage/Billing/Payment Methods
  - name: billing-usage/Billing/Billing Details
  - name: billing-usage/Billing/Account billing
  - name: billing-usage/Credits
  - name: billing-usage/Credits/Credits
  - name: billing-usage/Budgets
  - name: billing-usage/Budgets/Budgets
  - name: billing-usage/Usage
  - name: billing-usage/Usage/API key usage
  - name: billing-usage/Usage/Account usage
  - name: billing-usage/Usage/Project usage
  - name: billing-usage/Analytics
  - name: billing-usage/Analytics/Conversation Analytics
  - name: billing-usage/Analytics/Run Analytics
  - name: platform/Other
  - name: platform/Other/API metadata
paths:
  /projects/{project_reference}/schedules:
    post:
      tags:
        - execution/Triggers/Project schedules
      summary: Create schedule
      description: >-
        Create a recurring schedule that starts a task, a workflow or an agent
        on a cron expression, or, on REST and GraphQL only, activate a schedule
        declared in source (the MCP tool creates manual schedules only); returns
        the schedule: a new schedule is active, and a source schedule that was
        activated before keeps its current status. Requires project.runs.write.
      operationId: createSchedule
      parameters:
        - schema:
            type: string
            minLength: 1
          required: true
          name: project_reference
          in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 255
                target:
                  type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - task
                        - workflow
                        - agent
                    id:
                      type: string
                      minLength: 1
                      maxLength: 255
                    conversation_mode:
                      type: string
                      enum:
                        - create_new
                        - existing
                        - none
                      description: >-
                        Conversation behaviour for an agent target. Defaults to
                        none. Use create_new for an agent that delegates with
                        invoke_agent - a run with no conversation cannot be
                        paused for delegation. Agent targets run headlessly by
                        default; create_new or existing creates or appends a
                        conversation message.
                    conversation_id:
                      type:
                        - string
                        - 'null'
                      format: uuid
                      description: >-
                        Existing conversation to continue. Only allowed when
                        conversation_mode is existing, and required in that
                        case.
                  required:
                    - kind
                    - id
                  additionalProperties: false
                schedule:
                  type: string
                  minLength: 1
                  maxLength: 255
                timezone:
                  type: string
                  minLength: 1
                  maxLength: 128
                runtime_target_kind:
                  type: string
                  enum:
                    - main_branch
                    - environment
                    - preview_branch
                runtime_target_environment_id:
                  type:
                    - string
                    - 'null'
                  format: uuid
                runtime_target_branch_id:
                  type:
                    - string
                    - 'null'
                  format: uuid
                config:
                  type: object
                  additionalProperties: {}
                timeout_seconds:
                  type: integer
                  exclusiveMinimum: 0
                backoff_limit:
                  type: integer
                  minimum: 0
                concurrency_policy:
                  type: string
                  enum:
                    - Allow
                    - Forbid
                    - Replace
                max_runs:
                  type:
                    - integer
                    - 'null'
                  exclusiveMinimum: 0
                definition_source:
                  type: string
                  enum:
                    - manual
                    - source
                source_trigger_id:
                  type: string
                  minLength: 1
                  maxLength: 255
                  description: >-
                    Trigger id from the source definition. When a schedule with
                    this id already exists, creating it from source can return
                    that schedule with its current status; a paused schedule
                    remains paused.
                source_path:
                  type: string
                  minLength: 1
                  maxLength: 1024
                source_hash:
                  type: string
                  minLength: 1
                  maxLength: 255
              required:
                - name
                - target
                - schedule
              additionalProperties: false
      responses:
        '201':
          description: >-
            Created an active recurring project schedule for a task, workflow,
            or agent target.
          content:
            application/json:
              schema:
                type: object
                properties:
                  schedule:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      project_id:
                        type: string
                        format: uuid
                      name:
                        type: string
                      status:
                        type: string
                        enum:
                          - active
                          - paused
                          - deleting
                      target:
                        type: object
                        properties:
                          kind:
                            type: string
                            enum:
                              - task
                              - workflow
                              - agent
                          id:
                            type: string
                            minLength: 1
                            maxLength: 255
                          conversation_mode:
                            type: string
                            enum:
                              - create_new
                              - existing
                              - none
                            description: >-
                              Conversation behaviour for an agent target.
                              Defaults to none. Use create_new for an agent that
                              delegates with invoke_agent - a run with no
                              conversation cannot be paused for delegation.
                              Agent targets run headlessly by default;
                              create_new or existing creates or appends a
                              conversation message.
                          conversation_id:
                            type:
                              - string
                              - 'null'
                            format: uuid
                            description: >-
                              Existing conversation to continue. Only allowed
                              when conversation_mode is existing, and required
                              in that case.
                        required:
                          - kind
                          - id
                        additionalProperties: false
                      schedule:
                        type: string
                      timezone:
                        type: string
                      runtime_target_kind:
                        type: string
                        enum:
                          - main_branch
                          - environment
                          - preview_branch
                      runtime_target_environment_id:
                        type:
                          - string
                          - 'null'
                        format: uuid
                      runtime_target_branch_id:
                        type:
                          - string
                          - 'null'
                        format: uuid
                      config:
                        type: object
                        additionalProperties: {}
                      timeout_seconds:
                        type: integer
                      backoff_limit:
                        type: integer
                      concurrency_policy:
                        type: string
                      definition_source:
                        type: string
                        enum:
                          - manual
                          - source
                      source_trigger_id:
                        type:
                          - string
                          - 'null'
                      source_path:
                        type:
                          - string
                          - 'null'
                      source_hash:
                        type:
                          - string
                          - 'null'
                      last_scheduled_at:
                        type:
                          - string
                          - 'null'
                      last_successful_at:
                        type:
                          - string
                          - 'null'
                      health:
                        type:
                          - object
                          - 'null'
                        properties:
                          maxStalenessSeconds:
                            type: integer
                            exclusiveMinimum: 0
                            maximum: 9007199254740991
                        required:
                          - maxStalenessSeconds
                        additionalProperties: false
                      max_runs:
                        type:
                          - integer
                          - 'null'
                        exclusiveMinimum: 0
                      run_count:
                        type: integer
                        minimum: 0
                      completed_at:
                        type:
                          - string
                          - 'null'
                      paused_reason:
                        type:
                          - string
                          - 'null'
                      paused_at:
                        type:
                          - string
                          - 'null'
                      last_failure_at:
                        type:
                          - string
                          - 'null'
                      last_failure_code:
                        type:
                          - string
                          - 'null'
                      last_failure_message:
                        type:
                          - string
                          - 'null'
                      last_failure_run_id:
                        type:
                          - string
                          - 'null'
                        format: uuid
                      created_by:
                        type:
                          - string
                          - 'null'
                        format: uuid
                      integration_requirements:
                        type: array
                        items:
                          type: object
                          properties:
                            integration:
                              type: string
                              minLength: 1
                              maxLength: 255
                              pattern: ^[a-z0-9][a-z0-9_-]*$
                            required_scopes:
                              type: array
                              items:
                                type: string
                                minLength: 1
                                maxLength: 255
                              maxItems: 50
                              default: []
                            resources:
                              type: array
                              items:
                                type: object
                                properties:
                                  kind:
                                    type: string
                                    minLength: 1
                                    maxLength: 64
                                    pattern: ^[a-z][a-z0-9_-]*$
                                  id:
                                    type: string
                                    minLength: 1
                                    maxLength: 512
                                  parent:
                                    type: object
                                    properties:
                                      kind:
                                        type: string
                                        minLength: 1
                                        maxLength: 64
                                        pattern: ^[a-z][a-z0-9_-]*$
                                      id:
                                        type: string
                                        minLength: 1
                                        maxLength: 512
                                    required:
                                      - kind
                                      - id
                                    additionalProperties: false
                                required:
                                  - kind
                                  - id
                                additionalProperties: false
                              maxItems: 50
                              default: []
                          required:
                            - integration
                          additionalProperties: false
                        maxItems: 20
                        default: []
                      created_at:
                        type: string
                      updated_at:
                        type: string
                    required:
                      - id
                      - project_id
                      - name
                      - status
                      - target
                      - schedule
                      - timezone
                      - runtime_target_kind
                      - runtime_target_environment_id
                      - runtime_target_branch_id
                      - config
                      - timeout_seconds
                      - backoff_limit
                      - concurrency_policy
                      - definition_source
                      - source_trigger_id
                      - source_path
                      - source_hash
                      - last_scheduled_at
                      - last_successful_at
                      - health
                      - max_runs
                      - run_count
                      - completed_at
                      - paused_reason
                      - paused_at
                      - last_failure_at
                      - last_failure_code
                      - last_failure_message
                      - last_failure_run_id
                      - created_by
                      - created_at
                      - updated_at
                    additionalProperties: false
                    description: The created schedule. New schedules are active by default.
                required:
                  - schedule
        '400':
          description: Invalid input
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '404':
          description: Agent not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
components:
  schemas:
    ErrorEnvelope:
      type: object
      properties:
        type:
          type: string
        title:
          type: string
        status:
          type: number
        detail:
          type: string
        error:
          type: string
        message:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT or API Key
      description: >-
        Use a JWT bearer token or a Veryfront API key in the `Authorization`
        header.
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Alternative API key header for `vf_<prefix>_<secret>` tokens.

````

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