Skip to main content

cURL Examples

Copy-paste cURL examples for every WorldFlow AI endpoint. Set the TOKEN variable first:

export TOKEN="your-jwt-token-here"
export SYNAPSE_URL="https://api.worldflowai.com"

Authentication

Exchange API Key for JWT

curl -X POST $SYNAPSE_URL/api/v1/auth/token \
-H "Content-Type: application/json" \
-d '{"api_key": "sk-syn-abc123"}'

Save the token:

export TOKEN=$(curl -s -X POST $SYNAPSE_URL/api/v1/auth/token \
-H "Content-Type: application/json" \
-d '{"api_key": "sk-syn-abc123"}' | jq -r '.access_token')

Projects

Create Project

curl -X POST $SYNAPSE_URL/api/v1/memory/projects \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"projectId": "my-project",
"name": "My Project",
"roadmap": "Build an awesome product"
}'

List Projects

curl $SYNAPSE_URL/api/v1/memory/projects \
-H "Authorization: Bearer $TOKEN"

Get Project

curl $SYNAPSE_URL/api/v1/memory/projects/my-project \
-H "Authorization: Bearer $TOKEN"

Delete Project

curl -X DELETE $SYNAPSE_URL/api/v1/memory/projects/my-project \
-H "Authorization: Bearer $TOKEN"

Store (COMMIT)

Store Milestone

curl -X POST $SYNAPSE_URL/api/v1/memory/projects/my-project/store \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"branchName": "main",
"branchPurpose": "Core feature implementation",
"cumulativeProgress": "Set up project, added authentication",
"thisContribution": "Implemented rate limiting",
"agentId": "my-agent",
"agentType": "custom"
}'

Recall (CONTEXT)

Overview

curl "$SYNAPSE_URL/api/v1/memory/projects/my-project/recall" \
-H "Authorization: Bearer $TOKEN"

Branch View

curl "$SYNAPSE_URL/api/v1/memory/projects/my-project/recall?view=branch&branch=main&limit=5" \
-H "Authorization: Bearer $TOKEN"

Milestone View

curl "$SYNAPSE_URL/api/v1/memory/projects/my-project/recall?view=milestone&milestoneId=ms-abc123" \
-H "Authorization: Bearer $TOKEN"

Log View

curl "$SYNAPSE_URL/api/v1/memory/projects/my-project/recall?view=log&branch=main&limit=20" \
-H "Authorization: Bearer $TOKEN"

Log (OTA)

Append Log Entry

curl -X POST $SYNAPSE_URL/api/v1/memory/projects/my-project/log \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"branchName": "main",
"agentId": "my-agent",
"phase": "observation",
"content": "User requested adding rate limiting to the proxy endpoint"
}'

Branches

Create Branch

curl -X POST $SYNAPSE_URL/api/v1/memory/projects/my-project/branches \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"branchName": "feature-auth",
"parentBranch": "main",
"purpose": "Implement JWT authentication",
"agentId": "my-agent"
}'

List Branches

curl $SYNAPSE_URL/api/v1/memory/projects/my-project/branches \
-H "Authorization: Bearer $TOKEN"

Get Branch

curl $SYNAPSE_URL/api/v1/memory/projects/my-project/branches/feature-auth \
-H "Authorization: Bearer $TOKEN"

Abandon Branch

curl -X POST $SYNAPSE_URL/api/v1/memory/projects/my-project/branches/feature-auth/abandon \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"reason": "Superseded by OAuth2 implementation"}'

Merge

Merge Branch

curl -X POST $SYNAPSE_URL/api/v1/memory/projects/my-project/merge \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sourceBranch": "feature-auth",
"targetBranch": "main",
"mergeSummary": "Auth complete: JWT, login, password reset, RBAC",
"agentId": "my-agent"
}'

Roadmap

Update Roadmap

curl -X PUT $SYNAPSE_URL/api/v1/memory/projects/my-project/roadmap \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"roadmap": "Phase 1: Cache (done)\nPhase 2: Memory (done)\nPhase 3: Intelligence (in progress)"}'
curl -X POST $SYNAPSE_URL/api/v1/memory/projects/my-project/search \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"query": "authentication", "limit": 10}'
curl -X POST $SYNAPSE_URL/api/v1/memory/search \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"query": "rate limiting",
"limit": 20,
"projectIds": ["my-project", "other-project"]
}'

