Project

List projects for user

/api/v1/{username}/

Example curl request

curl --request GET \
  --url 'http://{{base_api_url}}/api/v1/{{username}}' \
  --header 'Authorization: token {{token}}'

Example response

{
    "count": 2,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": 6,
            "uuid": "34b36cd393de462ba2dd27c1af69f010",
            "user": "root",
            "name": "foo",
            "unique_name": "root.foo",
            "description": "foo",
            "tags": null,
            "created_at": "2018-08-23T00:30:18.674062+02:00",
            "updated_at": "2018-08-23T00:30:18.674123+02:00",
            "is_public": true
        },
        {
            "id": 5,
            "uuid": "77596423f3174d898daa21774d0df144",
            "user": "root",
            "name": "quick-start",
            "unique_name": "root.quick-start",
            "description": null,
            "tags": null,
            "created_at": "2018-08-19T22:06:28.974000+02:00",
            "updated_at": "2018-08-19T22:06:28.974000+02:00",
            "is_public": true
        }
    ]
}

Get project

/api/v1/{username}/{project_name}/

Example curl request

curl --request GET \
  --url 'http://{{base_api_url}}/api/v1/{{username}}/{{project}}' \
  --header 'Authorization: token {{token}}'

Example response

{
    "id": 5,
    "uuid": "77596423f3174d898daa21774d0df144",
    "user": "root",
    "name": "quick-start",
    "unique_name": "root.quick-start",
    "description": null,
    "tags": null,
    "created_at": "2018-08-19T22:06:28.974000+02:00",
    "updated_at": "2018-08-19T22:06:28.974000+02:00",
    "is_public": true,
    "has_code": true,
    "has_tensorboard": null,
    "has_notebook": null,
    "num_experiment_groups": 1,
    "num_independent_experiments": 4,
    "num_experiments": 14,
    "num_jobs": 5,
    "num_builds": 2,
    "bookmarked": false
}

Create project

/api/v1/projects/

Body

param type optional
name string False
description string True
is_public bool True
tags list True

Example curl request

curl --request POST \
  --url 'http://{{base_api_url}}/api/v1/projects' \
  --header 'Authorization: token {{token}}' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "foo"
}'

Example response

{
    "id": 6,
    "uuid": "34b36cd393de462ba2dd27c1af69f010",
    "user": "root",
    "name": "bal",
    "unique_name": "root.foo",
    "description": "foo",
    "tags": null,
    "created_at": "2018-08-23T00:30:18.674062+02:00",
    "updated_at": "2018-08-23T00:30:18.674123+02:00",
    "is_public": true
}

Update project

/api/v1/{username}/{project}/

Example curl request

curl --request PATCH \
  --url 'http://{{base_api_url}}/api/v1/{{username}}/{{project}}' \
  --header 'Authorization: token {{token}}' \
  --header 'Content-Type: application/json' \
  --data '{
  "description": "new description"
}'

Example response

{
    "id": 5,
    "uuid": "77596423f3174d898daa21774d0df144",
    "user": "root",
    "name": "quick-start",
    "unique_name": "root.quick-start",
    "description": "new description",
    "tags": null,
    "created_at": "2018-08-19T22:06:28.974000+02:00",
    "updated_at": "2018-08-23T00:35:34.511744+02:00",
    "is_public": true,
    "has_code": true,
    "has_tensorboard": null,
    "has_notebook": null,
    "num_experiment_groups": 1,
    "num_independent_experiments": 4,
    "num_experiments": 14,
    "num_jobs": 5,
    "num_builds": 2,
    "bookmarked": false
}

Delete project

/api/v1/{username}/{project_name}/

Example curl request

curl --request DELETE \
  --url 'http://{{base_api_url}}/api/v1/{{username}}/{{project}}' \
  --header 'Authorization: token {{token}}'

Upload repo for a project

/api/v1/{username}/{project_name}/repo/upload/

Download repo for a project

/api/v1/{username}/{project_name}/repo/download/

List experiment groups

/api/v1/{username}/{project_name}/groups/

Example curl request

curl -X GET \
  http://localhost:8000/api/v1/root/quick-start/groups \
  -H 'Authorization: token {{token}}' \
  -H 'Cache-Control: no-cache'

Example response

{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": 2,
            "uuid": "9b073653a6ee446fabc9f420541bb2d2",
            "name": null,
            "unique_name": "root.quick-start.2",
            "user": "root",
            "description": null,
            "last_status": "succeeded",
            "project": "root.quick-start",
            "created_at": "2018-08-19T22:37:47.820000+02:00",
            "updated_at": "2018-08-19T22:55:13.877000+02:00",
            "started_at": "2018-08-19T22:37:49.778000+02:00",
            "finished_at": "2018-08-19T22:55:13.877000+02:00",
            "tags": null,
            "concurrency": 5,
            "search_algorithm": "random"
        }
    ]
}

Create experiment groups

/api/v1/{username}/{project_name}/groups/

Example curl request

