Smart Checklist REST API v1.0

Welcome to the Smart Checklist for Jira Server/Data Center platform REST API reference. You can use this REST API to develop integrations between Smart Checklist, Jira, and other 3rd party applications. This page documents the REST resources available in Smart Checklist for the Jira Server/Data Center platform, along with expected HTTP response codes and sample requests.

Looking for simpler integration using Jira REST API and/or 3rd party add-ons? Follow the links below:

Authentication

Use the same authentication that you use to authenticate to Jira applications on your instances.

Resources

/rest/railsware/1.0/checklist

Get checklists GET /rest/railsware/1.0/checklist

Retrieves an existing list of checklists for the given issue key

Query parameters

  • issueKey: string (required)

Responses

  • status 200 application/json Returns a list of all checklists associated with the provided issue key in JSON format
    Example

{ "checklists": [ { "checklistId": 829, "issueId": 13657, "mentionedUsers": { "mariya": "mariya" }, "items": [ { "id": 26403, "checklistId": 829, "label": "INVEST", "rank": 0, "status": null, "quotes": [], "assignees": [], "history": { "id": 19902, "itemId": 26403, "checklistId": 829, "type": "ITEM_CREATED", "from": "", "to": "", "date": 1718634937972, "user": "Admin Admin" }, "mandatory": false, "value": "## INVEST", "level": 2, "type": "HEADING", "isCheckbox": false }, { "id": 26398, "checklistId": 829, "label": "**Independent.** The user story is self contained. @mariya ", "rank": 1, "status": { "id": 1, "rank": 0, "statusState": "UNCHECKED", "name": "TO DO", "color": "GRAY", "default": true }, "quotes": [], "assignees": [ { "id": 518, "userName": "mariya", "displayName": "mariya" } ], "history": { "id": 19904, "itemId": 26398, "checklistId": 829, "type": "ITEM_UPDATED", "from": "TO DO", "to": "TO DO", "date": 1718634945507, "user": "Admin Admin" }, "mandatory": false, "value": "**Independent.** The user story is self contained. @mariya ", "level": null, "type": "item", "isCheckbox": true }, { "id": 26399, "checklistId": 829, "label": "**Negotiable.** The details of the user story can be negotiated and refined, as the team gets a better understanding of the requirements.", "rank": 2, "status": { "id": 1, "rank": 0, "statusState": "UNCHECKED", "name": "TO DO", "color": "GRAY", "default": true }, "quotes": [], "assignees": [], "history": { "id": 19898, "itemId": 26399, "checklistId": 829, "type": "ITEM_CREATED", "from": "", "to": "TO DO", "date": 1718634937972, "user": "Admin Admin" }, "mandatory": false, "value": "**Negotiable.** The details of the user story can be negotiated and refined, as the team gets a better understanding of the requirements.", "level": null, "type": "item", "isCheckbox": true }, { "id": 26400, "checklistId": 829, "label": "**Valuable.** The user story clearly defines and provides value to the end-users or stakeholders.", "rank": 3, "status": { "id": 1, "rank": 0, "statusState": "UNCHECKED", "name": "TO DO", "color": "GRAY", "default": true }, "quotes": [], "assignees": [], "history": { "id": 19899, "itemId": 26400, "checklistId": 829, "type": "ITEM_CREATED", "from": "", "to": "TO DO", "date": 1718634937972, "user": "Admin Admin" }, "mandatory": false, "value": "**Valuable.** The user story clearly defines and provides value to the end-users or stakeholders.", "level": null, "type": "item", "isCheckbox": true }, { "id": 26401, "checklistId": 829, "label": "**Estimable.** The user story may be accurately estimated.", "rank": 4, "status": { "id": 1, "rank": 0, "statusState": "UNCHECKED", "name": "TO DO", "color": "GRAY", "default": true }, "quotes": [], "assignees": [], "history": { "id": 19900, "itemId": 26401, "checklistId": 829, "type": "ITEM_CREATED", "from": "", "to": "TO DO", "date": 1718634937972, "user": "Admin Admin" }, "mandatory": false, "value": "**Estimable.** The user story may be accurately estimated.", "level": null, "type": "item", "isCheckbox": true }, { "id": 26402, "checklistId": 829, "label": "**Testable.** ", "rank": 5, "status": { "id": 1, "rank": 0, "statusState": "UNCHECKED", "name": "TO DO", "color": "GRAY", "default": true }, "quotes": [ { "id": 5626, "rank": 0, "text": "The user story may be tested ", "label": "The user story may be tested ", "value": "The user story may be tested " }, { "id": 5627, "rank": 1, "text": "and has a clear acceptance criterias for evaluation of completion.", "label": "and has a clear acceptance criterias for evaluation of completion.", "value": "and has a clear acceptance criterias for evaluation of completion." } ], "assignees": [], "history": { "id": 19901, "itemId": 26402, "checklistId": 829, "type": "ITEM_CREATED", "from": "", "to": "TO DO", "date": 1718634937972, "user": "Admin Admin" }, "mandatory": false, "value": "**Testable.** ", "level": null, "type": "item", "isCheckbox": true }, { "id": 26404, "checklistId": 829, "label": "Note: this is an example", "rank": 6, "status": null, "quotes": [], "assignees": [], "history": { "id": 19903, "itemId": 26404, "checklistId": 829, "type": "ITEM_CREATED", "from": "", "to": "", "date": 1718634937972, "user": "Admin Admin" }, "mandatory": false, "value": "Note: this is an example", "level": null, "type": "raw", "isCheckbox": false } ] } ] }

 

  • status 400 Returned if the issue key is not provided

  • status 404 Returned if the requested issue is not found

