← Back to app

Developer API

Programmatic access to Ideavory-ai planning. Send a goal, get clarifying questions and a structured action plan back. Available on the Developer plan.

Base URL https://your-domain
Authentication Authorization: Bearer YOUR_API_KEY
Rate limits 30 req/min and 500 req/day per key.
Model all API requests run on gpt-4o-mini (fast, low-cost).

1. Get an API key

Subscribe to the Developer plan, then open the app, click your account → Generate API key. Each new key revokes the previous one — store it somewhere safe.

POST /auth/dev-api-key
X-Auth-Token: <your web session token>

Response:

{
  "api_key": "ai_live_AbCdEf1234..."
}

2. Start a planning session

POST /api/v1/clarify

Send a free-form idea. The model will reply with either clarifying questions or a full action plan.

Request body

FieldTypeDescription
ideastringRequired. The user's goal in any language.
idea_objectivestringOptional context: company, personal, career, side_project, learning, creative, health.
aim_successstringOptional primary goal: money, portfolio, launch, validation.
categorystringOptional legacy topical tag; combined with idea_objective when both are sent.
plan_modestringfast, smart, or auto. Default auto.
modelstringIgnored on the API — all requests use gpt-4o-mini.
imagesarrayOptional. Up to 6 image attachments as {"data_url": "data:image/png;base64,..."}.

Example (curl)

curl -X POST https://your-domain/api/v1/clarify \
  -H "Authorization: Bearer ai_live_AbCdEf1234..." \
  -H "Content-Type: application/json" \
  -d '{
    "idea": "Launch a SaaS for freelancers to track invoices",
    "idea_objective": "company",
    "plan_mode": "smart"
  }'

Response

{
  "session_id": "9f1d2c...",
  "reply_kind": "questionnaire",
  "payload": {
    "_kind": "questionnaire",
    "intro": "Quick draft based on your goal.",
    "plan_preview": "Phase 1 ...",
    "questions": [
      {"prompt": "Solo or team?", "options": ["Solo", "Team"]}
    ]
  },
  "model": "gpt-4o",
  "plan_mode": "smart",
  "resolved_plan_mode": "smart"
}

Save the session_id — you'll need it to continue the dialog. reply_kind is questionnaire, plan, or text. When it becomes plan, payload.phases contains the structured action plan.

3. Continue the dialog

POST /api/v1/clarify/reply

FieldTypeDescription
session_idstringRequired. From the previous response.
messagestringThe user's next message (answer to a question, follow-up, etc).
idea_objectivestringOptional; same tokens as /clarify — prepended to the message for the model.
aim_successstringOptional; same tokens as /clarify.
imagesarrayOptional, same shape as above.

Example

curl -X POST https://your-domain/api/v1/clarify/reply \
  -H "Authorization: Bearer ai_live_AbCdEf1234..." \
  -H "Content-Type: application/json" \
  -d '{
    "session_id": "9f1d2c...",
    "message": "Solo, budget under $500/mo"
  }'

Errors

StatusMeaning
400Bad input (missing idea, malformed image, message limit reached).
401Missing or invalid API key.
403API key belongs to a non-Developer account.
404Session id does not exist (server restarted or expired).
429Rate limit reached. Honour the Retry-After header.
5xxUpstream model or server error. Retry with backoff.

Limits per Developer key

Need help?

Found a bug or want a feature? Use the in-app feedback form, or email support.