curl -X POST \
  http://localhost:8000/api/v1/root/quick-start/groups \
  -H 'Authorization: token {{token}}' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json' \
  -d '{"name": "group-1", "description": "my group", "content": "..."}'

Example response

{
    "id": 2,
    "uuid": "9b073653a6ee446fabc9f420541bb2d2",
    "name": null,
    "unique_name": "root.quick-start.2",
    "user": "root",
    "description": null,
    "last_status": "succeeded",
    "project": "root.quick-start",
    "created_at": "2018-08-19T22:37:47.820000+02:00",
    "updated_at": "2018-08-19T22:55:13.877000+02:00",
    "started_at": "2018-08-19T22:37:49.778000+02:00",
    "finished_at": "2018-08-19T22:55:13.877000+02:00",
    "tags": null,
    "concurrency": 5,
    "search_algorithm": "random"
}

List experiments

/api/v1/{username}/{project_name}/experiments/ >

Example curl request

curl --request GET \
  --url 'http://{{base_api_url}}/api/v1/{{username}}/{{project}}/experiments' \
  --header 'Authorization: token {{token}}'

Example response

{
    "count": 14,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": 20,
            "uuid": "76446631463048b99a54832aff771d27",
            "name": null,
            "unique_name": "root.quick-start.20",
            "user": "root",
            "description": null,
            "created_at": "2018-08-19T23:05:51.476000+02:00",
            "updated_at": "2018-08-19T23:06:13.001000+02:00",
            "started_at": "2018-08-19T23:05:53.894000+02:00",
            "finished_at": "2018-08-19T23:06:13.001000+02:00",
            "last_status": "stopped",
            "original": null,
            "project": "root.quick-start",
            "experiment_group": null,
            "build_job": "root.quick-start.builds.2",
            "tags": null
        },
        {
            "id": 9,
            "uuid": "19b8373bd8bb4fd59eae423f36581edd",
            "name": null,
            "unique_name": "root.quick-start.9",
            "user": "root",
            "description": null,
            "created_at": "2018-08-19T22:14:48.438000+02:00",
            "updated_at": "2018-08-19T22:56:25.960000+02:00",
            "started_at": "2018-08-19T22:14:50.775000+02:00",
            "finished_at": "2018-08-19T22:56:25.960000+02:00",
            "last_status": "succeeded",
            "original": null,
            "project": "root.quick-start",
            "experiment_group": null,
            "build_job": "root.quick-start.builds.2",
            "tags": null
        },
    ...
    ]
}

Create experiment

/api/v1/{username}/{project_name}/experiments/

Example curl request

curl -X POST \
  http://{{base_api_url}}/api/v1/{{username}}/{{project}}/experiments \
  -H 'Authorization: token {{token}}' \
  -H 'Content-Type: application/json' \
  -d '{"name": "experiment-1", "description": "my experiment", "config": "..."}'

Example response

{
    "id": 21,
    "user": "new",
    "name": "new-1",
    "description": "my new experiment",
    "original_experiment": null,
    "config": null,
    "declarations": null,
    "tags": null
}

List Jobs

/api/v1/{username}/{project_name}/jobs/

Example curl request

curl -X GET \
  http://{{base_api_url}}/api/v1/{{username}}/{{project}}/jobs \
  -H 'Authorization: token {{token}}'

Example response

{
    "count": 5,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": 5,
            "uuid": "18723bfd0ae74dc3a17ade6e1e09bca8",
            "name": null,
            "unique_name": "root.quick-start.jobs.5",
            "user": "root",
            "description": null,
            "created_at": "2018-08-19T23:03:45.923000+02:00",
            "updated_at": "2018-08-19T23:03:54.810000+02:00",
            "last_status": "succeeded",
            "started_at": "2018-08-19T23:03:48.640000+02:00",
            "finished_at": "2018-08-19T23:03:54.809000+02:00",
            "tags": null,
            "project": "root.quick-start",
            "build_job": "root.quick-start.builds.2"
        },
        {
            "id": 3,
            "uuid": "fddc44c052474561bbc8dc2061884a46",
            "name": null,
            "unique_name": "root.quick-start.jobs.3",
            "user": "root",
            "description": null,
            "created_at": "2018-08-19T22:40:19.946000+02:00",
            "updated_at": "2018-08-19T22:41:33.500000+02:00",
            "last_status": "succeeded",
            "started_at": "2018-08-19T22:40:21.963000+02:00",
            "finished_at": "2018-08-19T22:41:33.500000+02:00",
            "tags": null,
            "project": "root.quick-start",
            "build_job": "root.quick-start.builds.2"
        },
        ...
    ]
}

Create Job

/api/v1/{username}/{project_name}/jobs/

Example curl request

curl -X POST \
  http://{{base_api_url}}/api/v1/{{username}}/{{project}}/experiments \
  -H 'Authorization: token {{token}}' \
  -H 'Content-Type: application/json' \
  -d '{"name": "job-1", "description": "my job", "config": "..."}'

Example response

