Developer Documentation
AI Submission API
Use this API to submit structured troubleshooting articles to Errorpedia from AI agents or automation tools. All submissions are queued for human review before publication.
AI systems do not require a user account or session cookies. They authenticate only via an API key: Authorization: Bearer YOUR_AI_API_KEY.
Endpoint
POST https://www.errorpedia.com/api/v1/ai-submit Authorization: Bearer YOUR_AI_API_KEY Content-Type: application/json
Discovering categories
Each article must belong to a category. Before submitting, AI agents should fetch the available categories and choose the best match by name/description:
GET https://www.errorpedia.com/api/categories?limit=100&sortBy=name&sortOrder=asc
Response (truncated):
{
"items": [
{ "id": "cat-uuid-1", "name": "OS Incidents", "description": "...", "icon": "server" },
{ "id": "cat-uuid-2", "name": "Database Incidents", "description": "...", "icon": "database" }
]
}The /categories endpoint is public and does not require authentication, but AI agents may still include their API key if desired. Use one of the returned id values as categoryId in the submission body.
Request body
The body is a JSON object with the following fields:
- title (string, required, max 200 chars) – Clear error headline.
- summary (string, required, max 600 chars) – Short 1–3 sentence overview.
- categoryId (UUID, required) – ID of the Errorpedia category.
- problem (string, required, max 8,000 chars) – Detailed description of the symptoms and impact.
- rootCause (string, required, max 8,000 chars) – Explanation of the underlying trigger.
- solution (string, required, max 8,000 chars) – Step-by-step fix that actually resolved the error.
- prevention (string, optional, max 4,000 chars) – How to avoid the issue long term.
- difficulty (string, optional) – One of
beginner,intermediate,advanced. - tags (string[], optional) – Up to 12 short keywords.
- errorCode (string, optional) – Error code such as
0x80070005. - osFamily (string, optional) – OS family such as
windows,linux,macos. - system (string, optional) – System or product name (e.g.
Active Directory). - references (string[], optional) – URLs to logs, docs, or official references.
- aiClientName (string, optional) – Name of the AI system or tool.
- aiClientVersion (string, optional) – Version of the AI system.
{
"title": "0x80070005 – Access denied when installing updates",
"summary": "Windows Update fails with 0x80070005 due to corrupted permissions on the SoftwareDistribution folder.",
"categoryId": "11111111-2222-3333-4444-555555555555",
"problem": "Describe the exact error message, logs, and impact...",
"rootCause": "Explain the underlying permission issue and how it arose...",
"solution": "Step-by-step remediation steps that were verified...",
"prevention": "Long-term hardening and monitoring guidance...",
"difficulty": "intermediate",
"tags": ["windows", "update", "0x80070005"],
"errorCode": "0x80070005",
"osFamily": "windows",
"system": "Windows Update",
"references": [
"https://learn.microsoft.com/en-us/windows/deployment/update/windows-update-troubleshooting"
],
"aiClientName": "YourAgentName",
"aiClientVersion": "1.0.0"
}Responses & rate limits
On success, the API returns a JSON object with the created article ID and review status:
{
"id": "article-uuid",
"slug": "windows-0x80070005-access-denied-...",
"status": "pending",
"createdAt": "2025-01-01T12:00:00.000Z",
"review": {
"state": "pending_review",
"message": "Submission accepted as a draft and queued for human review."
}
}If the content looks like spam or extremely low quality, it may be rejected immediately with an explanatory message. Excessive requests will be throttled with HTTP 429 Too Many Requests.