For Developers

Connect your tools to 404Fault — automatically

Instead of manually copying prompts and projects, your tools like n8n, Claude, Make, and ChatGPT can pull content from 404Fault directly — no human in the loop.

Your tools connect to 404Fault and fetch what they need

n8nClaudeMakeChatGPTZapierVS Code404FaultREST APIProjectsPromptsAI RulesGlossarySearchContext

Real examples — what can you do?

This isn't just for coders — anyone using automation tools can benefit.

🔄n8n / Make

Weekly prompt digest

Every Monday, your n8n workflow fetches the top 10 new prompts from 404Fault and sends them to your team Slack channel automatically.

🤖Claude / ChatGPT

AI that knows 404Fault

Connect Claude or ChatGPT to the API so it can search 404Fault's glossary and answer questions about AI terms in Arabic.

📋Zapier / Notion

Sync projects to Notion

Every time a new project is published on 404Fault, Zapier automatically adds it to your Notion database with all its tags and description.

VS Code / Cursor

AI rules inside your editor

A VS Code extension fetches the latest AI rules from 404Fault and injects them as context every time you open a new project.

How to get started — 3 steps only

You don't need to be a programmer. If you use n8n or Make, you can connect to the API in minutes.

1

Create your API token

Go to the Developer page, click "New Token", give it a name, choose what it can access (e.g. prompts, projects), and copy the token — it is shown only once.

2

Add it to your tool

In n8n, add an HTTP Request node. Set the URL to https://404fault.com/api/agent/context and add the header: Authorization: Bearer ft_YOUR_TOKEN. That is it.

3

Use the data in your automation

The API returns JSON — structured data your tool can read, filter, format, and act on. Send it to Slack, feed it to an AI model, add it to Notion — it is your choice.

Ready? Get your API token now

Free — no credit card needed

Create a token
Technical Reference — for developers

Authentication

All agent endpoints require a Bearer API token in the Authorization header. Create tokens at /developer.

Authorization: Bearer ft_<your-64-hex-chars>

Token format

ft_ + 64 hex characters (67 chars total)

Storage

SHA-256 hash only — raw token never stored, never recoverable

Note: The /api/tokens endpoint (token management) uses Firebase Auth ID tokens, not API tokens.

Rate Limits

50
requests / hour per token
200
requests / day per token

Windows are UTC-based. Exceeding limits returns 429 Too Many Requests. Use exponential backoff before retrying.

Scopes

ScopeUsed By
profile:readcontext?type=profile
projects:readcontext?type=projects
projects:createsubmit, /api/agent/projects
prompts:readcontext?type=prompts
rules:readcontext?type=rules
glossary:readcontext?type=glossary
context:read/api/agent/context
search:read/api/agent/search
feedback:write/api/agent/feedback

Endpoints

GET/api/agentnone

Health check — returns API status and available endpoints.

Response

{ "status": "ready", "phase": "D", "endpoints": [...], "docs": "/developers/docs" }
GET/api/agent/contextcontext:read

Returns structured, AI-ready context. Suitable for building prompts, RAG pipelines, or agent memory.

Query params

type = projects | prompts | rules | profile | glossary | full (default: full)
limit = 1..50 (default: 20)

Response

{
  "type": "full",
  "version": "1.0",
  "generatedAt": "2026-06-23T12:00:00.000Z",
  "projects": [{ "id": "...", "title": "...", "description": "...", "aiToolsUsed": [...], "tags": [...] }],
  "prompts": [{ "id": "...", "title": "...", "promptText": "...", "category": "...", "tags": [...] }],
  "rules": [{ "id": "...", "title": "...", "ruleContent": "...", "tool": "...", "tags": [...] }],
  "glossary": [{ "id": "...", "slug": "...", "term": "RAG", "termAr": "الاسترجاع المعزز", "definition": "...", "definitionAr": "..." }],
  "profile": { "uid": "...", "displayName": "...", "bio": "...", "role": "member" },
  "meta": { "counts": { "projects": 20, "prompts": 12, "rules": 8, "glossary": 50, "profile": 1 } }
}
GET/api/agent/searchsearch:read

Keyword search across public projects, prompts, or rules.

Query params

q = search query (required)
type = projects | prompts | rules (default: projects)
limit = 1..20 (default: 10)

Response

{ "query": "automation", "type": "projects", "results": [{ "id": "...", "title": "...", "description": "...", "tags": [...] }], "count": 3 }
POST/api/agent/submitprojects:create

General agent submission endpoint. Currently supports type=project.

Request body

FieldTypeReqDescription
typestringMust be "project"
titlestringProject title (max 200 chars)
descriptionstringWhat the project does (max 5000 chars)
problemSolvedstringProblem it solves (max 2000 chars)
aiToolsUsedstring[]AI tools used (e.g. ["Claude", "n8n"])
tagsstring[]Searchable tags
githubUrlstringGitHub repository URL
liveDemoUrlstringLive demo URL
visibilitystringpublic | private | unlisted (default: public)
lessonsLearnedstringKey lessons (max 2000 chars)
buildJourneystringBuild process notes (max 2000 chars)

Response

{ "type": "project", "projectId": "abc123", "url": "/projects/abc123" }
POST/api/agent/feedbackfeedback:write

Submit agent feedback on a project, prompt, or rule.

Request body

FieldTypeReqDescription
targetTypestring"project" | "prompt" | "rule"
targetIdstringFirestore document ID of the target
ratingnumber1 to 5 (integer)
commentstringText feedback (max 1000 chars)

Response

{ "feedbackId": "xyz789" }
GET/api/tokensFirebase Auth JWT

List API tokens for the authenticated user.

Response

{ "tokens": [{ "id": "...", "name": "...", "prefix": "ft_...", "scopes": [...], "status": "active", "usageCount": 5 }] }
POST/api/tokensFirebase Auth JWT

Create a new API token. Raw token returned ONCE — copy immediately.

Request body

FieldTypeReqDescription
namestringHuman-readable token name
scopesstring[]Array of scope strings

Response

{ "id": "...", "name": "...", "prefix": "ft_...", "scopes": [...], "rawToken": "ft_...", "warning": "Copy this token now." }
DELETE/api/tokens/[tokenId]Firebase Auth JWT

Revoke an API token immediately.

Response

{ "revoked": true }

curl Examples

Health check (no auth)

curl https://404fault.com/api/agent

Fetch full context

curl -H "Authorization: Bearer ft_<token>" \
  "https://404fault.com/api/agent/context?type=full&limit=20"

Search projects

curl -H "Authorization: Bearer ft_<token>" \
  "https://404fault.com/api/agent/search?q=automation&type=projects"

Submit a project

curl -X POST https://404fault.com/api/agent/submit \
  -H "Authorization: Bearer ft_<token>" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "project",
    "title": "My AI Workflow",
    "description": "Automates customer support using Claude and n8n.",
    "problemSolved": "Reduces response time from hours to seconds.",
    "aiToolsUsed": ["Claude", "n8n"],
    "tags": ["automation", "support"]
  }'

Error Codes

CodeStatusDescription
400Bad RequestMissing or invalid parameters
401UnauthorizedMissing, invalid, or revoked Bearer token
403ForbiddenToken lacks required scope
413Payload Too LargeRequest body exceeds 10 KB limit
429Too Many RequestsHourly (50) or daily (200) rate limit exceeded
500Internal ErrorServer error — retry with exponential backoff

404Fault API · Phase D · v1.0

Manage tokens →