{
    "id": 2,
    "uuid": "0ee55633fdd34aa6a063e086abda6569",
    "name": null,
    "unique_name": "root.quick-start.jobs.2",
    "user": "root",
    "description": null,
    "created_at": "2018-08-19T22:40:17.843000+02:00",
    "updated_at": "2018-08-19T22:40:40.372000+02:00",
    "last_status": "succeeded",
    "started_at": "2018-08-19T22:40:20.051000+02:00",
    "finished_at": "2018-08-19T22:40:40.372000+02:00",
    "tags": null,
    "project": "root.quick-start",
    "build_job": "root.quick-start.builds.2"
}

List Builds

/api/v1/{username}/{project_name}/builds/

Example curl request

curl -X GET \
  http://{{base_api_url}}/api/v1/{{username}}/{{project}}/builds \
  -H 'Authorization: token {{token}}' \
  -H 'Cache-Control: no-cache' \

Example response

{
    "count": 2,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": 2,
            "uuid": "86a84a6aaf0d4f298433a8aee8b615de",
            "name": null,
            "unique_name": "root.quick-start.builds.2",
            "user": "root",
            "description": null,
            "created_at": "2018-08-19T22:14:42.607000+02:00",
            "updated_at": "2018-08-19T22:14:48.870000+02:00",
            "started_at": "2018-08-19T22:14:42.646000+02:00",
            "finished_at": "2018-08-19T22:14:48.870000+02:00",
            "last_status": "succeeded",
            "tags": null,
            "project": "root.quick-start"
        },
        {
            "id": 1,
            "uuid": "f97fdb5e430640d3adcbad033a065433",
            "name": null,
            "unique_name": "root.quick-start.builds.1",
            "user": "root",
            "description": null,
            "created_at": "2018-08-19T22:06:35.963000+02:00",
            "updated_at": "2018-08-19T22:09:34.637000+02:00",
            "started_at": "2018-08-19T22:06:36.031000+02:00",
            "finished_at": "2018-08-19T22:09:34.637000+02:00",
            "last_status": "succeeded",
            "tags": null,
            "project": "root.quick-start"
        }
    ]
}

Create Build

/api/v1/{username}/{project_name}/builds/

Example curl request

curl -X POST \
  http://{{base_api_url}}/api/v1/{{username}}/{{project}}/builds \
  -H 'Authorization: token {{token}}' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json' \
  -d '{"name": "build-1", "description": "my build", "config": "..."}'

Example response

{
    "id": 2,
    "uuid": "86a84a6aaf0d4f298433a8aee8b615de",
    "name": null,
    "unique_name": "root.quick-start.builds.2",
    "user": "root",
    "description": null,
    "created_at": "2018-08-19T22:14:42.607000+02:00",
    "updated_at": "2018-08-19T22:14:48.870000+02:00",
    "started_at": "2018-08-19T22:14:42.646000+02:00",
    "finished_at": "2018-08-19T22:14:48.870000+02:00",
    "last_status": "succeeded",
    "tags": null,
    "project": "root.quick-start"
}

List tensorboards

/api/v1/{username}/{project_name}/tensorboards/

Example curl request

curl -X GET \
  http://{{base_api_url}}/api/v1/{{username}}/{{project}}/tensorboards \
  -H 'Authorization: token {{token}}' \
  -H 'Cache-Control: no-cache'

Start project tensorboard

/api/v1/{username}/{project_name}/tensorboard/start/

Example curl request

curl -X POST \
  http://{{base_api_url}}/api/v1/{{username}}/{{project}}/tensorboard/start \
  -H 'Authorization: token {{token}}' \
  -H 'Cache-Control: no-cache'

Stop project tensorboard

/api/v1/{username}/{project_name}/tensorboard/stop/

Example curl request

curl -X POST \
  http://{{base_api_url}}/api/v1/{{username}}/{{project}}/tensorboard/stop \
  -H 'Authorization: token {{token}}' \
  -H 'Cache-Control: no-cache'

Start notebook

/api/v1/{username}/{project_name}/notebook/start/

Example curl request

curl -X POST \
  http://{{base_api_url}}/api/v1/{{username}}/{{project}}/notebook/start \
  -H 'Authorization: token {{token}}' \
  -H 'Cache-Control: no-cache'

Stop notebook

/api/v1/{username}/{project_name}/notebook/stop/

Example curl request

curl -X POST \
  http://{{base_api_url}}/api/v1/{{username}}/{{project}}/notebook/stop \
  -H 'Authorization: token {{token}}' \
  -H 'Cache-Control: no-cache' \

Bookmark project

/api/v1/{username}/{project_name}/bookmark/

Example curl request

curl -X POST \
  http://{{base_api_url}}/api/v1/{{username}}/{{project}}/bookmark \
  -H 'Authorization: token {{token}}' \
  -H 'Cache-Control: no-cache'

Unbookmark project

/api/v1/{username}/{project_name}/unbookmark/

Example curl request

curl -X DELETE \
  http://{{base_api_url}}/api/v1/{{username}}/{{project}}/unbookmark \
  -H 'Authorization: token {{token}}' \
  -H 'Cache-Control: no-cache'