Update checklist PUT /rest/railsware/1.0/checklist/{checklistId}

Updates checklist items

Path parameters

  • checklistId: number (required)

Body parameters (application/json) - list of JSON objects:

  • id: number

  • rank: number

  • label: string

  • level: number

  • mandatory: boolean

  • status: object

    • id: number (required) - new status id

Example

Changes the item 26401 position and changes label + status of item 26398:

[ { "id": 26401, "rank": 2 }, { "id": 26398, "label": "**Independent.** The user story is self contained", "status": { "id": 2 } } ]

 

Responses

  • STATUS 200 Returns a list of all checklists associated with the same issue in JSON format

  • status 400 Returned if the request body is invalid

  • status 404 Returned if the requested checklist is not found

Delete checklist items DELETE /rest/railsware/1.0/checklist/{checklistId}

Deletes all checklist items for the given checklist

Path parameters

  • checklistId: number (required)

Responses

  • STATUS 200 application/json returns empty checklist in JSON format

  • status 404 Returned if the requested checklist is not found

Create/Update checklist from string PUT /rest/railsware/1.0/checklist/{checklistId}/item

Creates or updates checklist items from string

Path parameters

  • checklistId: number (required)

Body parameters (application/json)

  • stringValue: string (required)

  • isReplace: boolean - replaces all checklist items by the provided string value if true, appends items to the end of the list otherwise

Example

{ "isReplace": true, "stringValue": "# Release instructions2\n## Preparation\n+ Add feature permissions\n+ Send `internal` announcement with presentation\n~ Prepare branch\n> * merge feature to master\n> * set tag\n> * update changelog.com" }

Responses

  • STATUS 200 Returns a list of all checklists associated with the same issue in JSON format

/rest/railsware/1.0/template/

Get templates list GET /rest/railsware/1.0/template/global

Returns a paginated list of templates available in Jira

Get project templates GET /rest/railsware/1.0/template/project/{projectId}

Returns a paginated list of project templates

 

Get template by ID GET /rest/railsware/1.0/template/{templateId}

Returns the Smart Checklist template by id


Get templates fields GET /rest/railsware/1.0/template/fields

Returns a supported list of fields with types for template condition section

Create template POST /rest/railsware/1.0/template

Creates a new template

 

Update template PUT /rest/railsware/1.0/template/{id}

Updates template

Apply template to the issue POST /rest/railsware/1.0/checklist{checklistId}/template/{templateId}

Apply template to the issue

Delete template DELETE /rest/railsware/1.0/template/{id}

