Resources and Endpoints

Tasks

Tasks encapsulate individual invocations of a task service made per release. The Release Coordinator will create new tasks for each enabled service during the creation of a new release and will follow up with each service throughout the lifetime of the task.

GET /tasks

Returns a list of tasks

Query Parameters:
 
  • limit – Number of results to return in a page, defaults to 10
  • offset – How many items to offset the page by
  • release – Filter tasks related to a given release’s kf_id
  • task_service – Filter tasks related to a given task service’s kf_id
  • state – Filter tasks by a given state

Example:

http

GET /tasks?release=RE_C6PTRN2K&task_service=TS_WPEKCZHQ HTTP/1.1
Host: kf-release-coord.kidsfirstdrc.org
Accept: application/json

curl

curl -i 'http://kf-release-coord.kidsfirstdrc.org/tasks?release=RE_C6PTRN2K&task_service=TS_WPEKCZHQ' -H 'Accept: application/json'

response

HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "kf_id": "TA_WAAE3ZBN",
            "state": "canceled",
            "progress": 0,
            "release": "https://kf-release-coord.kidsfirstdrc.org/releases/RE_C6PTRN2K",
            "task_service": "https://kf-release-coord.kidsfirstdrc.org/task-services/TS_WPEKCZHQ",
            "created_at": "2018-09-13T19:48:49.467518Z",
            "service_name": "Portal ETL Task Service"
        }
    ]
}
PATCH /tasks/(kf_id)

Updates a task of kf_id with state or progress. Use by task services to report progress or status of one of the tasks.

Request JSON Object:
 
  • state (string) – The state of the task
  • progress (int) – The percentage of completion of the task

Example:

http

PATCH /tasks/TA_WAAE3ZBN HTTP/1.1
Host: kf-release-coord.kidsfirstdrc.org
Accept: application/json

{
    "state": "staged",
    "progress": 100
}

curl

curl -i -X PATCH http://kf-release-coord.kidsfirstdrc.org/tasks/TA_WAAE3ZBN -H 'Accept: application/json' --data-raw '{

    "state": "staged",

    "progress": 100

}'

response

HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "kf_id": "TA_WAAE3ZBN",
    "state": "staged",
    "progress": 100,
    "release": "https://kf-release-coord.kidsfirstdrc.org/releases/RE_C6PTRN2K",
    "task_service": "https://kf-release-coord.kidsfirstdrc.org/task-services/TS_WPEKCZHQ",
    "created_at": "2018-09-13T19:48:49.467518Z",
    "service_name": "Portal ETL Task Service"
}

Task Services

Task Services are services that perform an action that is required during a release. Task Services are required to expose a consistent interface to the tasks that they have been assigned by the Release Coordinator so that the Release Coordinator may provide an accurate view into the overall state of a release.

GET /task-services

Lists task services.

Query Parameters:
 
  • limit – Number of results to return in a page, defaults to 10
  • offset – How many items to offset the page by
  • enabled – Filter by whether a task service is enabled or not. True or False.

Example:

http

GET /task-services?enabled=False HTTP/1.1
Host: kf-release-coord.kidsfirstdrc.org
Accept: application/json

curl

curl -i 'http://kf-release-coord.kidsfirstdrc.org/task-services?enabled=False' -H 'Accept: application/json'

response

HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
     "count": 1,
     "next": null,
     "previous": null,
     "results": [
         {
             "kf_id": "TS_P4QEPHZT",
             "name": "Snapshot Task Service",
             "description": "The snapshot task service creates a data dump directly against the data service, given a specific version of data release. The data snapshot is available via Amazon S3 in a JSON form.",
             "last_ok_status": 0,
             "author": "meen",
             "health_status": "ok",
             "url": "http://kf-task-snapshot",
             "created_at": "2018-09-11T15:23:46.922950Z",
             "enabled": false
         }
     ]
 }
GET /task-services/(kf_id)

Get task service of kf_id.

Example:

http

GET /task-services/TS_WPEKCZHQ HTTP/1.1
Host: kf-release-coord.kidsfirstdrc.org
Accept: application/json

curl

curl -i http://kf-release-coord.kidsfirstdrc.org/task-services/TS_WPEKCZHQ -H 'Accept: application/json'

response

HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "kf_id": "TS_WPEKCZHQ",
    "name": "Portal ETL Task Service",
    "description": "Run ETL to update ES indexes with latest data from Data Service.",
    "last_ok_status": 0,
    "author": "jon",
    "health_status": "ok",
    "url": "http://etl-task-service-prd",
    "created_at": "2018-09-13T17:00:09.859959Z",
    "enabled": true
}
POST /task-services

Register a new task service. The coordinator will attempt to ping the /status endpoint on the provided url to verify that the task service can be reached. If there is no response, or an error trying to get a response, the task service will not be registered and the response will respond with a 400.

Request JSON Object:
 
  • name (string) – The name of the new task service.
  • description (string) – The description of the new task service.
  • autho (string) – The author of the task service.
  • url (string) – The url of the task service.

Example:

http

POST /task-services HTTP/1.1
Host: kf-release-coord.kidsfirstdrc.org
Accept: application/json

{
    "name": "Portal ETL Task Service",
    "description": "Run ETL to update ES indexes with latest data from Data Service.",
    "author": "jon",
    "url": "http://etl-task-service-prd"
}

curl

curl -i -X POST http://kf-release-coord.kidsfirstdrc.org/task-services -H 'Accept: application/json' --data-raw '{

    "name": "Portal ETL Task Service",

    "description": "Run ETL to update ES indexes with latest data from Data Service.",

    "author": "jon",

    "url": "http://etl-task-service-prd"

}'

response

HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "kf_id": "TS_WPEKCZHQ",
    "name": "Portal ETL Task Service",
    "description": "Run ETL to update ES indexes with latest data from Data Service.",
    "last_ok_status": 0,
    "author": "jon",
    "health_status": "ok",
    "url": "http://etl-task-service-prd",
    "created_at": "2018-09-13T17:00:09.859959Z",
    "enabled": true
}
PATCH /task-services

Updates a task service of kf_id.

Request JSON Object:
 
  • name (string) – The name of the new task service.
  • description (string) – The description of the new task service.
  • autho (string) – The author of the task service.
  • url (string) – The url of the task service.

Example:

http

PATCH /task-services/TS_WPEKCZHQ HTTP/1.1
Host: kf-release-coord.kidsfirstdrc.org
Accept: application/json

{
    "name": "Portal ETL Task Service",
    "description": "Run ETL to update ES indexes with latest data from Data Service.",
    "author": "jon",
    "url": "http://etl-task-service-prd"
}

curl

curl -i -X PATCH http://kf-release-coord.kidsfirstdrc.org/task-services/TS_WPEKCZHQ -H 'Accept: application/json' --data-raw '{

    "name": "Portal ETL Task Service",

    "description": "Run ETL to update ES indexes with latest data from Data Service.",

    "author": "jon",

    "url": "http://etl-task-service-prd"

}'

response

HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "kf_id": "TS_WPEKCZHQ",
    "name": "Portal ETL Task Service",
    "description": "Run ETL to update ES indexes with latest data from Data Service.",
    "last_ok_status": 0,
    "author": "jon",
    "health_status": "ok",
    "url": "http://etl-task-service-prd",
    "created_at": "2018-09-13T17:00:09.859959Z",
    "enabled": true
}
DELETE /task-services/(kf_id)

Deletes a task service of kf_id.

Example:

http

DELETE /task-services/TS_WPEKCZHQ HTTP/1.1
Host: kf-release-coord.kidsfirstdrc.org
Accept: application/json

curl

curl -i -X DELETE http://kf-release-coord.kidsfirstdrc.org/task-services/TS_WPEKCZHQ -H 'Accept: application/json'

response

HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

Releases

GET /releases

Lists releases.

Query Parameters:
 
  • limit – Number of results to return in a page, defaults to 10
  • offset – How many items to offset the page by
  • state – Filter tasks by a given state

Example:

http

GET /releases?state=published HTTP/1.1
Host: kf-release-coord.kidsfirstdrc.org
Accept: application/json

curl

curl -i 'http://kf-release-coord.kidsfirstdrc.org/releases?state=published' -H 'Accept: application/json'

response

HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
     "count": 1,
     "next": "http://kf-release-coord-dev.kidsfirstdrc.org/releases?state=published",
     "previous": null,
     "results": [
         {
             "kf_id": "RE_EJTE6XDS",
             "name": "Test Auth",
             "description": "",
             "notes": [],
             "state": "published",
             "studies": [
                 "SD_ME0WME0W"
             ],
             "tasks": [
                 {
                     "kf_id": "TA_T4D9PMPJ",
                     "state": "published",
                     "progress": 0,
                     "release": "http://kf-release-coord-dev.kidsfirstdrc.org/releases/RE_EJTE6XDS",
                     "task_service": "http://kf-release-coord-dev.kidsfirstdrc.org/task-services/TS_8DSD3XHF",
                     "created_at": "2018-11-07T16:32:43.563546Z",
                     "service_name": "Reports Task Service"
                 }
             ],
             "version": "0.7.0",
             "created_at": "2018-11-07T16:32:43.271141Z",
             "tags": [],
             "author": "daniel",
             "is_major": false
         }
     ]
 }
GET /releases/(kf_id)

Gets a release of kf_id.

Example:

http

GET /releases/RE_EJTE6XDS HTTP/1.1
Host: kf-release-coord.kidsfirstdrc.org
Accept: application/json

curl

curl -i http://kf-release-coord.kidsfirstdrc.org/releases/RE_EJTE6XDS -H 'Accept: application/json'

response

HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "kf_id": "RE_EJTE6XDS",
    "name": "Test Auth",
    "description": "",
    "notes": [],
    "state": "published",
    "studies": [
        "SD_ME0WME0W"
    ],
    "tasks": [
        {
            "kf_id": "TA_T4D9PMPJ",
            "state": "published",
            "progress": 0,
            "release": "http://kf-release-coord-dev.kidsfirstdrc.org/releases/RE_EJTE6XDS",
            "task_service": "http://kf-release-coord-dev.kidsfirstdrc.org/task-services/TS_8DSD3XHF",
            "created_at": "2018-11-07T16:32:43.563546Z",
            "service_name": "Reports Task Service"
        }
    ],
    "version": "0.7.0",
    "created_at": "2018-11-07T16:32:43.271141Z",
    "tags": [],
    "author": "daniel",
    "is_major": false
}
POST /releases

Start a new release. This will begin a release by creating new tasks for each service.

Request JSON Object:
 
  • name (string) – The name of the new release.
  • description (string) – The description of the new release.
  • is_major (boolean) – Whether the release is major or not.
  • author (string) – The author of the release.
  • studies (array) – An array of study kf_id s to include in the release

Example:

http

PATCH /releases/RE_EJTE6XDS HTTP/1.1
Host: kf-release-coord.kidsfirstdrc.org
Accept: application/json

{
    "name": "My Release",
    "description": "New description,
}

curl

curl -i -X PATCH http://kf-release-coord.kidsfirstdrc.org/releases/RE_EJTE6XDS -H 'Accept: application/json' --data-raw '{

    "name": "My Release",

    "description": "New description,

}'

response

HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "kf_id": "RE_EJTE6XDS",
    "name": "My Release",
    "description": "New description",
    "notes": [],
    "state": "published",
    "studies": [
        "SD_ME0WME0W"
    ],
    "tasks": [
        {
            "kf_id": "TA_T4D9PMPJ",
            "state": "published",
            "progress": 0,
            "release": "http://kf-release-coord-dev.kidsfirstdrc.org/releases/RE_EJTE6XDS",
            "task_service": "http://kf-release-coord-dev.kidsfirstdrc.org/task-services/TS_8DSD3XHF",
            "created_at": "2018-11-07T16:32:43.563546Z",
            "service_name": "Reports Task Service"
        }
    ],
    "version": "0.7.0",
    "created_at": "2018-11-07T16:32:43.271141Z",
    "tags": [],
    "author": "daniel",
    "is_major": false
}
PATCH /releases/(kf_id)

Update a release of kf_id.

Example:

http

PATCH /releases/RE_EJTE6XDS HTTP/1.1
Host: kf-release-coord.kidsfirstdrc.org
Accept: application/json

{
    "name": "My Release",
    "description": "New description,
}

curl

curl -i -X PATCH http://kf-release-coord.kidsfirstdrc.org/releases/RE_EJTE6XDS -H 'Accept: application/json' --data-raw '{

    "name": "My Release",

    "description": "New description,

}'

response

HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "kf_id": "RE_EJTE6XDS",
    "name": "My Release",
    "description": "New description",
    "notes": [],
    "state": "published",
    "studies": [
        "SD_ME0WME0W"
    ],
    "tasks": [
        {
            "kf_id": "TA_T4D9PMPJ",
            "state": "published",
            "progress": 0,
            "release": "http://kf-release-coord-dev.kidsfirstdrc.org/releases/RE_EJTE6XDS",
            "task_service": "http://kf-release-coord-dev.kidsfirstdrc.org/task-services/TS_8DSD3XHF",
            "created_at": "2018-11-07T16:32:43.563546Z",
            "service_name": "Reports Task Service"
        }
    ],
    "version": "0.7.0",
    "created_at": "2018-11-07T16:32:43.271141Z",
    "tags": [],
    "author": "daniel",
    "is_major": false
}
DELETE /releases/(kf_id)

Cancels a release of kf_id.

Example:

http

DELETE /releases/RE_EJTE6XDS HTTP/1.1
Host: kf-release-coord.kidsfirstdrc.org
Accept: application/json

curl

curl -i -X DELETE http://kf-release-coord.kidsfirstdrc.org/releases/RE_EJTE6XDS -H 'Accept: application/json'

response

HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "kf_id": "RE_EJTE6XDS",
    "name": "Test Auth",
    "description": "",
    "notes": [],
    "state": "canceling",
    "studies": [
        "SD_ME0WME0W"
    ],
    "tasks": [
        {
            "kf_id": "TA_T4D9PMPJ",
            "state": "published",
            "progress": 0,
            "release": "http://kf-release-coord-dev.kidsfirstdrc.org/releases/RE_EJTE6XDS",
            "task_service": "http://kf-release-coord-dev.kidsfirstdrc.org/task-services/TS_8DSD3XHF",
            "created_at": "2018-11-07T16:32:43.563546Z",
            "service_name": "Reports Task Service"
        }
    ],
    "version": "0.7.0",
    "created_at": "2018-11-07T16:32:43.271141Z",
    "tags": [],
    "author": "daniel",
    "is_major": false
}
POST /releases/(kf_id)/publish

Start publishing release of kf_id. The release must be in the staged state.

Example:

http

PATCH /releases/RE_EJTE6XDS/publish HTTP/1.1
Host: kf-release-coord.kidsfirstdrc.org
Accept: application/json

curl

curl -i -X PATCH http://kf-release-coord.kidsfirstdrc.org/releases/RE_EJTE6XDS/publish -H 'Accept: application/json'

response

HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "message": "publishing"
}

Release Notes

Release notes describe changes made in a release. They may optionally target a specific study to allow individual studies to be annotated separately.

GET /release-notes

Returns a list of release notes

Query Parameters:
 
  • limit – Number of results to return in a page, defaults to 10
  • offset – How many items to offset the page by
  • release – Filter tasks related to a given release’s kf_id
  • study – Filter tasks related to a given study’s kf_id

Example:

http

GET /release-notes?study=SD_ME0WME0W HTTP/1.1
Host: kf-release-coord.kidsfirstdrc.org
Accept: application/json

curl

curl -i 'http://kf-release-coord.kidsfirstdrc.org/release-notes?study=SD_ME0WME0W' -H 'Accept: application/json'

response

HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
     "count": 1,
     "next": null,
     "previous": null,
     "results": [
         {
             "kf_id": "RN_D1HXSBVD",
             "description": "Probably need more cats",
             "author": "daniel",
             "created_at": "2018-10-25T20:06:22.936504Z",
             "release": "http://kf-release-coord-dev.kidsfirstdrc.org/releases/RE_GD2D17A9",
             "study": "http://kf-release-coord-dev.kidsfirstdrc.org/studies/SD_ME0WME0W"
         }
     ]
 }
GET /release-notes/(kf_id)

Get a specific note of kf_id.

Example:

http

GET /release-notes/RN_D1HXSBVD HTTP/1.1
Host: kf-release-coord.kidsfirstdrc.org
Accept: application/json

curl

curl -i http://kf-release-coord.kidsfirstdrc.org/release-notes/RN_D1HXSBVD -H 'Accept: application/json'

response

HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "kf_id": "RN_D1HXSBVD",
    "description": "Probably need more cats",
    "author": "daniel",
    "created_at": "2018-10-25T20:06:22.936504Z",
    "release": "http://kf-release-coord-dev.kidsfirstdrc.org/releases/RE_GD2D17A9",
    "study": "http://kf-release-coord-dev.kidsfirstdrc.org/studies/SD_ME0WME0W"
}
POST /release-notes

Create a new note for a release. May optionally specify a study in the release.

Request JSON Object:
 
  • description (string) – The description of changes in the release
  • author (string) – The author of the note
  • release (string) – The kf_id of the release that the note describes
  • study (string) – The kf_id of a study that the note describes

Example:

http

POST /release-notes HTTP/1.1
Host: kf-release-coord.kidsfirstdrc.org
Accept: application/json

{
    "description": "Probably need more cats",
    "author": "daniel",
    "release": "RE_GD2D17A9",
    "study": "SD_ME0WME0W"
}

curl

curl -i -X POST http://kf-release-coord.kidsfirstdrc.org/release-notes -H 'Accept: application/json' --data-raw '{

    "description": "Probably need more cats",

    "author": "daniel",

    "release": "RE_GD2D17A9",

    "study": "SD_ME0WME0W"

}'

response

HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
     "count": 1,
     "next": null,
     "previous": null,
     "results": [
         {
             "kf_id": "RN_D1HXSBVD",
             "description": "Probably need more cats",
             "author": "daniel",
             "created_at": "2018-10-25T20:06:22.936504Z",
             "release": "http://kf-release-coord-dev.kidsfirstdrc.org/releases/RE_GD2D17A9",
             "study": "http://kf-release-coord-dev.kidsfirstdrc.org/studies/SD_ME0WME0W"
         }
     ]
 }
PATCH /release-notes/(kf_id)

Update a specific note of kf_id.

Request JSON Object:
 
  • description (string) – The description of changes in the release
  • author (string) – The author of the note
  • release (string) – The kf_id of the release that the note describes
  • study (string) – The kf_id of a study that the note describes

Example:

http

PATCH /release-notes/RN_D1HXSBVD HTTP/1.1
Host: kf-release-coord.kidsfirstdrc.org
Accept: application/json

{
    "description": "New description"
}

HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "kf_id": "RN_D1HXSBVD",
    "description": "New description",
    "author": "daniel",
    "created_at": "2018-10-25T20:06:22.936504Z",
    "release": "http://kf-release-coord-dev.kidsfirstdrc.org/releases/RE_GD2D17A9",
    "study": "http://kf-release-coord-dev.kidsfirstdrc.org/studies/SD_ME0WME0W"
}

curl

curl -i -X PATCH http://kf-release-coord.kidsfirstdrc.org/release-notes/RN_D1HXSBVD -H 'Accept: application/json' --data-raw '{

    "description": "New description"

}



HTTP/1.1 200 OK

Allow: GET, POST, HEAD, OPTIONS

Content-Type: application/json

Vary: Accept



{

    "kf_id": "RN_D1HXSBVD",

    "description": "New description",

    "author": "daniel",

    "created_at": "2018-10-25T20:06:22.936504Z",

    "release": "http://kf-release-coord-dev.kidsfirstdrc.org/releases/RE_GD2D17A9",

    "study": "http://kf-release-coord-dev.kidsfirstdrc.org/studies/SD_ME0WME0W"

}'
DELETE /release-notes/(kf_id)

Delete a release note of kf_id.

Example:

http

DELETE /release-notes/RN_D1HXSBVD HTTP/1.1
Host: kf-release-coord.kidsfirstdrc.org
Accept: application/json

HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

curl

curl -i -X DELETE http://kf-release-coord.kidsfirstdrc.org/release-notes/RN_D1HXSBVD -H 'Accept: application/json' --data-raw 'HTTP/1.1 200 OK

Allow: GET, POST, HEAD, OPTIONS

Content-Type: application/json

Vary: Accept'

Events

Events are created when tasks and releases change between states. They are used to log status changes and history of releases for debugging and notification purposes.

GET /events

Lists events.

Query Parameters:
 
  • limit – Number of results to return in a page, defaults to 10
  • offset – How many items to offset the page by
  • release – Filter events related to a given release’s kf_id
  • study – Filter events related to a given study’s kf_id
  • task – Filter events related to a given task’s kf_id
  • task_service – Filter events related to a given task’s kf_id

