Skip to main content

API Reference

The Remyx REST API is available at https://engine.remyx.ai/api/v1.0. All endpoints require a Bearer token in the Authorization header.
curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://engine.remyx.ai/api/v1.0/interests
Get your API key at Account > API Access in the Remyx app, or at engine.remyx.ai/account.

Experiments

Manage experiments, track outcomes, and log decisions.

List Experiments

GET /api/v1.0/experiments
ParameterTypeDescription
initiativestringFilter by initiative name
statusstringFilter by status
project_idstringFilter by project UUID
ticket_sourcestringFilter by ticket source (e.g., linear, jira)
external_ticket_idstringFilter by external ticket ID
created_viastringFilter by creation method (e.g., mcp, web, seed)
limitintegerMax results to return
Response: Array of experiment objects with all ExperimentOps fields.

Get Experiment

GET /api/v1.0/experiments/<experiment_id>
Response: Single experiment object with full detail including source_type, source_ref, hypothesis, target_metric, observed_delta, delta_confidence, decision, tags, initiative, launch_context, ab_test_config, ab_test_results, and linked resources.

Update Experiment

PUT /api/v1.0/experiments/<experiment_id>
FieldTypeDescription
namestringExperiment name
statusstringconfigure, in_progress, complete, validated
hypothesisstringHypothesis text
outcomestringship, iterate, abandon
decisionstringDecision text with reasoning
observed_deltafloatMeasured metric change
delta_confidencestringsignificant, inconclusive, not_tested
target_metricstringTarget business metric
tagsarrayFree-form tags for grouping
initiativestringInitiative/project name
pr_urlstringLink to implementation PR
pr_statusstringPR status
external_ticket_idstringLinked external ticket ID
ticket_sourcestringTicket provider
ticket_urlstringTicket URL

Implementation

Manage the experiment implementation pipeline — context assembly, implementation runs, and status tracking.

Get Experiment Context

GET /api/v1.0/implement/experiments/<experiment_id>/context
Returns the full experiment context formatted for Claude Code: resource metadata, Docker environment, task description, and implementation plan.

Get Reference Implementation

GET /api/v1.0/implement/experiments/<experiment_id>/reference
Returns reference implementation sources: GitHub repo, Docker image, key methods, and implementation plan extracted from the launch context.

List Actionable Experiments

GET /api/v1.0/implement/experiments/actionable
ParameterTypeDescription
initiativestringFilter by initiative
limitintegerMax results
Returns experiments that have a launch_context but no PR yet — ready for implementation.

Run Implementation

POST /api/v1.0/implement/experiments/<experiment_id>/run
Triggers the server-side implementation pipeline. Returns 202 Accepted with a task reference.

Get Implementation Status

GET /api/v1.0/implement/experiments/<experiment_id>/status
Returns the current pipeline status: pipeline_status, pr_url, pr_status, and timing information.

Report Implementation Result

POST /api/v1.0/implement/experiments/<experiment_id>/report
FieldTypeDescription
pr_urlstringURL of the created PR
branch_namestringGit branch name
summarystringImplementation summary
statusstringResult status
artifactsobjectAdditional artifact references

Research Interests

Manage your Research Interests — the context that drives personalized resource recommendations.

List Interests

GET /api/v1.0/interests
Response: Array of Research Interest objects with name, context, daily_count, is_active.

Create Interest

POST /api/v1.0/interests
FieldTypeRequiredDescription
namestringYesInterest label (e.g., “Retrieval-Augmented Generation”)
contextstringYesURLs and descriptions defining the interest
daily_countintegerNoRecommendations per day (default: 3)
is_activebooleanNoWhether the interest is active (default: true)

Get Interest

GET /api/v1.0/interests/<interest_id>

Update Interest

PUT /api/v1.0/interests/<interest_id>
Accepts same fields as Create. Updating context invalidates the recommendation pool and triggers re-ranking.

Delete Interest

DELETE /api/v1.0/interests/<interest_id>
Deletes the interest and cascading recommendations.