Metrics

Store Session Metrics

curl -X POST $SYNAPSE_URL/api/v1/memory/projects/my-project/metrics \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sessionId": "sess-abc123",
"agentId": "my-agent",
"agentType": "custom",
"milestonesRecalled": 5,
"compactionCount": 2,
"toolCallsTotal": 47,
"sessionDurationSecs": 1800,
"startedAt": "2026-02-10T14:00:00Z",
"endedAt": "2026-02-10T14:30:00Z"
}'

Get Metrics Summary

curl $SYNAPSE_URL/api/v1/memory/projects/my-project/metrics/summary \
-H "Authorization: Bearer $TOKEN"

Promote

Promote Cache Entry

curl -X POST $SYNAPSE_URL/api/v1/memory/projects/my-project/promote \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"cacheKey": "cache-key-xyz",
"reuseScore": 0.92,
"summary": "Frequently reused explanation of async/await",
"l2Collection": "default"
}'

Contributors

Upsert Contributor

curl -X POST $SYNAPSE_URL/api/v1/memory/contributors \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"contributorId": "alice",
"displayName": "Alice Chen",
"agentIds": ["claude-code-alice", "cursor-alice"],
"role": "Senior Engineer"
}'

List Contributors

curl $SYNAPSE_URL/api/v1/memory/contributors \
-H "Authorization: Bearer $TOKEN"

Get Contributor

curl $SYNAPSE_URL/api/v1/memory/contributors/alice \
-H "Authorization: Bearer $TOKEN"

Delete Contributor

curl -X DELETE $SYNAPSE_URL/api/v1/memory/contributors/alice \
-H "Authorization: Bearer $TOKEN"

Contributor Activity

curl "$SYNAPSE_URL/api/v1/memory/contributors/alice/activity?limit=10" \
-H "Authorization: Bearer $TOKEN"

External Sources

Create Source

curl -X POST $SYNAPSE_URL/api/v1/memory/sources \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sourceId": "slack-eng",
"projectId": "my-project",
"sourceType": "slack",
"config": {"channelId": "C0123456789"}
}'

List Sources

curl $SYNAPSE_URL/api/v1/memory/sources \
-H "Authorization: Bearer $TOKEN"

Update Source

curl -X PUT $SYNAPSE_URL/api/v1/memory/sources/slack-eng \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"enabled": false}'

Delete Source

curl -X DELETE $SYNAPSE_URL/api/v1/memory/sources/slack-eng \
-H "Authorization: Bearer $TOKEN"

Trigger Sync

curl -X POST $SYNAPSE_URL/api/v1/memory/sources/slack-eng/sync \
-H "Authorization: Bearer $TOKEN"

Sync Status

curl $SYNAPSE_URL/api/v1/memory/sources/slack-eng/status \
-H "Authorization: Bearer $TOKEN"

Intelligence

Query

curl -X POST $SYNAPSE_URL/api/v1/memory/intelligence/query \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"question": "What did the team work on this week?",
"timeRange": "7d"
}'

Execute Action

curl -X POST $SYNAPSE_URL/api/v1/memory/intelligence/action \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"action": "create_jira_ticket",
"params": {
"project": "SYN",
"summary": "Follow up on auth implementation"
}
}'

Proxy (OpenAI Compatible)

Chat Completions

curl -X POST $SYNAPSE_URL/v1/chat/completions \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o",
"messages": [{"role": "user", "content": "What is a REST API?"}]
}'

Chat Completions (Streaming)

curl -X POST $SYNAPSE_URL/v1/chat/completions \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o",
"messages": [{"role": "user", "content": "What is a REST API?"}],
"stream": true
}'

List Models

curl $SYNAPSE_URL/v1/models \
-H "Authorization: Bearer $TOKEN"

Proxy (Anthropic Compatible)

Messages

curl -X POST $SYNAPSE_URL/v1/messages \
-H "Authorization: Bearer $TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-20250514",
"max_tokens": 200,
"messages": [{"role": "user", "content": "What is a REST API?"}]
}'

Messages (Streaming)

curl -X POST $SYNAPSE_URL/v1/messages \
-H "Authorization: Bearer $TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-20250514",
"max_tokens": 200,
"messages": [{"role": "user", "content": "What is a REST API?"}],
"stream": true
}'