Example:

http

GET /events?release=RE_N06RZ4VV HTTP/1.1
Host: kf-release-coord.kidsfirstdrc.org
Accept: application/json

curl

curl -i 'http://kf-release-coord.kidsfirstdrc.org/events?release=RE_N06RZ4VV' -H 'Accept: application/json'

response

HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "count": 1,
    "next": "null",
    "previous": null,
    "results": [
        {
            "kf_id": "TA_YPK2CS52",
            "event_type": "info",
            "message": "release RE_N06RZ4VV, version 3.35.0 changed from publishing to published",
            "release": "https://kf-release-coord.kidsfirstdrc.org/releases/RE_N06RZ4VV",
            "task_service": null,
            "task": null,
            "created_at": "2019-07-30T18:03:54.308385Z"
        }
    ]
}
POST /events

Creates a new event

Request JSON Object:
 
  • event_type (string) – The type of event
  • message (string) – A message describing the event
  • release (string) – The kf_id of the releated release
  • study (string) – The kf_id of the releated release
  • task (string) – The kf_id of the releated release
  • task_service (string) – The kf_id of the releated release

Example:

http

POST /events HTTP/1.1
Host: kf-release-coord.kidsfirstdrc.org
Accept: application/json

{
     "event_type": "info",
     "message": "release RE_N06RZ4VV, version 3.35.0 changed from publishing to published",
     "release": "RE_N06RZ4VV"
 }

curl

curl -i -X POST http://kf-release-coord.kidsfirstdrc.org/events -H 'Accept: application/json' --data-raw '{

     "event_type": "info",

     "message": "release RE_N06RZ4VV, version 3.35.0 changed from publishing to published",

     "release": "RE_N06RZ4VV"

 }'

response

HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
     "kf_id": "TA_YPK2CS52",
     "event_type": "info",
     "message": "release RE_N06RZ4VV, version 3.35.0 changed from publishing to published",
     "release": "https://kf-release-coord.kidsfirstdrc.org/releases/RE_N06RZ4VV",
     "task_service": null,
     "task": null,
     "created_at": "2019-07-30T18:03:54.308385Z"
 }
GET /events/(kf_id)

Gets an event of kf_id.

Example:

http

GET /events/TA_YPK2CS52 HTTP/1.1
Host: kf-release-coord.kidsfirstdrc.org
Accept: application/json

curl

curl -i http://kf-release-coord.kidsfirstdrc.org/events/TA_YPK2CS52 -H 'Accept: application/json'

response

HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
     "kf_id": "TA_YPK2CS52",
     "event_type": "info",
     "message": "release RE_N06RZ4VV, version 3.35.0 changed from publishing to published",
     "release": "https://kf-release-coord.kidsfirstdrc.org/releases/RE_N06RZ4VV",
     "task_service": null,
     "task": null,
     "created_at": "2019-07-30T18:03:54.308385Z"
 }
DELETE /events/(kf_id)

Delete an event of kf_id.

Example:

http

DELETE /events/TA_YPK2CS52 HTTP/1.1
Host: kf-release-coord.kidsfirstdrc.org
Accept: application/json

curl

curl -i -X DELETE http://kf-release-coord.kidsfirstdrc.org/events/TA_YPK2CS52 -H 'Accept: application/json'

response

HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

Studies

Studies are mirrored from the dataservice and are immutable from the Release Coordinator. They are only used to relate releases together to create timelines for given studies.

GET /studies

Returns a list of studies.

Query Parameters:
 
  • limit – Number of results to return in a page, defaults to 10
  • offset – How many items to offset the page by

Example:

http

GET /studies HTTP/1.1
Host: kf-release-coord.kidsfirstdrc.org
Accept: application/json

curl

curl -i http://kf-release-coord.kidsfirstdrc.org/studies -H 'Accept: application/json'

response

HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "kf_id": "SD_1P41Z782",
            "name": "OpenDIPG: ICR London",
            "version": "3.35.0",
            "visible": true,
            "last_pub_version": "3.35.0",
            "last_pub_date": "2019-07-30T17:40:45.715939Z",
            "deleted": false,
            "created_at": "2019-07-29T14:29:07.227936Z"
        }
    ]
}