---
search:
  tags:
    - Scheduling
    - POST
seo:
  description: >-
    Schedules a new job to modify item status, price, tags,… Reference for the
    POST /api/v1/{team_slug}/{app_slug}/schedule endpoint in the Management API.
sidebar:
  label: Create Scheduled Job
  badge: POST
title: Create Scheduled Job
type: openapi-operation
---
Schedules a new job to modify item status, price, tags, categories, or collections at a specified future date. Supports products, tags, images, prices, and variants.

`POST /api/v1/{team_slug}/{app_slug}/schedule`

**Request body** (`application/json`, required)

Scheduling data

- `add_categories` (string[])
- `add_collections` (string[])
- `add_tags` (string[])
- `execute_at` (string, required) — Execute at is the date when the product should change date. This date need to follow the format \`YYYY-MM-DD\`
- `item_id` (string, required)
- `item_type` (string, required)
- `remove_categories` (string[])
- `remove_collections` (string[])
- `remove_tags` (string[])
- `to_market_id` (string) — Market ID for market status change. Only used when item\_type is \`product\`
- `to_market_status` (string) — Target market status. Only used when item\_type is \`product\`
- `to_on_sale` (boolean) — Used to change if a price is on sale on a specific date. Only used when item\_type is \`price\`
- `to_price_with_tax` (integer) — Used to change the price on a specific date. Only used when item\_type is \`price\`
- `to_sale_price_with_tax` (integer) — Used to change the sale price on a specific date. Only used when item\_type is \`price\`
- `to_start_sale_timestamp` (string) — Used to set the start sale timestamp on a specific date. Only used when item\_type is \`price\`. Expects RFC3339 format.
- `to_status` (string)
- `to_stop_sale_timestamp` (string) — Used to set the stop sale timestamp on a specific date. Only used when item\_type is \`price\`. Expects RFC3339 format.
- `to_store_group_id` (string) — Store group ID for market status change. Only used when item\_type is \`product\`

Request body example:

```json
{
  "add_categories": [
    "string"
  ],
  "add_collections": [
    "string"
  ],
  "add_tags": [
    "string"
  ],
  "execute_at": "string",
  "item_id": "string",
  "item_type": "product",
  "remove_categories": [
    "string"
  ],
  "remove_collections": [
    "string"
  ],
  "remove_tags": [
    "string"
  ],
  "to_market_id": "string",
  "to_market_status": "active",
  "to_on_sale": true,
  "to_price_with_tax": 0,
  "to_sale_price_with_tax": 0,
  "to_start_sale_timestamp": "string",
  "to_status": "active",
  "to_stop_sale_timestamp": "string",
  "to_store_group_id": "string"
}
```

**Responses**

- `200` — Job is scheduled
- `400` — Invalid request (e.g. bad UUID, validation error)
- `401` — Unauthorized access
- `500` — Internal server error

Response example, 200:

```json
{
  "data": {
    "add_category_names": [
      "string"
    ],
    "add_collection_names": [
      "string"
    ],
    "add_tag_names": [
      "string"
    ],
    "execute_at": "string",
    "finished_at": "string",
    "group_id": "string",
    "id": "string",
    "item_id": "string",
    "item_name": "string",
    "item_type": "string",
    "remove_category_names": [
      "string"
    ],
    "remove_collection_names": [
      "string"
    ],
    "remove_tag_names": [
      "string"
    ],
    "to_amount_cents_with_tax": 0,
    "to_market_id": "string",
    "to_market_status": "string",
    "to_on_sale": true,
    "to_sale_amount_cents_with_tax": 0,
    "to_start_sale_timestamp": "string",
    "to_status": "string",
    "to_stop_sale_timestamp": "string",
    "to_store_group_id": "string"
  },
  "details": [
    "string"
  ],
  "success": true
}
```
