Collections (Shared)
Collections are the container for scrape jobs. Each collection belongs to one supplier type (amazon or officeworks.com.au). All endpoints require authentication via API Key or Session Token.
Create Collection
https://multicartapi.com/api/v1/schedules/add_schedule/Create a new collection. Status is force-set to draft on creation and auto-promoted to enable when the first ASIN or SKU is added.
curl "https://multicartapi.com/api/v1/schedules/add_schedule/" \
-X POST \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "AU Laptops",
"request_type": "amazon",
"schedule": "Daily",
"priority": "Normal",
"notification_email": "[email protected]",
"fetch_mode": "full"
}'Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Required | Human-readable collection name. |
request_type | string | Required | Supplier type: amazon or officeworks.com.au. For category scrapes use the dedicated category endpoint. |
schedule | string | Required | Run frequency: Every X Minutes, Daily, Weekly, Monthly, or Manual. |
priority | string | Required | Queue priority: Highest, High, Normal, Low, or Lowest. |
notification_email | string | Required | Email address for run-completion notifications. |
fetch_mode | string | Optional | full returns product details + availability; availability_only returns stock status only. |
schedule_time | object | Optional | Schedule configuration object. For Every X Minutes: { "minutes_frequency": "57", "days_of_week": ["tuesday"], "hours": ["00.00", "04.00"] }. |
destinations | string | Optional | Optional webhook or destination configuration. |
{
"name": "AU Laptops",
"request_type": "amazon",
"schedule": "Daily",
"priority": "Normal",
"notification_email": "[email protected]",
"fetch_mode": "full"
}{
"code": 200,
"data": {
"id": 101,
"name": "AU Laptops",
"status": "draft",
"schedule_status": "Pending",
"request_type": "amazon",
"fetch_mode": "full",
"created_at": "2026-06-20T10:00:00Z",
"updated_at": "2026-06-20T10:00:00Z"
},
"status": 1
}Notes
List Collections
https://multicartapi.com/api/v1/schedules/get_schedules/List all collections for the authenticated user. Returns only status=enable collections; drafts are excluded.
curl "https://multicartapi.com/api/v1/schedules/get_schedules/" \
-X POST \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"sort_by": "updated_at",
"sort_order": "desc"
}'Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
sort_by | string | Optional | Field to sort results by. Default is updated_at descending. |
sort_order | string | Optional | Sort direction: asc or desc. |
{
"sort_by": "updated_at",
"sort_order": "desc"
}{
"code": 200,
"data": [
{
"id": 101,
"name": "AU Laptops",
"status": "enable",
"schedule_status": "Completed",
"request_type": "amazon",
"fetch_mode": "full",
"asin_count": 250,
"created_at": "2026-06-20T10:00:00Z",
"updated_at": "2026-06-20T12:00:00Z"
}
],
"status": 1
}Notes
Get Collection
https://multicartapi.com/api/v1/schedules/get/Retrieve a single collection by its ID.
curl "https://multicartapi.com/api/v1/schedules/get/" \
-X POST \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"schedule_id": 101
}'Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
schedule_id | integer | Required | Collection ID to retrieve. |
{
"schedule_id": 101
}{
"code": 200,
"data": {
"id": 101,
"name": "AU Laptops",
"status": "enable",
"schedule_status": "Completed",
"request_type": "amazon",
"schedule": "Daily",
"priority": "Normal",
"fetch_mode": "full",
"notification_email": "[email protected]",
"created_at": "2026-06-20T10:00:00Z",
"updated_at": "2026-06-20T12:00:00Z"
},
"status": 1
}Notes
Update Collection
https://multicartapi.com/api/v1/schedules/update_schedule/Partial update of any writable field on an existing collection.
curl "https://multicartapi.com/api/v1/schedules/update_schedule/" \
-X POST \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"schedule_id": 101,
"priority": "High",
"schedule": "Weekly"
}'Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
schedule_id | integer | Required | Collection ID to update. |
name | string | Optional | New collection name. |
schedule | string | Optional | New run frequency: Every X Minutes, Daily, Weekly, Monthly, or Manual. |
priority | string | Optional | New queue priority: Highest, High, Normal, Low, or Lowest. |
notification_email | string | Optional | New notification email address. |
fetch_mode | string | Optional | full or availability_only. |
schedule_time | object | Optional | New schedule configuration object. |
{
"schedule_id": 101,
"priority": "High",
"schedule": "Weekly"
}{
"code": 200,
"data": {
"id": 101,
"name": "AU Laptops",
"priority": "High",
"schedule": "Weekly",
"updated_at": "2026-06-20T13:00:00Z"
},
"status": 1
}Notes
Delete Collection
https://multicartapi.com/api/v1/schedules/delete_schedule/Delete a single collection and remove all its result files from disk.
curl "https://multicartapi.com/api/v1/schedules/delete_schedule/" \
-X POST \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"schedule_id": 101
}'Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
schedule_id | integer | Required | Collection ID to delete. |
{
"schedule_id": 101
}{ "code": 200, "data": { "detail": "Schedule deleted successfully." }, "status": 1 }Notes
Delete Multiple Collections
https://multicartapi.com/api/v1/schedules/delete_multiple/Delete multiple collections in a per-item loop (not a bulk SQL DELETE). Returns count of deleted items.
curl "https://multicartapi.com/api/v1/schedules/delete_multiple/" \
-X POST \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"schedule_ids": [101, 102, 103]
}'Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
schedule_ids | array of integers | Required | JSON array of collection IDs to delete. |
{
"schedule_ids": [101, 102, 103]
}{ "code": 200, "data": { "detail": "3 schedule(s) and associated folder(s) deleted successfully." }, "status": 1 }Notes
Run Collection
https://multicartapi.com/api/v1/schedules/run/result/Immediately enqueue all ASINs or SKUs in a collection for scraping. Performs a credit check before queuing.
curl "https://multicartapi.com/api/v1/schedules/run/result/" \
-X POST \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"collection_id": 101
}'Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
collection_id | integer | Required | Collection ID to run. |
{
"collection_id": 101
}{
"code": 200,
"data": "Scraping Processing Queued!",
"status": 1
}Notes
List Run Results
https://multicartapi.com/api/v1/schedules/collections/results/download/Poll run history for a collection and get download links for result JSON and ZIP files.
curl "https://multicartapi.com/api/v1/schedules/collections/results/download/" \
-X POST \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"collection_id": 101,
"skip": 0,
"limit": 5
}'Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
collection_id | integer | Required | Collection ID to retrieve run history for. |
skip | integer | Optional | Pagination offset (number of runner rows to skip). |
limit | integer | Optional | Page size (number of runner rows to return). |
{
"collection_id": 101,
"skip": 0,
"limit": 5
}{
"code": 200,
"data": [
{
"id": 88,
"collection": 101,
"is_download_generated": true,
"download_links": {
"pages": [
"https://multicartapi.com/api/v1/results/101/88/AU Laptops_88_Results_Page_1.json"
],
"all_pages": "https://multicartapi.com/api/v1/results/101/88/AU Laptops_88_Results_All_Pages.zip"
},
"total_exacted_result": 250,
"total_results": 250,
"created_at": "2026-06-20T12:00:00Z",
"updated_at": "2026-06-20T12:05:00Z"
}
],
"status": 1
}Notes
Download Result File
https://multicartapi.com/api/v1/results/<collection_id>/<runner_id>/<file_name>Stream a result file (JSON page or ZIP archive) as a binary attachment.
curl "https://multicartapi.com/api/v1/results/<collection_id>/<runner_id>/<file_name>" \
-X GET \
-H "x-api-key: YOUR_API_KEY"Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
collection_id | integer | Required | Collection ID. |
runner_id | integer | Required | Runner ID from the download_links response. |
file_name | string | Required | File name as returned in download_links, e.g. AU Laptops_88_Results_Page_1.json or AU Laptops_88_Results_All_Pages.zip. |
<binary stream — Content-Type: application/octet-stream, Content-Disposition: attachment>Notes