Deletes template by id

New Get Smart Checklist history GET /rest/railsware/1.0/history - available from v6.5.0

Retrieves an existing list of changes/updates done to the checklist for the given issue key

New Run migration POST /rest/railsware/1.0/migration

Start the storage migration or migration from other apps (My ToDo, Elements Checklist)

REST API endpoints will not be accessible for all the users with the introduced custom permissions in the Smart Checklist v6.4.1.

Resources based on permissions

REST API endpoints with Jira Standard permission

 

 

Jira Standard Permission (Role)

 

 

Jira Standard Permission (Role)

REST API Resources

Description

Browse Projects

Edit Issues

Administer Projects

Site Admin

GET /rest/railsware/1.0/checklist

Get checklist

GET /rest/railsware/1.0/history

Get Smart Checklist history

PUT /rest/railsware/1.0/checklist/{checklistId}

Update checklist

 

 

 

DELETE /rest/railsware/1.0/checklist/{checklistId}

Delete checklist items

 

 

 

PUT /rest/railsware/1.0/checklist/{checklistId}/item

Create/Update checklist from string

 

 

 

GET /rest/railsware/1.0/template/global

Get template list

 

 

 

GET rest/railsware/1.0/template/project/{{projectId}}?reversed=false&page=1&global=true

Get global templates

 

GET /rest/railsware/1.0/template/project/{projectId}?reversed=false&page=1&global=false

Get project templates

 

GET /rest/railsware/1.0/template/{templateId}

Get template by ID

 

 

 

GET /rest/railsware/1.0/template/fields

Get template fields

 

 

 

POST /rest/railsware/1.0/template

Create template

 

only with "scope":{"type":2,"values":["projectId"] in request

DELETE /rest/railsware/1.0/template/{id}

Delete template

 

 

only if add ?projectId={id} to the endpoint

PUT rest/railsware/1.0/template/{Id}

Update template

 

 

only with "projectId" in request body

 

REST API endpoints with Custom permissions to View and Work with Smart Checklist

You can set up Custom Permissions to View and Work with Smart Checklist starting from Smart Checklist v6.4.1.

 

 

Custom Smart Checklist permission

Jira permission

 

 

Custom Smart Checklist permission

Jira permission

REST API Resources

Description

View Smart Checklist

Add Smart Checklist Items

Set status of Smart Checklist Items

Delete Smart Checklist Items

Manage Smart Checklist Items

Manage Smart Checklist Templates

Project Admin

Site Admin

GET /rest/railsware/1.0/checklist

Get checklist

GET /rest/railsware/1.0/history

Get Smart Checklist history

PUT /rest/railsware/1.0/checklist/{checklistId}

Update checklist

 

 

only change status of checklist items

 

 

 

 

DELETE /rest/railsware/1.0/checklist/{checklistId}

Delete checklist items

 

 

 

 

 

 

PUT /rest/railsware/1.0/checklist/{checklistId}/item

Create/Update checklist from string

 

only add new items with "isReplace": false in request

 

 

 

 

 

GET /rest/railsware/1.0/template/global

Get template list

 

 

 

 

 

 

 

GET rest/railsware/1.0/template/project/{{projectId}}?reversed=false&page=1&global=true

Get global templates

 

 

 

GET /rest/railsware/1.0/template/project/{projectId}?reversed=false&page=1&global=false

Get project templates

 

 

 

GET /rest/railsware/1.0/template/{templateId}

Get template by ID

 

 

 

 

 

 

 

GET /rest/railsware/1.0/template/fields

Get template fields

 

 

 

 

 

 

 

POST /rest/railsware/1.0/template

Create template

 

 

 

only with "scope":{"type":2,"values":["projectId"] in request

only with "scope":{"type":2,"values":["projectId"] in request

DELETE /rest/railsware/1.0/template/{id}

Delete template

 

 

 

 

 

only if add ?projectId={id} to the endpoint

only if add ?projectId={id} to the endpoint

PUT rest/railsware/1.0/template/{Id}

Update template

 

 

 

 

 

only with "projectId" in request body

only with "projectId" in request body