curl --request POST \
--url https://api.sigmora.org/v1/text/solve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"domain": "<string>",
"question": "<string>",
"context": "<string>",
"difficulty": "<string>",
"showSteps": true,
"includeExplanation": true,
"projectId": "<string>"
}
'import requests
url = "https://api.sigmora.org/v1/text/solve"
payload = {
"domain": "<string>",
"question": "<string>",
"context": "<string>",
"difficulty": "<string>",
"showSteps": True,
"includeExplanation": True,
"projectId": "<string>"
}
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({
domain: '<string>',
question: '<string>',
context: '<string>',
difficulty: '<string>',
showSteps: true,
includeExplanation: true,
projectId: '<string>'
})
};
fetch('https://api.sigmora.org/v1/text/solve', 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.sigmora.org/v1/text/solve",
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([
'domain' => '<string>',
'question' => '<string>',
'context' => '<string>',
'difficulty' => '<string>',
'showSteps' => true,
'includeExplanation' => true,
'projectId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.sigmora.org/v1/text/solve"
payload := strings.NewReader("{\n \"domain\": \"<string>\",\n \"question\": \"<string>\",\n \"context\": \"<string>\",\n \"difficulty\": \"<string>\",\n \"showSteps\": true,\n \"includeExplanation\": true,\n \"projectId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.sigmora.org/v1/text/solve")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"domain\": \"<string>\",\n \"question\": \"<string>\",\n \"context\": \"<string>\",\n \"difficulty\": \"<string>\",\n \"showSteps\": true,\n \"includeExplanation\": true,\n \"projectId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sigmora.org/v1/text/solve")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"domain\": \"<string>\",\n \"question\": \"<string>\",\n \"context\": \"<string>\",\n \"difficulty\": \"<string>\",\n \"showSteps\": true,\n \"includeExplanation\": true,\n \"projectId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"projectId": "<string>",
"credits": 123,
"solution": "<unknown>",
"creditBalance": 123
}{
"success": "<unknown>",
"error": "<string>",
"details": "<unknown>"
}{
"success": "<unknown>",
"error": "<string>",
"details": "<unknown>"
}{
"success": "<unknown>",
"error": "<string>",
"details": "<unknown>"
}{
"success": "<unknown>",
"error": "<string>",
"details": "<unknown>"
}{
"success": "<unknown>",
"error": "<string>",
"details": "<unknown>"
}{
"success": "<unknown>",
"error": "<string>",
"details": "<unknown>"
}{
"success": "<unknown>",
"error": "<string>",
"details": "<unknown>"
}{
"success": "<unknown>",
"error": "<string>",
"details": "<unknown>"
}{
"success": "<unknown>",
"error": "<string>",
"details": "<unknown>"
}{
"success": "<unknown>",
"error": "<string>",
"details": "<unknown>"
}{
"success": "<unknown>",
"error": "<string>",
"details": "<unknown>"
}Solve a question
Solve a question in a named domain, with worked steps.
curl --request POST \
--url https://api.sigmora.org/v1/text/solve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"domain": "<string>",
"question": "<string>",
"context": "<string>",
"difficulty": "<string>",
"showSteps": true,
"includeExplanation": true,
"projectId": "<string>"
}
'import requests
url = "https://api.sigmora.org/v1/text/solve"
payload = {
"domain": "<string>",
"question": "<string>",
"context": "<string>",
"difficulty": "<string>",
"showSteps": True,
"includeExplanation": True,
"projectId": "<string>"
}
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({
domain: '<string>',
question: '<string>',
context: '<string>',
difficulty: '<string>',
showSteps: true,
includeExplanation: true,
projectId: '<string>'
})
};
fetch('https://api.sigmora.org/v1/text/solve', 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.sigmora.org/v1/text/solve",
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([
'domain' => '<string>',
'question' => '<string>',
'context' => '<string>',
'difficulty' => '<string>',
'showSteps' => true,
'includeExplanation' => true,
'projectId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.sigmora.org/v1/text/solve"
payload := strings.NewReader("{\n \"domain\": \"<string>\",\n \"question\": \"<string>\",\n \"context\": \"<string>\",\n \"difficulty\": \"<string>\",\n \"showSteps\": true,\n \"includeExplanation\": true,\n \"projectId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.sigmora.org/v1/text/solve")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"domain\": \"<string>\",\n \"question\": \"<string>\",\n \"context\": \"<string>\",\n \"difficulty\": \"<string>\",\n \"showSteps\": true,\n \"includeExplanation\": true,\n \"projectId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sigmora.org/v1/text/solve")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"domain\": \"<string>\",\n \"question\": \"<string>\",\n \"context\": \"<string>\",\n \"difficulty\": \"<string>\",\n \"showSteps\": true,\n \"includeExplanation\": true,\n \"projectId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"projectId": "<string>",
"credits": 123,
"solution": "<unknown>",
"creditBalance": 123
}{
"success": "<unknown>",
"error": "<string>",
"details": "<unknown>"
}{
"success": "<unknown>",
"error": "<string>",
"details": "<unknown>"
}{
"success": "<unknown>",
"error": "<string>",
"details": "<unknown>"
}{
"success": "<unknown>",
"error": "<string>",
"details": "<unknown>"
}{
"success": "<unknown>",
"error": "<string>",
"details": "<unknown>"
}{
"success": "<unknown>",
"error": "<string>",
"details": "<unknown>"
}{
"success": "<unknown>",
"error": "<string>",
"details": "<unknown>"
}{
"success": "<unknown>",
"error": "<string>",
"details": "<unknown>"
}{
"success": "<unknown>",
"error": "<string>",
"details": "<unknown>"
}{
"success": "<unknown>",
"error": "<string>",
"details": "<unknown>"
}{
"success": "<unknown>",
"error": "<string>",
"details": "<unknown>"
}Authorizations
A workspace API key.
Body
Solver domain. GET /api/solve/domains lists them.
1 - 60The question to solve, with worked steps.
1 - 200002000060The project to file this work under. Optional: omit it and one is created for you, and its id comes back on the response — read it from there rather than assuming. Pass the same id across calls when you want the script, the render and the thumbnail to land in one container. A project this workspace does not own answers not_found; the work is never silently filed somewhere else.
1 - 200Response
Success.
The project this work was filed under. Read it from here — a call that sent no projectId had one created, and this is where its id comes back.
"prj_9x2a4c"
What this call actually cost, which is not always what was quoted.
300
The answer and the steps that reach it.
Your balance after the charge. Absent when billing is disabled for the workspace.
3900