Archive automation
curl --request POST \
--url https://automations-api.vortexiq.ai/v1/automations/{automationId}/archive \
--header 'Authorization: Bearer <token>'import requests
url = "https://automations-api.vortexiq.ai/v1/automations/{automationId}/archive"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://automations-api.vortexiq.ai/v1/automations/{automationId}/archive', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://automations-api.vortexiq.ai/v1/automations/{automationId}/archive",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://automations-api.vortexiq.ai/v1/automations/{automationId}/archive"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://automations-api.vortexiq.ai/v1/automations/{automationId}/archive")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://automations-api.vortexiq.ai/v1/automations/{automationId}/archive")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"contract_version": 1,
"data": {
"automation": {
"id": "01M520GSDQH5TQ3CAAQ584TTKH",
"version": 5,
"kind": "template",
"import_id": null,
"template_id": "shopify-catalogue-quality",
"template_version": 4,
"platform": "shopify",
"integration_id": 101,
"store_label": "Example Shopify store",
"name": "Weekly catalogue check",
"state": "archived",
"trigger": {
"kind": "schedule"
},
"paused_by": null,
"paused_reason": null,
"inputs": {},
"bindings": {},
"plan_version": 1,
"connections": [],
"schedule": {
"cadence": "weekly",
"run_at": "07:00",
"day_of_week": 1,
"day_of_month": null,
"date": null,
"days": null,
"week_of_month": null
},
"timezone": "Europe/London",
"spread_minutes": 2,
"next_run_at": null,
"last_run_at": "2026-10-16T09:26:06.219Z",
"consecutive_failures": 0,
"send_mode": "ask",
"created_at": "2026-10-16T09:26:03.448Z",
"updated_at": "2026-10-16T09:26:07.146Z",
"created_by": 7,
"created_via": "api-token",
"api_client_id": "viq_auto_Ab12Cd34Ef56Gh78Ij90Kl12"
}
}
}{
"success": false,
"contract_version": 2,
"message": "<string>",
"code": "<string>",
"errors": {}
}{
"success": false,
"contract_version": 2,
"message": "<string>",
"code": "<string>",
"errors": {}
}{
"success": false,
"contract_version": 2,
"message": "<string>",
"code": "<string>",
"errors": {}
}{
"success": false,
"contract_version": 2,
"message": "<string>",
"code": "<string>",
"errors": {}
}{
"success": false,
"contract_version": 2,
"message": "<string>",
"code": "<string>",
"errors": {}
}Archive automation
Archive an automation: nothing more runs. Its queued runs are cancelled (automation_off), one someone
approved too, and it cannot be run by hand while archived. Its runs and history stay readable, and you can
restore it. Answers 409 wrong_state when it is already archived.
Needs the automations:write scope.
POST
/
v1
/
automations
/
{automationId}
/
archive
Archive automation
curl --request POST \
--url https://automations-api.vortexiq.ai/v1/automations/{automationId}/archive \
--header 'Authorization: Bearer <token>'import requests
url = "https://automations-api.vortexiq.ai/v1/automations/{automationId}/archive"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://automations-api.vortexiq.ai/v1/automations/{automationId}/archive', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://automations-api.vortexiq.ai/v1/automations/{automationId}/archive",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://automations-api.vortexiq.ai/v1/automations/{automationId}/archive"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://automations-api.vortexiq.ai/v1/automations/{automationId}/archive")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://automations-api.vortexiq.ai/v1/automations/{automationId}/archive")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"contract_version": 1,
"data": {
"automation": {
"id": "01M520GSDQH5TQ3CAAQ584TTKH",
"version": 5,
"kind": "template",
"import_id": null,
"template_id": "shopify-catalogue-quality",
"template_version": 4,
"platform": "shopify",
"integration_id": 101,
"store_label": "Example Shopify store",
"name": "Weekly catalogue check",
"state": "archived",
"trigger": {
"kind": "schedule"
},
"paused_by": null,
"paused_reason": null,
"inputs": {},
"bindings": {},
"plan_version": 1,
"connections": [],
"schedule": {
"cadence": "weekly",
"run_at": "07:00",
"day_of_week": 1,
"day_of_month": null,
"date": null,
"days": null,
"week_of_month": null
},
"timezone": "Europe/London",
"spread_minutes": 2,
"next_run_at": null,
"last_run_at": "2026-10-16T09:26:06.219Z",
"consecutive_failures": 0,
"send_mode": "ask",
"created_at": "2026-10-16T09:26:03.448Z",
"updated_at": "2026-10-16T09:26:07.146Z",
"created_by": 7,
"created_via": "api-token",
"api_client_id": "viq_auto_Ab12Cd34Ef56Gh78Ij90Kl12"
}
}
}{
"success": false,
"contract_version": 2,
"message": "<string>",
"code": "<string>",
"errors": {}
}{
"success": false,
"contract_version": 2,
"message": "<string>",
"code": "<string>",
"errors": {}
}{
"success": false,
"contract_version": 2,
"message": "<string>",
"code": "<string>",
"errors": {}
}{
"success": false,
"contract_version": 2,
"message": "<string>",
"code": "<string>",
"errors": {}
}{
"success": false,
"contract_version": 2,
"message": "<string>",
"code": "<string>",
"errors": {}
}Authorizations
bearerAuthapiCredential
A bearer token from Login, sent as Authorization: Bearer <token>. Valid for 60 minutes; it acts as the person named at login, within their organisation, and never approves. Rotating or disabling the organisation's API credential ends every token made with it on its next call. See Authentication.
Path Parameters
The automation's id. A public id (a ULID).
Pattern:
^[0-9A-HJKMNP-TV-Z]{26}$Was this page helpful?
⌘I