Toggle Interest

POST /api/v1.0/interests/<interest_id>/toggle
Toggles the is_active status without deleting the interest or its history.

Recommendations

Get personalized resource recommendations based on your Research Interests.

List Recommendations

GET /api/v1.0/papers/recommended
ParameterTypeDescription
interest_idstringFilter by interest UUID
limitintegerMax results
periodstringtoday, week
Response: Array of recommended resources with titles, abstracts, relevance scores, and links.

Get Digest

GET /api/v1.0/papers/recommended/digest
ParameterTypeDescription
limitintegerMax results per interest
periodstringtoday, week
Response: Structured digest grouped by Research Interest.

Refresh Recommendations

POST /api/v1.0/papers/recommended/refresh
FieldTypeDescription
interest_idstringRefresh a specific interest (optional — refreshes all if omitted)
num_resultsintegerNumber of results to generate
Returns 202 Accepted with a task reference for polling.

Poll Refresh Status

GET /api/v1.0/papers/recommended/refresh/<task_id>
Returns the status of an async recommendation refresh task.
Search across research assets with hybrid retrieval.

Search Assets

POST /api/v1.0/search/assets
FieldTypeDescription
querystringNatural language search query
max_resultsintegerMax results to return
has_dockerbooleanFilter for resources with runnable Docker environments
categoriesarrayFilter by categories
use_llmbooleanEnable LLM-enhanced search
Response: Array of matching assets with titles, abstracts, categories, Docker availability, and relevance scores.

Get Asset Details

GET /api/v1.0/search/assets/<arxiv_id>
Returns detailed information for a specific asset: full abstract, Docker status, Dockerfile, reference summary.

List Recent Assets

GET /api/v1.0/search/assets/list
ParameterTypeDescription
limitintegerMax results (default: 20)
offsetintegerPagination offset
categorystringFilter by category
has_dockerbooleanFilter for Docker availability

Get Asset Statistics

GET /api/v1.0/search/stats
Returns aggregate statistics: total assets, counts by Docker availability, by category, and citation classification coverage.

Integrations

Manage OAuth connections to external tools (GitHub, Linear, Jira).

List Providers

GET /api/v1.0/integrations/providers
Returns available integration providers with configuration status.

Get OAuth URL

GET /api/v1.0/integrations/<provider_name>/auth-url
Returns the OAuth authorization URL to initiate the connection flow.

Exchange OAuth Code

POST /api/v1.0/integrations/<provider_name>/callback
FieldTypeDescription
codestringOAuth authorization code
redirect_uristringCallback URI used in the auth flow

List Connections

GET /api/v1.0/integrations/connections
Returns all active integration connections for the current user.

Check Connection Status

GET /api/v1.0/integrations/<provider_name>/status

Disconnect Provider

DELETE /api/v1.0/integrations/<provider_name>
Deactivates the integration connection for the specified provider.

Get OAuth Token

GET /api/v1.0/integrations/<provider_name>/token
Returns a valid OAuth token for the specified provider. Auto-refreshes expired tokens before returning. Accepts optional user_id query param for service tokens.

Identity Resolution

GET /api/v1.0/integrations/identity/resolve
ParameterTypeDescription
sourcestringExternal platform (e.g., github, linear)
external_idstringExternal user ID
external_emailstringExternal user email (alternative to external_id)
POST /api/v1.0/integrations/identity/link
Creates an identity link between a Remyx user and an external platform identity.
GET /api/v1.0/integrations/identity/links
Lists all identity links for the current user.

Authentication

All API requests require a JWT token passed as a Bearer token:
curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://engine.remyx.ai/api/v1.0/experiments
API keys are available at Account > API Access in the Remyx Studio.

Response Codes

CodeMeaning
200Success
201Created
202Accepted (async task started)
400Bad request (invalid parameters)
401Unauthorized (missing or invalid token)
403Forbidden (insufficient permissions)
404Not found
409Conflict (e.g., duplicate resource)
500Server error