curl --request POST \
--url https://api.example.com/v1/prompts/ \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"name": "Company Summary Extractor",
"prompt": "Given the page content, answer the questions according to the schema.",
"description": "Extracts what a company does and whether it is generalist or specialist.",
"response_schema": {
"draft_07": {
"enum": [
"generalist",
"specialist"
],
"type": "string"
}
}
}
'import requests
url = "https://api.example.com/v1/prompts/"
payload = {
"name": "Company Summary Extractor",
"prompt": "Given the page content, answer the questions according to the schema.",
"description": "Extracts what a company does and whether it is generalist or specialist.",
"response_schema": { "draft_07": {
"enum": ["generalist", "specialist"],
"type": "string"
} }
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Company Summary Extractor',
prompt: 'Given the page content, answer the questions according to the schema.',
description: 'Extracts what a company does and whether it is generalist or specialist.',
response_schema: {draft_07: {enum: ['generalist', 'specialist'], type: 'string'}}
})
};
fetch('https://api.example.com/v1/prompts/', 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/prompts/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Company Summary Extractor',
'prompt' => 'Given the page content, answer the questions according to the schema.',
'description' => 'Extracts what a company does and whether it is generalist or specialist.',
'response_schema' => [
'draft_07' => [
'enum' => [
'generalist',
'specialist'
],
'type' => 'string'
]
]
]),
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/prompts/"
payload := strings.NewReader("{\n \"name\": \"Company Summary Extractor\",\n \"prompt\": \"Given the page content, answer the questions according to the schema.\",\n \"description\": \"Extracts what a company does and whether it is generalist or specialist.\",\n \"response_schema\": {\n \"draft_07\": {\n \"enum\": [\n \"generalist\",\n \"specialist\"\n ],\n \"type\": \"string\"\n }\n }\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.example.com/v1/prompts/")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Company Summary Extractor\",\n \"prompt\": \"Given the page content, answer the questions according to the schema.\",\n \"description\": \"Extracts what a company does and whether it is generalist or specialist.\",\n \"response_schema\": {\n \"draft_07\": {\n \"enum\": [\n \"generalist\",\n \"specialist\"\n ],\n \"type\": \"string\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/prompts/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Company Summary Extractor\",\n \"prompt\": \"Given the page content, answer the questions according to the schema.\",\n \"description\": \"Extracts what a company does and whether it is generalist or specialist.\",\n \"response_schema\": {\n \"draft_07\": {\n \"enum\": [\n \"generalist\",\n \"specialist\"\n ],\n \"type\": \"string\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "prompt_01h45ytscbebyvny4gc8cr8ma2",
"name": "<string>",
"prompt": "<string>",
"response_schema": {
"draft_07": {
"enum": [
"generalist",
"specialist"
],
"type": "string"
}
},
"version": 123,
"is_current": true,
"created_at": 123,
"description": "<string>"
},
"response_type": "PromptResponse",
"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": "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"
}Create Prompt
Create a new structured prompt (version 1).
curl --request POST \
--url https://api.example.com/v1/prompts/ \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"name": "Company Summary Extractor",
"prompt": "Given the page content, answer the questions according to the schema.",
"description": "Extracts what a company does and whether it is generalist or specialist.",
"response_schema": {
"draft_07": {
"enum": [
"generalist",
"specialist"
],
"type": "string"
}
}
}
'import requests
url = "https://api.example.com/v1/prompts/"
payload = {
"name": "Company Summary Extractor",
"prompt": "Given the page content, answer the questions according to the schema.",
"description": "Extracts what a company does and whether it is generalist or specialist.",
"response_schema": { "draft_07": {
"enum": ["generalist", "specialist"],
"type": "string"
} }
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Company Summary Extractor',
prompt: 'Given the page content, answer the questions according to the schema.',
description: 'Extracts what a company does and whether it is generalist or specialist.',
response_schema: {draft_07: {enum: ['generalist', 'specialist'], type: 'string'}}
})
};
fetch('https://api.example.com/v1/prompts/', 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/prompts/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Company Summary Extractor',
'prompt' => 'Given the page content, answer the questions according to the schema.',
'description' => 'Extracts what a company does and whether it is generalist or specialist.',
'response_schema' => [
'draft_07' => [
'enum' => [
'generalist',
'specialist'
],
'type' => 'string'
]
]
]),
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/prompts/"
payload := strings.NewReader("{\n \"name\": \"Company Summary Extractor\",\n \"prompt\": \"Given the page content, answer the questions according to the schema.\",\n \"description\": \"Extracts what a company does and whether it is generalist or specialist.\",\n \"response_schema\": {\n \"draft_07\": {\n \"enum\": [\n \"generalist\",\n \"specialist\"\n ],\n \"type\": \"string\"\n }\n }\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.example.com/v1/prompts/")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Company Summary Extractor\",\n \"prompt\": \"Given the page content, answer the questions according to the schema.\",\n \"description\": \"Extracts what a company does and whether it is generalist or specialist.\",\n \"response_schema\": {\n \"draft_07\": {\n \"enum\": [\n \"generalist\",\n \"specialist\"\n ],\n \"type\": \"string\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/prompts/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Company Summary Extractor\",\n \"prompt\": \"Given the page content, answer the questions according to the schema.\",\n \"description\": \"Extracts what a company does and whether it is generalist or specialist.\",\n \"response_schema\": {\n \"draft_07\": {\n \"enum\": [\n \"generalist\",\n \"specialist\"\n ],\n \"type\": \"string\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "prompt_01h45ytscbebyvny4gc8cr8ma2",
"name": "<string>",
"prompt": "<string>",
"response_schema": {
"draft_07": {
"enum": [
"generalist",
"specialist"
],
"type": "string"
}
},
"version": 123,
"is_current": true,
"created_at": 123,
"description": "<string>"
},
"response_type": "PromptResponse",
"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": "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_...)
Body
Request schema for creating a new prompt.
Note: version is an internal field managed by the system.
- version: Auto-incremented on updates, starts at 1 for new prompts
1 - 255"Company Summary Extractor"
1"Given the page content, answer the questions according to the schema."
1000"Extracts what a company does and whether it is generalist or specialist."
JSON Schema Draft-07 model for structured prompt responses. Supports both primitive schemas (e.g., {"type": "string"}) and object schemas. If omitted, defaults to {"type": "string"}.
Show child attributes
Show child attributes
Response
Successful Response
API response model for structured prompts.
Data model for versioned structured prompts.
The id field serializes as unversioned (prompt_xxx) for direct use in API paths.
Version info is in the separate version field.
Show child attributes
Show child attributes
HATEOAS links related to this response (e.g., self, next, prev)
Show child attributes
Show child attributes
[
{
"href": "/resource/{resource_id}",
"method": "GET",
"rel": "self",
"title": "Resource Details"
},
{
"href": "/resource/{resource_id}/related",
"method": "GET",
"rel": "related",
"title": "Related Resources"
}
]