Propose an AI search fix for approval
Beta. Hands an edited fix to the Marketer as one action waiting for approval: a GitHub pull request or a WordPress draft.
POST
/
geo
/
fixes
Propose an AI search fix for approval
curl --request POST \
--url https://app.mithunai.com/mithunai/api/v1/geo/fixes \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"target": "<string>",
"title": "<string>",
"body": "<string>",
"prompt_id": "<string>",
"engine": "<string>"
}
'import requests
url = "https://app.mithunai.com/mithunai/api/v1/geo/fixes"
payload = {
"target": "<string>",
"title": "<string>",
"body": "<string>",
"prompt_id": "<string>",
"engine": "<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({
target: '<string>',
title: '<string>',
body: JSON.stringify('<string>'),
prompt_id: '<string>',
engine: '<string>'
})
};
fetch('https://app.mithunai.com/mithunai/api/v1/geo/fixes', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));Beta. Hands your edited fix to the Marketer as one action waiting for approval. Nothing is sent until a person approves it in the approval queue. Both kinds always need a person and can never be set to always allow.
github_pull_request: once approved, a new branch namedgeo-fix/..., one commit ofpathon that branch, and a pull request into your default branch. Your default branch is never written to, and nothing is merged: you review and merge in GitHub. An existing file gains the section at its end; a missing one is created. Needs the Marketer’s Docs repository connected to GitHub.wordpress_draft: once approved, a post with statusdraft. Nothing offers to publish it from here. Needs the Marketer’s Website and blog connected to WordPress.
agent.update permission. Answers 404 unless both AI search visibility and AI employees are switched on for your deployment.
string
required
github_pull_request or wordpress_draft.string
required
One line, at most 200 characters. The pull request’s or the post’s title.
string
required
The section, at most 8000 characters.
string
github_pull_request only: a .md or .mdx file in the repository, such as
docs/answers/sync.md. No part may start with a dot, and when the connection names a folder the
file must be inside it. Anything else returns 400, or is not sent.string
Why, for the pull request’s description. At most 2000 characters.
string
required
The gap’s tracked question.
string
required
The gap’s engine:
openai, anthropic or perplexity.Response
201 with the task, as handing an employee work returns it: its one action is
marketer.geo_fix.pull_request or marketer.geo_fix.draft, with status: "pending" and requires_approval: true.Last modified on November 12, 2026
Propose an AI search fix for approval
curl --request POST \
--url https://app.mithunai.com/mithunai/api/v1/geo/fixes \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"target": "<string>",
"title": "<string>",
"body": "<string>",
"prompt_id": "<string>",
"engine": "<string>"
}
'import requests
url = "https://app.mithunai.com/mithunai/api/v1/geo/fixes"
payload = {
"target": "<string>",
"title": "<string>",
"body": "<string>",
"prompt_id": "<string>",
"engine": "<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({
target: '<string>',
title: '<string>',
body: JSON.stringify('<string>'),
prompt_id: '<string>',
engine: '<string>'
})
};
fetch('https://app.mithunai.com/mithunai/api/v1/geo/fixes', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));