Update Analysis
curl --request PATCH \
--url https://api.example.com/v1/analyses/{analysis_id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"name": "<string>",
"description": "<string>",
"urls_add": [
"<string>"
],
"sub_analysis_ids_remove": [
"<string>"
],
"structured_prompts": {
"ids": [
"prompt_01h45ytscbebyvny4gc8cr8ma2"
],
"definitions": [
{
"name": "Company Summary Extractor",
"description": "Extracts what a company does and whether it is generalist or specialist.",
"prompt": "Given the page content, answer the questions according to the schema.",
"response_schema": {
"draft_07": {
"enum": [
"generalist",
"specialist"
],
"type": "string"
}
}
}
]
},
"config": {
"normalize_input_to_domains": true,
"max_pages": 5
}
}
'import requests
url = "https://api.example.com/v1/analyses/{analysis_id}"
payload = {
"name": "<string>",
"description": "<string>",
"urls_add": ["<string>"],
"sub_analysis_ids_remove": ["<string>"],
"structured_prompts": {
"ids": ["prompt_01h45ytscbebyvny4gc8cr8ma2"],
"definitions": [
{
"name": "Company Summary Extractor",
"description": "Extracts what a company does and whether it is generalist or specialist.",
"prompt": "Given the page content, answer the questions according to the schema.",
"response_schema": { "draft_07": {
"enum": ["generalist", "specialist"],
"type": "string"
} }
}
]
},
"config": {
"normalize_input_to_domains": True,
"max_pages": 5
}
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
urls_add: ['<string>'],
sub_analysis_ids_remove: ['<string>'],
structured_prompts: {
ids: ['prompt_01h45ytscbebyvny4gc8cr8ma2'],
definitions: [
{
name: 'Company Summary Extractor',
description: 'Extracts what a company does and whether it is generalist or specialist.',
prompt: 'Given the page content, answer the questions according to the schema.',
response_schema: {draft_07: {enum: ['generalist', 'specialist'], type: 'string'}}
}
]
},
config: {normalize_input_to_domains: true, max_pages: 5}
})
};
fetch('https://api.example.com/v1/analyses/{analysis_id}', 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://api.example.com/v1/analyses/{analysis_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '<string>',
'urls_add' => [
'<string>'
],
'sub_analysis_ids_remove' => [
'<string>'
],
'structured_prompts' => [
'ids' => [
'prompt_01h45ytscbebyvny4gc8cr8ma2'
],
'definitions' => [
[
'name' => 'Company Summary Extractor',
'description' => 'Extracts what a company does and whether it is generalist or specialist.',
'prompt' => 'Given the page content, answer the questions according to the schema.',
'response_schema' => [
'draft_07' => [
'enum' => [
'generalist',
'specialist'
],
'type' => 'string'
]
]
]
]
],
'config' => [
'normalize_input_to_domains' => true,
'max_pages' => 5
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/analyses/{analysis_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"urls_add\": [\n \"<string>\"\n ],\n \"sub_analysis_ids_remove\": [\n \"<string>\"\n ],\n \"structured_prompts\": {\n \"ids\": [\n \"prompt_01h45ytscbebyvny4gc8cr8ma2\"\n ],\n \"definitions\": [\n {\n \"name\": \"Company Summary Extractor\",\n \"description\": \"Extracts what a company does and whether it is generalist or specialist.\",\n \"prompt\": \"Given the page content, answer the questions according to the schema.\",\n \"response_schema\": {\n \"draft_07\": {\n \"enum\": [\n \"generalist\",\n \"specialist\"\n ],\n \"type\": \"string\"\n }\n }\n }\n ]\n },\n \"config\": {\n \"normalize_input_to_domains\": true,\n \"max_pages\": 5\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.example.com/v1/analyses/{analysis_id}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"urls_add\": [\n \"<string>\"\n ],\n \"sub_analysis_ids_remove\": [\n \"<string>\"\n ],\n \"structured_prompts\": {\n \"ids\": [\n \"prompt_01h45ytscbebyvny4gc8cr8ma2\"\n ],\n \"definitions\": [\n {\n \"name\": \"Company Summary Extractor\",\n \"description\": \"Extracts what a company does and whether it is generalist or specialist.\",\n \"prompt\": \"Given the page content, answer the questions according to the schema.\",\n \"response_schema\": {\n \"draft_07\": {\n \"enum\": [\n \"generalist\",\n \"specialist\"\n ],\n \"type\": \"string\"\n }\n }\n }\n ]\n },\n \"config\": {\n \"normalize_input_to_domains\": true,\n \"max_pages\": 5\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/analyses/{analysis_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"urls_add\": [\n \"<string>\"\n ],\n \"sub_analysis_ids_remove\": [\n \"<string>\"\n ],\n \"structured_prompts\": {\n \"ids\": [\n \"prompt_01h45ytscbebyvny4gc8cr8ma2\"\n ],\n \"definitions\": [\n {\n \"name\": \"Company Summary Extractor\",\n \"description\": \"Extracts what a company does and whether it is generalist or specialist.\",\n \"prompt\": \"Given the page content, answer the questions according to the schema.\",\n \"response_schema\": {\n \"draft_07\": {\n \"enum\": [\n \"generalist\",\n \"specialist\"\n ],\n \"type\": \"string\"\n }\n }\n }\n ]\n },\n \"config\": {\n \"normalize_input_to_domains\": true,\n \"max_pages\": 5\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"name": "<string>",
"owner_id": "<string>",
"created_at": 123,
"urls": [
"<string>"
],
"prompts": [
{
"id": "prompt_01h45ytscbebyvny4gc8cr8ma2",
"idx": 123,
"name": "<string>",
"prompt": "<string>",
"version": 123,
"description": "<string>"
}
],
"description": "<string>",
"last_run_at": 123
},
"response_type": "AnalysisDescriptionResponse",
"links": [
{
"href": "/resource/{resource_id}",
"method": "GET",
"rel": "self",
"title": "Resource Details"
},
{
"href": "/resource/{resource_id}/related",
"method": "GET",
"rel": "related",
"title": "Related Resources"
}
]
}{
"data": {
"title": "Request Validation Error",
"status": 422,
"detail": "Request validation failed",
"instance": "https://urlyourequest.com/path?query=value"
},
"response_type": "ErrorResponse"
}{
"data": {
"title": "Unauthorized",
"status": 401,
"detail": "Authentication required",
"instance": "https://urlyourequest.com/path?query=value"
},
"response_type": "ErrorResponse"
}{
"data": {
"title": "Payment Required",
"status": 402,
"detail": "Payment required",
"instance": "https://urlyourequest.com/path?query=value"
},
"response_type": "ErrorResponse"
}{
"data": {
"title": "Forbidden",
"status": 403,
"detail": "Access forbidden",
"instance": "https://urlyourequest.com/path?query=value"
},
"response_type": "ErrorResponse"
}{
"data": {
"title": "Not Found",
"status": 404,
"detail": "Resource not found",
"instance": "https://urlyourequest.com/path?query=value"
},
"response_type": "ErrorResponse"
}{
"data": {
"title": "Request Validation Error",
"status": 422,
"detail": "Request validation failed",
"instance": "https://urlyourequest.com/path?query=value"
},
"response_type": "ErrorResponse"
}{
"data": {
"title": "Internal Server Error",
"status": 500,
"detail": "Internal server error",
"instance": "https://urlyourequest.com/path?query=value"
},
"response_type": "ErrorResponse"
}analyses
Update Analysis
Update an existing analysis.
Supports updating: name, description, URLs (add), sub-analyses (remove), prompts (replace), and configuration.
PATCH
/
v1
/
analyses
/
{analysis_id}
Update Analysis
curl --request PATCH \
--url https://api.example.com/v1/analyses/{analysis_id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"name": "<string>",
"description": "<string>",
"urls_add": [
"<string>"
],
"sub_analysis_ids_remove": [
"<string>"
],
"structured_prompts": {
"ids": [
"prompt_01h45ytscbebyvny4gc8cr8ma2"
],
"definitions": [
{
"name": "Company Summary Extractor",
"description": "Extracts what a company does and whether it is generalist or specialist.",
"prompt": "Given the page content, answer the questions according to the schema.",
"response_schema": {
"draft_07": {
"enum": [
"generalist",
"specialist"
],
"type": "string"
}
}
}
]
},
"config": {
"normalize_input_to_domains": true,
"max_pages": 5
}
}
'import requests
url = "https://api.example.com/v1/analyses/{analysis_id}"
payload = {
"name": "<string>",
"description": "<string>",
"urls_add": ["<string>"],
"sub_analysis_ids_remove": ["<string>"],
"structured_prompts": {
"ids": ["prompt_01h45ytscbebyvny4gc8cr8ma2"],
"definitions": [
{
"name": "Company Summary Extractor",
"description": "Extracts what a company does and whether it is generalist or specialist.",
"prompt": "Given the page content, answer the questions according to the schema.",
"response_schema": { "draft_07": {
"enum": ["generalist", "specialist"],
"type": "string"
} }
}
]
},
"config": {
"normalize_input_to_domains": True,
"max_pages": 5
}
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
urls_add: ['<string>'],
sub_analysis_ids_remove: ['<string>'],
structured_prompts: {
ids: ['prompt_01h45ytscbebyvny4gc8cr8ma2'],
definitions: [
{
name: 'Company Summary Extractor',
description: 'Extracts what a company does and whether it is generalist or specialist.',
prompt: 'Given the page content, answer the questions according to the schema.',
response_schema: {draft_07: {enum: ['generalist', 'specialist'], type: 'string'}}
}
]
},
config: {normalize_input_to_domains: true, max_pages: 5}
})
};
fetch('https://api.example.com/v1/analyses/{analysis_id}', 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://api.example.com/v1/analyses/{analysis_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '<string>',
'urls_add' => [
'<string>'
],
'sub_analysis_ids_remove' => [
'<string>'
],
'structured_prompts' => [
'ids' => [
'prompt_01h45ytscbebyvny4gc8cr8ma2'
],
'definitions' => [
[
'name' => 'Company Summary Extractor',
'description' => 'Extracts what a company does and whether it is generalist or specialist.',
'prompt' => 'Given the page content, answer the questions according to the schema.',
'response_schema' => [
'draft_07' => [
'enum' => [
'generalist',
'specialist'
],
'type' => 'string'
]
]
]
]
],
'config' => [
'normalize_input_to_domains' => true,
'max_pages' => 5
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/analyses/{analysis_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"urls_add\": [\n \"<string>\"\n ],\n \"sub_analysis_ids_remove\": [\n \"<string>\"\n ],\n \"structured_prompts\": {\n \"ids\": [\n \"prompt_01h45ytscbebyvny4gc8cr8ma2\"\n ],\n \"definitions\": [\n {\n \"name\": \"Company Summary Extractor\",\n \"description\": \"Extracts what a company does and whether it is generalist or specialist.\",\n \"prompt\": \"Given the page content, answer the questions according to the schema.\",\n \"response_schema\": {\n \"draft_07\": {\n \"enum\": [\n \"generalist\",\n \"specialist\"\n ],\n \"type\": \"string\"\n }\n }\n }\n ]\n },\n \"config\": {\n \"normalize_input_to_domains\": true,\n \"max_pages\": 5\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.example.com/v1/analyses/{analysis_id}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"urls_add\": [\n \"<string>\"\n ],\n \"sub_analysis_ids_remove\": [\n \"<string>\"\n ],\n \"structured_prompts\": {\n \"ids\": [\n \"prompt_01h45ytscbebyvny4gc8cr8ma2\"\n ],\n \"definitions\": [\n {\n \"name\": \"Company Summary Extractor\",\n \"description\": \"Extracts what a company does and whether it is generalist or specialist.\",\n \"prompt\": \"Given the page content, answer the questions according to the schema.\",\n \"response_schema\": {\n \"draft_07\": {\n \"enum\": [\n \"generalist\",\n \"specialist\"\n ],\n \"type\": \"string\"\n }\n }\n }\n ]\n },\n \"config\": {\n \"normalize_input_to_domains\": true,\n \"max_pages\": 5\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/analyses/{analysis_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"urls_add\": [\n \"<string>\"\n ],\n \"sub_analysis_ids_remove\": [\n \"<string>\"\n ],\n \"structured_prompts\": {\n \"ids\": [\n \"prompt_01h45ytscbebyvny4gc8cr8ma2\"\n ],\n \"definitions\": [\n {\n \"name\": \"Company Summary Extractor\",\n \"description\": \"Extracts what a company does and whether it is generalist or specialist.\",\n \"prompt\": \"Given the page content, answer the questions according to the schema.\",\n \"response_schema\": {\n \"draft_07\": {\n \"enum\": [\n \"generalist\",\n \"specialist\"\n ],\n \"type\": \"string\"\n }\n }\n }\n ]\n },\n \"config\": {\n \"normalize_input_to_domains\": true,\n \"max_pages\": 5\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"name": "<string>",
"owner_id": "<string>",
"created_at": 123,
"urls": [
"<string>"
],
"prompts": [
{
"id": "prompt_01h45ytscbebyvny4gc8cr8ma2",
"idx": 123,
"name": "<string>",
"prompt": "<string>",
"version": 123,
"description": "<string>"
}
],
"description": "<string>",
"last_run_at": 123
},
"response_type": "AnalysisDescriptionResponse",
"links": [
{
"href": "/resource/{resource_id}",
"method": "GET",
"rel": "self",
"title": "Resource Details"
},
{
"href": "/resource/{resource_id}/related",
"method": "GET",
"rel": "related",
"title": "Related Resources"
}
]
}{
"data": {
"title": "Request Validation Error",
"status": 422,
"detail": "Request validation failed",
"instance": "https://urlyourequest.com/path?query=value"
},
"response_type": "ErrorResponse"
}{
"data": {
"title": "Unauthorized",
"status": 401,
"detail": "Authentication required",
"instance": "https://urlyourequest.com/path?query=value"
},
"response_type": "ErrorResponse"
}{
"data": {
"title": "Payment Required",
"status": 402,
"detail": "Payment required",
"instance": "https://urlyourequest.com/path?query=value"
},
"response_type": "ErrorResponse"
}{
"data": {
"title": "Forbidden",
"status": 403,
"detail": "Access forbidden",
"instance": "https://urlyourequest.com/path?query=value"
},
"response_type": "ErrorResponse"
}{
"data": {
"title": "Not Found",
"status": 404,
"detail": "Resource not found",
"instance": "https://urlyourequest.com/path?query=value"
},
"response_type": "ErrorResponse"
}{
"data": {
"title": "Request Validation Error",
"status": 422,
"detail": "Request validation failed",
"instance": "https://urlyourequest.com/path?query=value"
},
"response_type": "ErrorResponse"
}{
"data": {
"title": "Internal Server Error",
"status": 500,
"detail": "Internal server error",
"instance": "https://urlyourequest.com/path?query=value"
},
"response_type": "ErrorResponse"
}Authorizations
API Key for external integrations (format: greetincs_...)
Path Parameters
Analysis ID in TypeID format
Body
application/json
Request schema for updating an analysis.
All fields are optional. At least one field must be provided.
Required string length:
1 - 255Maximum string length:
1000URLs to add as new sub-analyses
Sub-analysis IDs to mark as SKIPPED
Replace all prompts with this list
Show child attributes
Show child attributes
Replace analysis configuration
Show child attributes
Show child attributes
Response
Successful Response
Analysis with loaded prompt details and URLs.
Analysis detail data.
Show child attributes
Show child attributes
HATEOAS links related to this response (e.g., self, next, prev)
Show child attributes
Show child attributes
Example:
[
{
"href": "/resource/{resource_id}",
"method": "GET",
"rel": "self",
"title": "Resource Details"
},
{
"href": "/resource/{resource_id}/related",
"method": "GET",
"rel": "related",
"title": "Related Resources"
}
]
⌘I