REST API
Read projects and runs from scripts and agents.
The Embedl Hub REST API accepts the same personal API keys used by the Python library and CLI. Create a key under Personal API keys on your profile page, then send it as a Bearer token:
curl \ -H "Authorization: Bearer eh_..." \ -H "Accept: application/json" \ https://hub.embedl.com/api/projectsSuccessful responses are returned as JSON with a top-level data field.
Errors are returned with a top-level errors field.
List runs
List runs in a project:
curl \ -H "Authorization: Bearer eh_..." \ "https://hub.embedl.com/api/projects/<project-id>/runs?limit=100&offset=0"The response contains:
data.items: run summaries withid,name,type,customType,status,parentRunId,createdAt,startedAt, andendedAtdata.pagination.limit: the page size used for the requestdata.pagination.offset: the starting offset used for the requestdata.pagination.total: total matching runsdata.pagination.hasMore: whether another page is availabledata.pagination.nextOffset: the next offset to request, ornull
limit defaults to 100 and can be at most 500. offset defaults to 0.
Runs are sorted newest first by createdAt, then by id.
To fetch all pages, repeat the request with offset set to nextOffset until hasMore is false.
Filters
Filters are comma-separated:
curl \ -H "Authorization: Bearer eh_..." \ "https://hub.embedl.com/api/projects/<project-id>/runs?status=FINISHED,FAILED&type=PROFILE,CUSTOM&customType=experiment"Available filters:
status:RUNNING,SCHEDULED,FINISHED,FAILED,KILLEDtype:COMPILE,PROFILE,EVAL,INFERENCE,GRAPH,CUSTOMcustomType: custom labels forCUSTOMruns
Read one run
Read a run summary:
curl \ -H "Authorization: Bearer eh_..." \ https://hub.embedl.com/api/projects/<project-id>/runs/<run-id>To include all logged attributes for the run, use include=all:
curl \ -H "Authorization: Bearer eh_..." \ "https://hub.embedl.com/api/projects/<project-id>/runs/<run-id>?include=all"You can also request specific attributes:
?include=metrics,params,tags,externalLinksexternal-links is accepted as an alias for externalLinks.
Read run attributes
Each run attribute collection is also available as a separate endpoint:
GET /api/projects/<project-id>/runs/<run-id>/metricsGET /api/projects/<project-id>/runs/<run-id>/paramsGET /api/projects/<project-id>/runs/<run-id>/tagsGET /api/projects/<project-id>/runs/<run-id>/external-linksThese endpoints return all values for the run. Attribute collections are not paginated.
Status codes
200: request succeeded401: missing, malformed, invalid, revoked, or expired API key404: project or run was not found, including resources you cannot access422: query parameter validation failed