Skip to content

User & Settings

GET /api/v1/user/me

Returns the authenticated user’s profile.

Terminal window
curl https://neuralrepo.com/api/v1/user/me \
-H "X-API-Key: nrp_YOUR_KEY"

Response 200 OK

{
"id": "user_abc123",
"email": "you@example.com",
"display_name": "Jane Doe",
"avatar_url": "https://avatars.example.com/jane.jpg",
"plan": "pro",
"settings_json": "{\"preferred_ai_provider\":\"anthropic\"}",
"has_anthropic_key": true,
"has_openai_key": false,
"has_openrouter_key": false,
"created_at": "2026-01-15T08:00:00Z",
"updated_at": "2026-03-20T12:00:00Z"
}

PATCH /api/v1/user/me

FieldTypeRequiredDescription
display_namestringNoYour display name (max 100 chars)
settings_jsonstringNoJSON string of user settings (max 10,000 chars). See User Settings for supported fields.
Terminal window
curl -X PATCH https://neuralrepo.com/api/v1/user/me \
-H "X-API-Key: nrp_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"display_name": "Jane D.", "settings_json": "{\"preferred_ai_provider\":\"anthropic\"}"}'

Response 200 OK — Returns the updated user object.

GET /api/v1/user/api-keys

Returns all active API keys. The key value is masked in the response.

POST /api/v1/user/api-keys

FieldTypeRequiredDescription
labelstringNoDescriptive label for the key

Response 201 Created

{
"id": "ak_abc123",
"label": "CI Pipeline",
"key": "nrp_a1b2c3d4...",
"created_at": "2026-03-24T09:00:00Z"
}

DELETE /api/v1/user/api-keys/:id

Immediately revokes the key.

Response 200 OK

{
"success": true
}

GET /api/v1/user/mcp-tokens

Returns all MCP (Model Context Protocol) client tokens used by AI assistant integrations. These tokens are created through the MCP OAuth flow when you authorize Claude to access your NeuralRepo account.

Response 200 OK

{
"tokens": [
{
"id": "mcp_abc123",
"client_id": "claude-ai",
"scopes": "ideas:read ideas:write",
"created_at": "2026-03-20T10:00:00Z",
"last_used_at": "2026-03-24T08:00:00Z"
}
]
}

NeuralRepo’s AI features (such as the develop endpoint) require a provider API key. You can store keys for supported providers.

PUT /api/v1/user/byok/:provider

The :provider parameter can be anthropic, openai, or openrouter.

FieldTypeRequiredDescription
api_keystringYesYour provider API key
Terminal window
curl -X PUT https://neuralrepo.com/api/v1/user/byok/anthropic \
-H "X-API-Key: nrp_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"api_key": "sk-ant-..."}'

Response 200 OK

{
"success": true,
"provider": "anthropic"
}

DELETE /api/v1/user/byok/:provider

Removes your stored key for the given provider.

Response 200 OK

{
"success": true,
"provider": "anthropic"
}

POST /api/v1/user/byok/:provider/test

Validates the stored key by making a test request to the provider.

Terminal window
curl -X POST https://neuralrepo.com/api/v1/user/byok/anthropic/test \
-H "X-API-Key: nrp_YOUR_KEY"

Response 200 OK

{
"ok": true
}

GET /api/v1/user/byok/status

Returns the active provider and which providers have keys configured.

Response 200 OK

{
"active_provider": "anthropic",
"has_anthropic_key": true,
"has_openai_key": false,
"has_openrouter_key": false
}

The active_provider field reflects the provider that will be used for AI features (e.g., the develop endpoint). It is null if no keys are configured.

GET /api/v1/user/shortcuts

Returns iCloud shortcut URLs for Siri-based idea capture.

Terminal window
curl https://neuralrepo.com/api/v1/user/shortcuts \
-H "X-API-Key: nrp_YOUR_KEY"

Response 200 OK

{
"quick_capture_url": "https://www.icloud.com/shortcuts/..."
}

POST /api/v1/user/test-digest

Sends a test weekly digest email to the authenticated user. Useful for previewing the digest format.

Terminal window
curl -X POST https://neuralrepo.com/api/v1/user/test-digest \
-H "X-API-Key: nrp_YOUR_KEY"

Response 200 OK

{
"success": true,
"content": "..."
}

The settings_json field on the user profile is a JSON string containing user preferences. The following fields are supported:

FieldTypeDescription
preferred_ai_providerstringAI provider to use for develop and other AI features. One of anthropic, openai, openrouter.
search_thresholdnumberMinimum similarity score (0–1) for semantic search results. Controls how strict search matching is.
dedup_thresholdnumberMinimum similarity score (0–1) for duplicate detection. Higher values mean fewer false positives.
related_thresholdnumberMinimum similarity score (0–1) for auto-discovered related ideas.

POST /api/v1/user/export

Exports all of your ideas, tags, relations, and links as a JSON file.

Terminal window
curl -X POST https://neuralrepo.com/api/v1/user/export \
-H "X-API-Key: nrp_YOUR_KEY" \
-o export.json

POST /api/v1/user/export/csv

Exports your ideas as a CSV file, suitable for spreadsheets.

Terminal window
curl -X POST https://neuralrepo.com/api/v1/user/export/csv \
-H "X-API-Key: nrp_YOUR_KEY" \
-o export.csv
StatusMeaning
200 OKSuccessful read, update, or delete
201 CreatedKey created
400 Bad RequestValidation error
401 UnauthorizedMissing or invalid auth
403 ForbiddenPlan limits exceeded