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

# Overview

> Triggers for a pipeline.

### Pipeline schedule object

<ResponseExample>
  ```json Response theme={"system"}
  {
    "created_at": "2023-03-01 20:27:23.645692+00:00",
    "event_matchers": [],
    "id": 41,
    "last_pipeline_run_status": null,
    "name": "dark brook",
    "next_pipeline_run_date": null,
    "pipeline_runs_count": 0,
    "pipeline_uuid": "dry_bird",
    "schedule_interval": "@once",
    "schedule_type": "time",
    "settings": {
      "allow_blocks_to_fail": true,
      "create_initial_pipeline_run": true,
      "skip_if_previous_running": false,
      "timeout": 3600
    },
    "sla": 950400,
    "start_time": "2023-03-01 22:04:00+00:00",
    "status": "inactive",
    "tags": ["core data"],
    "token": "1dca215c01564d48bf0d3db7d5450a20",
    "updated_at": "2023-03-01 22:04:29.761238+00:00",
    "variables": {
      "env": "dev"
    }
  }
  ```
</ResponseExample>

<ResponseField name="created_at" type="string" required>
  Date and time the trigger was created.
</ResponseField>

<ResponseField name="event_matchers" type="array of objects">
  Deprecated. Legacy event matching logic returned for existing event triggers. New trigger
  creation supports `api` and `time` schedule types.

  <Expandable title="properties">
    <ResponseField name="event_type" type="string" required>
      `aws_event`
    </ResponseField>

    <ResponseField name="id" type="string" required>
      Event matcher ID.
    </ResponseField>

    <ResponseField name="name" type="string" required>
      Name of event matcher.
    </ResponseField>

    <ResponseField name="pattern" type="string" />

    <ResponseField name="pipeline_schedule_ids" type="array of integers" />
  </Expandable>
</ResponseField>

<ResponseField name="id" type="integer" required>
  Trigger ID.
</ResponseField>

<ResponseField name="last_pipeline_run_status" type="string" />

<ResponseField name="name" type="string" required>
  Name of trigger. Names are trimmed before validation, must include at least one letter or
  number, cannot exceed 255 characters, and must be unique within the pipeline.
</ResponseField>

<ResponseField name="next_pipeline_run_date" type="datetime">
  Next scheduled execution date for the trigger, or `null` when no next run is scheduled.
</ResponseField>

<ResponseField name="pipeline_runs_count" type="integer" />

<ResponseField name="pipeline_uuid" type="string" required>
  Pipeline UUID the trigger belongs to.
</ResponseField>

<ResponseField name="schedule_interval" type="string">
  `@once`, `@hourly`, `@daily`, `@weekly`, `@monthly`
</ResponseField>

<ResponseField name="schedule_type" type="string" required>
  Trigger type. Supported new trigger creation uses `api` or `time`; `event` may appear for
  deprecated legacy event triggers.
</ResponseField>

<ResponseField name="settings" type="object">
  Additional settings for the trigger.

  <Expandable title="properties" defaultOpen="true">
    <ResponseField name="allow_blocks_to_fail" type="boolean">
      If `true`, then blocks in the pipeline will continue to run even if unrelated blocks fail.
    </ResponseField>

    <ResponseField name="create_initial_pipeline_run" type="boolean">
      If `true`, then an initial pipeline run will be created immediately after enabling the
      trigger if the trigger's current execution date is after its start date time but before
      current time.

      For example, if the current time is `1/4/24 12:00 UTC` and you create a daily trigger, the
      current execution date would be `2024-01-04 00:00`. If the start date was set to
      `1/3/24 12:00 UTC`, which is before the current execution date, and the `create_initial_pipeline_run`
      setting was enabled, a pipeline run with execution date `2024-01-04 00:00` would get created
      immediately.
    </ResponseField>

    <ResponseField name="skip_if_previous_running" type="boolean">
      If `true`, then new pipeline runs won’t be triggered until the most recent pipeline run is
      no longer running.
    </ResponseField>

    <ResponseField name="timeout" type="integer">
      Optional run timeout in seconds. When provided, the value is a positive integer. A `null`
      or omitted value means no timeout.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="sla" type="integer">
  Optional SLA threshold in seconds. If the pipeline run has been running for more than the SLA
  value, then the pipeline will fail. A positive integer enables SLA enforcement; `0` clears the
  SLA on update.
</ResponseField>

<ResponseField name="start_time" type="datetime">
  Date and time when the trigger should start running.
</ResponseField>

<ResponseField name="status" type="string" required>
  `active`, `inactive`
</ResponseField>

<ResponseField name="tags" type="array">
  An array of tag names. Each tag name can contain up to 70 characters.
</ResponseField>

<ResponseField name="token" type="string">
  Unique string used in the URL when triggering pipeline via API request.
</ResponseField>

<ResponseField name="updated_at" type="datetime" required>
  Date and time the trigger was last updated.
</ResponseField>

<ResponseField name="variables" type="object">
  Object containing variables for the pipeline that is being overwritten by this trigger.

  <Expandable title="properties" defaultOpen="true">
    <ResponseField name="[key]" type="string">
      The property name is user defined.
    </ResponseField>
  </Expandable>
</ResponseField>


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