curl --request POST \
--url https://api.geekidea.ai/v1/workflows/{author}/{slug}/quote \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.geekidea.ai/v1/workflows/{author}/{slug}/quote"
payload = {}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.geekidea.ai/v1/workflows/{author}/{slug}/quote', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"object": "workflow.quote",
"workflow": "geekidea/drama-episode",
"run_id": "run_0192f1c3a7b87c3e9a4f5b6c7d8e9f01",
"estimated_cost_usd": 1.25,
"model_cost_usd": 1.05,
"fee_usd": 0.2,
"total_cost_usd": 8.4,
"steps": [
{
"key": "story",
"model_cost_usd": 0.06,
"fee_usd": 0.04,
"next_segment": true
}
],
"currency": "USD"
}{
"error": {
"message": "The model does not exist or you do not have access to it.",
"type": "not_found_error",
"param": "model",
"code": "model_not_found",
"retryable": false,
"errors": [
{
"param": "messages",
"code": "missing_parameter",
"message": "<string>"
}
]
}
}{
"error": {
"message": "The model does not exist or you do not have access to it.",
"type": "not_found_error",
"param": "model",
"code": "model_not_found",
"retryable": false,
"errors": [
{
"param": "messages",
"code": "missing_parameter",
"message": "<string>"
}
]
}
}{
"error": {
"message": "The model does not exist or you do not have access to it.",
"type": "not_found_error",
"param": "model",
"code": "model_not_found",
"retryable": false,
"errors": [
{
"param": "messages",
"code": "missing_parameter",
"message": "<string>"
}
]
}
}{
"error": {
"message": "The model does not exist or you do not have access to it.",
"type": "not_found_error",
"param": "model",
"code": "model_not_found",
"retryable": false,
"errors": [
{
"param": "messages",
"code": "missing_parameter",
"message": "<string>"
}
]
}
}{
"error": {
"message": "The model does not exist or you do not have access to it.",
"type": "not_found_error",
"param": "model",
"code": "model_not_found",
"retryable": false,
"errors": [
{
"param": "messages",
"code": "missing_parameter",
"message": "<string>"
}
]
}
}{
"error": {
"message": "The model does not exist or you do not have access to it.",
"type": "not_found_error",
"param": "model",
"code": "model_not_found",
"retryable": false,
"errors": [
{
"param": "messages",
"code": "missing_parameter",
"message": "<string>"
}
]
}
}{
"error": {
"message": "The model does not exist or you do not have access to it.",
"type": "not_found_error",
"param": "model",
"code": "model_not_found",
"retryable": false,
"errors": [
{
"param": "messages",
"code": "missing_parameter",
"message": "<string>"
}
]
}
}{
"error": {
"message": "The model does not exist or you do not have access to it.",
"type": "not_found_error",
"param": "model",
"code": "model_not_found",
"retryable": false,
"errors": [
{
"param": "messages",
"code": "missing_parameter",
"message": "<string>"
}
]
}
}Quote
Quotes the start parameters (same body as the start endpoint) without running anything: the amount held for the first segment, plus the estimated model cost and workflow fee of all steps. Model cost is an estimate; the actual sub-calls are what gets billed.
curl --request POST \
--url https://api.geekidea.ai/v1/workflows/{author}/{slug}/quote \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.geekidea.ai/v1/workflows/{author}/{slug}/quote"
payload = {}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.geekidea.ai/v1/workflows/{author}/{slug}/quote', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"object": "workflow.quote",
"workflow": "geekidea/drama-episode",
"run_id": "run_0192f1c3a7b87c3e9a4f5b6c7d8e9f01",
"estimated_cost_usd": 1.25,
"model_cost_usd": 1.05,
"fee_usd": 0.2,
"total_cost_usd": 8.4,
"steps": [
{
"key": "story",
"model_cost_usd": 0.06,
"fee_usd": 0.04,
"next_segment": true
}
],
"currency": "USD"
}{
"error": {
"message": "The model does not exist or you do not have access to it.",
"type": "not_found_error",
"param": "model",
"code": "model_not_found",
"retryable": false,
"errors": [
{
"param": "messages",
"code": "missing_parameter",
"message": "<string>"
}
]
}
}{
"error": {
"message": "The model does not exist or you do not have access to it.",
"type": "not_found_error",
"param": "model",
"code": "model_not_found",
"retryable": false,
"errors": [
{
"param": "messages",
"code": "missing_parameter",
"message": "<string>"
}
]
}
}{
"error": {
"message": "The model does not exist or you do not have access to it.",
"type": "not_found_error",
"param": "model",
"code": "model_not_found",
"retryable": false,
"errors": [
{
"param": "messages",
"code": "missing_parameter",
"message": "<string>"
}
]
}
}{
"error": {
"message": "The model does not exist or you do not have access to it.",
"type": "not_found_error",
"param": "model",
"code": "model_not_found",
"retryable": false,
"errors": [
{
"param": "messages",
"code": "missing_parameter",
"message": "<string>"
}
]
}
}{
"error": {
"message": "The model does not exist or you do not have access to it.",
"type": "not_found_error",
"param": "model",
"code": "model_not_found",
"retryable": false,
"errors": [
{
"param": "messages",
"code": "missing_parameter",
"message": "<string>"
}
]
}
}{
"error": {
"message": "The model does not exist or you do not have access to it.",
"type": "not_found_error",
"param": "model",
"code": "model_not_found",
"retryable": false,
"errors": [
{
"param": "messages",
"code": "missing_parameter",
"message": "<string>"
}
]
}
}{
"error": {
"message": "The model does not exist or you do not have access to it.",
"type": "not_found_error",
"param": "model",
"code": "model_not_found",
"retryable": false,
"errors": [
{
"param": "messages",
"code": "missing_parameter",
"message": "<string>"
}
]
}
}{
"error": {
"message": "The model does not exist or you do not have access to it.",
"type": "not_found_error",
"param": "model",
"code": "model_not_found",
"retryable": false,
"errors": [
{
"param": "messages",
"code": "missing_parameter",
"message": "<string>"
}
]
}
}Authorizations
Provide your API key in the Authorization header using Bearer auth
Path Parameters
First part of the workflow ID (publisher), for example geekidea
Second part of the workflow ID, for example drama-episode
Body
Response
OK
Quote of the next segment of a workflow run
Object type, always workflow.quote
"workflow.quote"
Workflow ID
"geekidea/drama-episode"
Run ID
"run_0192f1c3a7b87c3e9a4f5b6c7d8e9f01"
Amount held on confirmation (USD), settled at the actual cost when the segment ends
1.25
Estimated model cost of all steps (USD)
1.05
Workflow fee of all steps (USD)
0.2
Total of all steps (USD)
8.4
Quote of each step
Show child attributes
Show child attributes
Currency
"USD"
