User & Settings
Get Current User
Section titled “Get Current User”GET /api/v1/user/me
Returns the authenticated user’s profile.
curl https://neuralrepo.com/api/v1/user/me \ -H "X-API-Key: nrp_YOUR_KEY"const res = await fetch("https://neuralrepo.com/api/v1/user/me", { headers: { "X-API-Key": "nrp_YOUR_KEY" },});const user = await res.json();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"}Update Profile
Section titled “Update Profile”PATCH /api/v1/user/me
Request Body
Section titled “Request Body”| Field | Type | Required | Description |
|---|---|---|---|
display_name | string | No | Your display name (max 100 chars) |
settings_json | string | No | JSON string of user settings (max 10,000 chars). See User Settings for supported fields. |
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.
API Keys
Section titled “API Keys”List Keys
Section titled “List Keys”GET /api/v1/user/api-keys
Returns all active API keys. The key value is masked in the response.
Create Key
Section titled “Create Key”POST /api/v1/user/api-keys
| Field | Type | Required | Description |
|---|---|---|---|
label | string | No | Descriptive label for the key |
Response 201 Created
{ "id": "ak_abc123", "label": "CI Pipeline", "key": "nrp_a1b2c3d4...", "created_at": "2026-03-24T09:00:00Z"}Delete Key
Section titled “Delete Key”DELETE /api/v1/user/api-keys/:id
Immediately revokes the key.
Response 200 OK
{ "success": true}MCP Tokens
Section titled “MCP Tokens”List MCP Tokens
Section titled “List MCP Tokens”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" } ]}BYOK (Bring Your Own Key)
Section titled “BYOK (Bring Your Own Key)”NeuralRepo’s AI features (such as the develop endpoint) require a provider API key. You can store keys for supported providers.
Save Provider Key
Section titled “Save Provider Key”PUT /api/v1/user/byok/:provider
The :provider parameter can be anthropic, openai, or openrouter.
| Field | Type | Required | Description |
|---|---|---|---|
api_key | string | Yes | Your provider API key |
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 Provider Key
Section titled “Delete Provider Key”DELETE /api/v1/user/byok/:provider
Removes your stored key for the given provider.
Response 200 OK
{ "success": true, "provider": "anthropic"}Test Provider Key
Section titled “Test Provider Key”POST /api/v1/user/byok/:provider/test
Validates the stored key by making a test request to the provider.
curl -X POST https://neuralrepo.com/api/v1/user/byok/anthropic/test \ -H "X-API-Key: nrp_YOUR_KEY"Response 200 OK
{ "ok": true}Check All Providers
Section titled “Check All Providers”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.
Shortcuts
Section titled “Shortcuts”GET /api/v1/user/shortcuts
Returns iCloud shortcut URLs for Siri-based idea capture.
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/..."}Test Digest
Section titled “Test Digest”POST /api/v1/user/test-digest
Sends a test weekly digest email to the authenticated user. Useful for previewing the digest format.
curl -X POST https://neuralrepo.com/api/v1/user/test-digest \ -H "X-API-Key: nrp_YOUR_KEY"Response 200 OK
{ "success": true, "content": "..."}User Settings
Section titled “User Settings”The settings_json field on the user profile is a JSON string containing user preferences. The following fields are supported:
| Field | Type | Description |
|---|---|---|
preferred_ai_provider | string | AI provider to use for develop and other AI features. One of anthropic, openai, openrouter. |
search_threshold | number | Minimum similarity score (0–1) for semantic search results. Controls how strict search matching is. |
dedup_threshold | number | Minimum similarity score (0–1) for duplicate detection. Higher values mean fewer false positives. |
related_threshold | number | Minimum similarity score (0–1) for auto-discovered related ideas. |
Data Export
Section titled “Data Export”JSON Export
Section titled “JSON Export”POST /api/v1/user/export
Exports all of your ideas, tags, relations, and links as a JSON file.
curl -X POST https://neuralrepo.com/api/v1/user/export \ -H "X-API-Key: nrp_YOUR_KEY" \ -o export.jsonCSV Export
Section titled “CSV Export”POST /api/v1/user/export/csv
Exports your ideas as a CSV file, suitable for spreadsheets.
curl -X POST https://neuralrepo.com/api/v1/user/export/csv \ -H "X-API-Key: nrp_YOUR_KEY" \ -o export.csvStatus Codes
Section titled “Status Codes”| Status | Meaning |
|---|---|
200 OK | Successful read, update, or delete |
201 Created | Key created |
400 Bad Request | Validation error |
401 Unauthorized | Missing or invalid auth |
403 Forbidden | Plan limits exceeded |