Zepel API Documentation
version 2
baseUri https://{subdomain}.zepel.io/api/v2
protocols HTTPS
Introduction
Zepel is the project management tool that lets you plan, track, and ship features together effortlessly.
The Zepel REST-like API (Beta) gives you greater control over your data inside Zepel, so you can build custom integrations and even automate parts of your organization's workflow.
Authentication
The Zepel API uses token-based authentication.To generate an API token, follow the below steps:
- On the top-left corner, click on your account name. This usually is the name of your organization.
- From the drop-down menu, click on "Account Settings".
- From the Account Settings popup, switch to the "API" tab.
- Within the API tab, click on the "Create API token" button.
Once your personal token is generated, copy it and add it to the authorization header in all your API requests.
Attachments
Attachments in Zepel represents any file uploaded to an item. Using this API endpoint you can fetch all the details on an already uploaded attachment.
Get an attachment
GET: /attachments/{attachment_id}
Get the full details of a specific file attached to an item.
URI Parameters
Name | Description | Type | Required |
---|---|---|---|
attachment_id | string | true |
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be application/json | string | true |
authorization | Should be with Bearer Token | string | true |
Possible Responses
200
Get an attachment
CURL EXAMPLE
curl -X GET "https://{subdomain}.zepel.io/api/v2/attachments/{attachment_id}" \
-H "content-type: application/json" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3"
REQUEST HEADERS
content-type: application/json
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
attachment 200
{
"id": "e3735941-d8e1-4be0-b4b9-54929aa07bd7",
"file_name": "file.png",
"size": 135180,
"user_id": "e3735941-d8e1-4be0-b4b9-54929aa07bd7",
"url": "/local_attachments/squad_attachments/5b0cc66b-f128-4efb-abec-4100472a2f55/original.png?1573807853",
"thumbnail_url": "/local_attachments/squad_attachments/5b0cc66b-f128-4efb-abec-4100472a2f55/thumb.jpg?1573807853",
"content_type": "image/png",
"created_at": "2019-03-21T14:07:57.660Z",
"updated_at": "2019-11-26T07:15:39.920Z",
"attached_to": {
"type": "Comment",
"id": "a805a3af-c0fa-4f0b-90d2-dda8f3fc5112"
}
}
Boards
Boards lets you customize Zepel to map to your workflow, so you can move items from one status to another and keep everyone in your team updated. Using this end point, you can get all the details about a specific board and fetch all the statuses within it.
Get a board's information
GET: /boards/{board_id}
Returns all the details about a specific board.
URI Parameters
Name | Description | Type | Required |
---|---|---|---|
board_id | string | true |
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be application/json | string | true |
authorization | Should be with Bearer Token | string | true |
Possible Responses
200
Get a board's information
CURL EXAMPLE
curl -X GET "https://{subdomain}.zepel.io/api/v2/boards/{board_id}" \
-H "content-type: application/json" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3"
REQUEST HEADERS
content-type: application/json
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
board 200
{
"id": "e3735941-d8e1-4be0-b4b9-54929aa07bd7",
"name": "Dev Board",
"created_at": "2019-03-21T14:07:57.660Z",
"updated_at": "2019-11-26T07:15:39.920Z"
}
List a board's statuses
GET: /boards/{board_id}/statuses
Returns all the statuses from a specific board.
URI Parameters
Name | Description | Type | Required |
---|---|---|---|
board_id | string | true |
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be application/json | string | true |
authorization | Should be with Bearer Token | string | true |
Possible Responses
200
List a board's statuses
CURL EXAMPLE
curl -X GET "https://{subdomain}.zepel.io/api/v2/boards/{board_id}/statuses" \
-H "content-type: application/json" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3"
REQUEST HEADERS
content-type: application/json
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
statuses 200
[
{
"id": "e417846d-13cd-4424-b87c-6724d6a9c7e1",
"name": "Todo",
"board_id": "33e7adf2-8e6f-4e33-9954-99373c416c52",
"category": "Todo",
"created_at": "2019-10-30T09:12:57.755Z",
"updated_at": "2019-10-30T09:12:57.755Z"
},
{
"id": "574d8ac9-fcff-4c80-9aad-bea483c630a5",
"name": "In-Progress",
"board_id": "33e7adf2-8e6f-4e33-9954-99373c416c52",
"category": "In Progress",
"created_at": "2019-10-30T09:12:57.759Z",
"updated_at": "2019-10-30T09:12:57.759Z"
},
{
"id": "cc067eec-8202-4f83-a462-ca76931c6428",
"name": "Resolved",
"board_id": "33e7adf2-8e6f-4e33-9954-99373c416c52",
"category": "In Progress",
"created_at": "2019-10-30T09:12:57.762Z",
"updated_at": "2019-10-30T09:12:57.762Z"
},
{
"id": "12bec9f6-791b-43e3-921f-40bc0effdf09",
"name": "Done",
"board_id": "33e7adf2-8e6f-4e33-9954-99373c416c52",
"category": "Done",
"created_at": "2019-10-30T09:12:57.764Z",
"updated_at": "2019-10-30T09:12:57.764Z"
}
]
Item Comment
Add comments on items to ask questions, share information, or to provide extra information. With comments in Zepel, you can also upload files and mention people to get their attention.
Get all comments
GET: /squads/{squad_id}/lists/{list_id}/items/{item_id}/comments
Returns all comments in a specific item.
URI Parameters
Name | Description | Type | Required |
---|---|---|---|
squad_id | string | true | |
list_id | string | true | |
item_id | string | true |
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be application/json | string | true |
authorization | Should be with Bearer Token | string | true |
Possible Responses
200
Get all comments
CURL EXAMPLE
curl -X GET "https://{subdomain}.zepel.io/api/v2/squads/{squad_id}/lists/{list_id}/items/{item_id}/comments" \
-H "content-type: application/json" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3"
REQUEST HEADERS
content-type: application/json
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
comments 200
[
{
"id": "a805a3af-c0fa-4f0b-90d2-dda8f3fc5112",
"description": "Hello World",
"user_id": "e3735941-d8e1-4be0-b4b9-54929aa07bd7",
"item_id": "2f40941f-5f7d-4b78-9078-4406a81e1728",
"squad_id": "3fe0aaee-de05-4fe3-9056-b5720b84f4e4",
"list_id": "cfc40d7e-35a4-4ac1-916f-2c929e19fce7",
"created_at": "2019-11-15T08:51:02.175Z",
"updated_at": "2019-11-15T08:51:02.175Z",
"mentioned_ids": [
"f4735941-d8e1-4be0-b4b9-54929aa07bd7"
],
"attachment_ids": [
"5b0cc66b-f128-4efb-abec-4100472a2f55"
]
},
{
"id": "a805a3af-c0fa-4f0b-90d2-dda8f3fc5112",
"description": "Hello World",
"user_id": "e3735941-d8e1-4be0-b4b9-54929aa07bd7",
"item_id": "2f40941f-5f7d-4b78-9078-4406a81e1728",
"squad_id": "3fe0aaee-de05-4fe3-9056-b5720b84f4e4",
"list_id": "cfc40d7e-35a4-4ac1-916f-2c929e19fce7",
"created_at": "2019-11-15T08:51:02.175Z",
"updated_at": "2019-11-15T08:51:02.175Z",
"mentioned_ids": [
"f4735941-d8e1-4be0-b4b9-54929aa07bd7"
],
"attachment_ids": [
"5b0cc66b-f128-4efb-abec-4100472a2f55"
]
}
]
Create an item comment
POST: /squads/{squad_id}/lists/{list_id}/items/{item_id}/comments
Adds a comment to a specific item. While creating an item, you can @ mention a user to get their attention and even upload an attachment.
URI Parameters
Name | Description | Type | Required |
---|---|---|---|
squad_id | string | true | |
list_id | string | true | |
item_id | string | true |
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be multipart/form-data | string | true |
authorization | Should be with Bearer Token | string | true |
Body Parameters
Name | Description | Type | Required |
---|---|---|---|
id | ID should be in UUID format. | string | false |
description | Description should be a string | string | true |
mentioned_ids | To @ mention a user, add mention_ids as an array of UUIDs of members. You can mention only users who are collaborated in the squad. | array | false |
attachment | The file you want to upload. | file | false |
Possible Responses
200
Create an item comment
CURL EXAMPLE
curl -X POST "https://{subdomain}.zepel.io/api/v2/squads/{squad_id}/lists/{list_id}/items/{item_id}/comments" \
-H "content-type: multipart/form-data" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3" \
-d @request_body
REQUEST HEADERS
content-type: multipart/form-data
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
comment 200
{
"id": "a805a3af-c0fa-4f0b-90d2-dda8f3fc5112",
"description": "Hello World",
"user_id": "e3735941-d8e1-4be0-b4b9-54929aa07bd7",
"item_id": "2f40941f-5f7d-4b78-9078-4406a81e1728",
"squad_id": "3fe0aaee-de05-4fe3-9056-b5720b84f4e4",
"list_id": "cfc40d7e-35a4-4ac1-916f-2c929e19fce7",
"created_at": "2019-11-15T08:51:02.175Z",
"updated_at": "2019-11-15T08:51:02.175Z",
"mentioned_ids": [
"f4735941-d8e1-4be0-b4b9-54929aa07bd7"
],
"attachment_ids": [
"5b0cc66b-f128-4efb-abec-4100472a2f55"
]
}
Items
Items in Zepel are the actionable pieces of work that are created inside a List or a Feature. They can be assigned to more than one person, have due dates, estimates, and statuses. An item can be of type - User Story, Task, Subtask, Bug, or Enhancement.
Get all items
GET: /squads/{squad_id}/lists/{list_id}/items
Returns all items inside a specified list or feature along with their details.
URI Parameters
Name | Description | Type | Required |
---|---|---|---|
squad_id | string | true | |
list_id | string | true |
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be application/json | string | true |
authorization | Should be with Bearer Token | string | true |
Possible Responses
200
Get all items
CURL EXAMPLE
curl -X GET "https://{subdomain}.zepel.io/api/v2/squads/{squad_id}/lists/{list_id}/items" \
-H "content-type: application/json" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3"
REQUEST HEADERS
content-type: application/json
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
items 200
[
{
"id": "3669ab41-09ee-47f0-98ad-ccc12e6d9fcc",
"title": "Take the user back to their last visited tab inside the dashboard",
"type": "Story",
"parent_id": "f470b042-54f1-4fe9-979e-eb709b9a4989",
"due_date": "2019-12-12T11:43:27.531Z",
"assignee_ids": [
"e3735941-d8e1-4be0-b4b9-54929aa07bd7"
],
"is_archived": false,
"tags": [
"hashtag1"
],
"updated_at": "2019-11-26T11:43:27.531Z",
"created_at": "2019-11-26T11:43:15.384Z",
"status_id": "e417846d-13cd-4424-b87c-6724d6a9c7e1",
"estimate": 1.1,
"description": "This is a description",
"list_id": "cfc40d7e-35a4-4ac1-916f-2c929e19fce7",
"squad_id": "3fe0aaee-de05-4fe3-9056-b5720b84f4e4",
"key": "NE-147",
"requestor_id": "e3735941-d8e1-4be0-b4b9-54929aa07bd7",
"section_id": "n4535941-d8e1-4be0-b4b9-54929aa07be8"
},
{
"id": "3669ab41-09ee-47f0-98ad-ccc12e6d9fcc",
"title": "Use CRON job for sending email alerts for analytics",
"type": "Subtask",
"parent_id": "f470b042-54f1-4fe9-979e-eb709b9a4989",
"due_date": "2019-12-12T11:43:27.531Z",
"assignee_ids": [
"e3735941-d8e1-4be0-b4b9-54929aa07bd7"
],
"is_archived": false,
"tags": [
"hashtag1"
],
"updated_at": "2019-11-26T11:43:27.531Z",
"created_at": "2019-11-26T11:43:15.384Z",
"status_id": "e417846d-13cd-4424-b87c-6724d6a9c7e1",
"estimate": 2.1,
"description": "This is a description",
"list_id": "cfc40d7e-35a4-4ac1-916f-2c929e19fce7",
"squad_id": "3fe0aaee-de05-4fe3-9056-b5720b84f4e4",
"key": "NE-147",
"requestor_id": "e3735941-d8e1-4be0-b4b9-54929aa07bd7",
"section_id": "n4535941-d8e1-4be0-b4b9-54929aa07be8"
}
]
Create an item
POST: /squads/{squad_id}/lists/{list_id}/items
Creates an item within a specified list or feature. Using this end point, you can assign it to members collaborated in the squad, set due dates, estimate, and change its status in a board.
URI Parameters
Name | Description | Type | Required |
---|---|---|---|
squad_id | string | true | |
list_id | string | true |
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be application/json | string | true |
authorization | Should be with Bearer Token | string | true |
Body Parameters
Name | Description | Type | Required |
---|---|---|---|
id | Item id should be in UUID format. | string | false |
title | Title should be a string | string | false |
description | Description should be a string | string | false |
type | Must be either Story, Task, Subtask, Enhancement, or Bug | string | false |
assignee_ids | To assign to a user, add assignee_ids as an array of UUIDs of members. You can only assign to users who are collaborated in the squad. | array | false |
due_date | Due date must be in yyyy-mm-ddThh:mm:ss+zzzz format. | datetime | false |
status_id | To set a status for an item, send status_id as a string. | string | false |
parent_id | Parent id is required to create a subtask. This field can be null if the item created is not a subtask. | string | false |
estimate | The estimate value must be between 0.01 and 1000. | number | false |
section_id | To create an item under a section, send the section_id as a string. | string | false |
tags | To add a hashtag to an item, send tags as an array. | array | false |
Possible Responses
200
Create an item
CURL EXAMPLE
curl -X POST "https://{subdomain}.zepel.io/api/v2/squads/{squad_id}/lists/{list_id}/items" \
-H "content-type: application/json" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3" \
-d @request_body
REQUEST HEADERS
content-type: application/json
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
item 200
{
"id": "3669ab41-09ee-47f0-98ad-ccc12e6d9fcc",
"title": "Take the user back to their last visited tab inside the dashboard",
"type": "Story",
"parent_id": "f470b042-54f1-4fe9-979e-eb709b9a4989",
"due_date": "2019-12-12T11:43:27.531Z",
"assignee_ids": [
"e3735941-d8e1-4be0-b4b9-54929aa07bd7"
],
"is_archived": false,
"tags": [
"hashtag1"
],
"updated_at": "2019-11-26T11:43:27.531Z",
"created_at": "2019-11-26T11:43:15.384Z",
"status_id": "e417846d-13cd-4424-b87c-6724d6a9c7e1",
"estimate": 1.1,
"description": "This is a description",
"list_id": "cfc40d7e-35a4-4ac1-916f-2c929e19fce7",
"squad_id": "3fe0aaee-de05-4fe3-9056-b5720b84f4e4",
"key": "NE-147",
"requestor_id": "e3735941-d8e1-4be0-b4b9-54929aa07bd7",
"subtask_ids": "z4735941-d8e1-4be0-b4b9-54929aa07bd7",
"comment_ids": "m7635941-d8e1-4be0-b4b9-54929aa07bd7",
"attachment_ids": [
"n4535941-d8e1-4be0-b4b9-54929aa07bd7"
],
"section_id": "n4535941-d8e1-4be0-b4b9-54929aa07be8"
}
Get an item
GET: /squads/{squad_id}/lists/{list_id}/items/{item_id}
Returns a particular item within a specified list or feature.
URI Parameters
Name | Description | Type | Required |
---|---|---|---|
squad_id | string | true | |
list_id | string | true | |
item_id | string | true |
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be application/json | string | true |
authorization | Should be with Bearer Token | string | true |
Possible Responses
200
Get an item
CURL EXAMPLE
curl -X GET "https://{subdomain}.zepel.io/api/v2/squads/{squad_id}/lists/{list_id}/items/{item_id}" \
-H "content-type: application/json" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3"
REQUEST HEADERS
content-type: application/json
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
item 200
{
"id": "3669ab41-09ee-47f0-98ad-ccc12e6d9fcc",
"title": "Take the user back to their last visited tab inside the dashboard",
"type": "Task",
"parent_id": "f470b042-54f1-4fe9-979e-eb709b9a4989",
"due_date": "2019-12-12T11:43:27.531Z",
"assignee_ids": [
"e3735941-d8e1-4be0-b4b9-54929aa07bd7"
],
"is_archived": false,
"tags": [
"hashtag1"
],
"updated_at": "2019-11-26T11:43:27.531Z",
"created_at": "2019-11-26T11:43:15.384Z",
"status_id": "e417846d-13cd-4424-b87c-6724d6a9c7e1",
"estimate": 1.1,
"description": "This is a description",
"list_id": "cfc40d7e-35a4-4ac1-916f-2c929e19fce7",
"squad_id": "3fe0aaee-de05-4fe3-9056-b5720b84f4e4",
"key": "NE-147",
"requestor_id": "e3735941-d8e1-4be0-b4b9-54929aa07bd7",
"subtask_ids": "z4735941-d8e1-4be0-b4b9-54929aa07bd7",
"comment_ids": "m7635941-d8e1-4be0-b4b9-54929aa07bd7",
"attachment_ids": [
"n4535941-d8e1-4be0-b4b9-54929aa07bd7"
],
"section_id": "n4535941-d8e1-4be0-b4b9-54929aa07be8"
}
Update an item
PUT: /squads/{squad_id}/lists/{list_id}/items/{item_id}
Updates an existing item that is specified. Only the fields provided in the body block will be updated; any unspecified fields will remain unchanged.
URI Parameters
Name | Description | Type | Required |
---|---|---|---|
squad_id | string | true | |
list_id | string | true | |
item_id | string | true |
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be application/json | string | true |
authorization | Should be with Bearer Token | string | true |
Body Parameters
Name | Description | Type | Required |
---|---|---|---|
id | Item id should be in UUID format. | string | false |
title | Title should be a string | string | false |
description | Description should be a string | string | false |
type | Must be either Story, Task, Subtask, Enhancement, or Bug | string | false |
assignee_ids | To assign to a user, add assignee_ids as an array of UUIDs of members. You can only assign to users who are collaborated in the squad. | array | false |
due_date | Due date must be in yyyy-mm-ddThh:mm:ss+zzzz format. | datetime | false |
status_id | To set a status for an item, send status_id as a string. | string | false |
parent_id | Parent id is required to create a subtask. This field can be null if the item created is not a subtask. | string | false |
estimate | The estimate value must be between 0.01 and 1000. | number | false |
section_id | To create an item under a section, send the section_id as a string. | string | false |
tags | To add a hashtag to an item, send tags as an array. | array | false |
Possible Responses
200
Update an item
CURL EXAMPLE
curl -X PUT "https://{subdomain}.zepel.io/api/v2/squads/{squad_id}/lists/{list_id}/items/{item_id}" \
-H "content-type: application/json" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3" \
-d @request_body
REQUEST HEADERS
content-type: application/json
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
item 200
{
"id": "3669ab41-09ee-47f0-98ad-ccc12e6d9fcc",
"title": "Take the user back to their last visited tab inside the dashboard",
"type": "Task",
"parent_id": "f470b042-54f1-4fe9-979e-eb709b9a4989",
"due_date": "2019-12-12T11:43:27.531Z",
"assignee_ids": [
"e3735941-d8e1-4be0-b4b9-54929aa07bd7"
],
"is_archived": false,
"tags": [
"hashtag1"
],
"updated_at": "2019-11-26T11:43:27.531Z",
"created_at": "2019-11-26T11:43:15.384Z",
"status_id": "e417846d-13cd-4424-b87c-6724d6a9c7e1",
"estimate": 1.1,
"description": "This is a description",
"list_id": "cfc40d7e-35a4-4ac1-916f-2c929e19fce7",
"squad_id": "3fe0aaee-de05-4fe3-9056-b5720b84f4e4",
"key": "NE-147",
"requestor_id": "e3735941-d8e1-4be0-b4b9-54929aa07bd7",
"subtask_ids": "z4735941-d8e1-4be0-b4b9-54929aa07bd7",
"comment_ids": "m7635941-d8e1-4be0-b4b9-54929aa07bd7",
"attachment_ids": [
"n4535941-d8e1-4be0-b4b9-54929aa07bd7"
],
"section_id": "n4535941-d8e1-4be0-b4b9-54929aa07be8"
}
Upload item attachment
POST: /squads/{squad_id}/lists/{list_id}/items/{item_id}/attachments
Upload a new attachment to a specific item.
URI Parameters
Name | Description | Type | Required |
---|---|---|---|
squad_id | string | true | |
list_id | string | true | |
item_id | string | true |
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be multipart/form-data | string | true |
authorization | Should be with Bearer Token | string | true |
Body Parameters
Name | Description | Type | Required |
---|---|---|---|
id | ID should be in UUID format. | string | false |
attachment | The file you want to upload. | file | true |
Possible Responses
200
Upload item attachment
CURL EXAMPLE
curl -X POST "https://{subdomain}.zepel.io/api/v2/squads/{squad_id}/lists/{list_id}/items/{item_id}/attachments" \
-H "content-type: multipart/form-data" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3" \
-d @request_body
REQUEST HEADERS
content-type: multipart/form-data
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
attachment 200
{
"id": "e3735941-d8e1-4be0-b4b9-54929aa07bd7",
"file_name": "file.png",
"size": 135180,
"user_id": "e3735941-d8e1-4be0-b4b9-54929aa07bd7",
"url": "/local_attachments/squad_attachments/5b0cc66b-f128-4efb-abec-4100472a2f55/original.png?1573807853",
"thumbnail_url": "/local_attachments/squad_attachments/5b0cc66b-f128-4efb-abec-4100472a2f55/thumb.jpg?1573807853",
"content_type": "image/png",
"created_at": "2019-03-21T14:07:57.660Z",
"updated_at": "2019-11-26T07:15:39.920Z",
"attached_to": {
"type": "Item",
"id": "a805a3af-c0fa-4f0b-90d2-dda8f3fc5112"
}
}
Lists
Lists in Zepel is where all items are housed. There are two types of lists in Zepel - Squad List and Feature. A Squad List is created by default along with the squad and can not be deleted.
Get all lists
GET: /squads/{squad_id}/lists
Returns all lists within a squad. This will return both the Squad List and all Features inside the squad.
URI Parameters
Name | Description | Type | Required |
---|---|---|---|
squad_id | string | true |
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be application/json | string | true |
authorization | Should be with Bearer Token | string | true |
Possible Responses
200
Get all lists
CURL EXAMPLE
curl -X GET "https://{subdomain}.zepel.io/api/v2/squads/{squad_id}/lists" \
-H "content-type: application/json" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3"
REQUEST HEADERS
content-type: application/json
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
lists 200
[
{
"id": "93630284-1835-48c1-822e-a0a6e895d7ec",
"title": "Dashboard",
"description": "This is a sample squad created by Zepel so you can quickly understand how to use Zepel within your team.",
"created_at": "2019-11-28T09:31:12.418Z",
"updated_at": "2019-11-28T09:31:12.769Z",
"type": "Feature",
"squad_id": "3fe0aaee-de05-4fe3-9056-b5720b84f4e4",
"default_board_id": "33e7adf2-8e6f-4e33-9954-99373c416c52"
},
{
"id": "646136d5-f77f-41c6-bca3-4d347fe6d54o",
"title": "Android App List",
"description": "This is a sample squad created by Zepel so you can quickly understand how to use Zepel within your team.",
"created_at": "2019-11-28T09:31:12.418Z",
"updated_at": "2019-11-28T09:31:12.769Z",
"type": "Squad List",
"squad_id": "3fe0aaee-de05-4fe3-9056-b5720b84f4e4",
"default_board_id": "33e7adf2-8e6f-4e33-9954-99373c416c52"
}
]
Create a feature
POST: /squads/{squad_id}/lists
Creates a list of type Feature within the specified squad.
URI Parameters
Name | Description | Type | Required |
---|---|---|---|
squad_id | string | true |
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be application/json | string | true |
authorization | Should be with Bearer Token | string | true |
Body Parameters
Name | Description | Type | Required |
---|---|---|---|
id | ID should be in UUID format. | string | false |
title | Title should be a string and with limit of 70 characters | string | true |
description | Description should be a string | string | false |
default_board_id | When you set a default board, all items in this feature will use statuses from this board by default. | string | false |
Possible Responses
200
Create a feature
CURL EXAMPLE
curl -X POST "https://{subdomain}.zepel.io/api/v2/squads/{squad_id}/lists" \
-H "content-type: application/json" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3" \
-d @request_body
REQUEST HEADERS
content-type: application/json
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
list 200
{
"id": "646136d5-f77f-41c6-bca3-4d347fe6d54o",
"title": "Dashboard",
"description": "This is a sample squad created by Zepel so you can quickly understand how to use Zepel within your team.",
"created_at": "2019-11-28T09:31:12.418Z",
"updated_at": "2019-11-28T09:31:12.769Z",
"type": "Feature",
"squad_id": "3fe0aaee-de05-4fe3-9056-b5720b84f4e4",
"default_board_id": "33e7adf2-8e6f-4e33-9954-99373c416c52"
}
Get a list / feature
GET: /squads/{squad_id}/lists/{list_id}
Returns all information about a specific list or feature within a squad.
URI Parameters
Name | Description | Type | Required |
---|---|---|---|
squad_id | string | true | |
list_id | string | true |
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be application/json | string | true |
authorization | Should be with Bearer Token | string | true |
Possible Responses
200
Get a list / feature
CURL EXAMPLE
curl -X GET "https://{subdomain}.zepel.io/api/v2/squads/{squad_id}/lists/{list_id}" \
-H "content-type: application/json" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3"
REQUEST HEADERS
content-type: application/json
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
list 200
{
"id": "646136d5-f77f-41c6-bca3-4d347fe6d54o",
"title": "Android App List",
"description": "This is a sample squad created by Zepel so you can quickly understand how to use Zepel within your team.",
"created_at": "2019-11-28T09:31:12.418Z",
"updated_at": "2019-11-28T09:31:12.769Z",
"type": "Squad List",
"squad_id": "3fe0aaee-de05-4fe3-9056-b5720b84f4e4",
"default_board_id": "33e7adf2-8e6f-4e33-9954-99373c416c52"
}
Squads
A squad is where members of your organization come together to achieve a common goal. Only members collaborated in a squad can gain access to a specific squad. You can not currently add or remove members from a squad via the API.
Get all squads
GET: /squads
Returns all the squads in the account that you have access to. If you are not collaborated in a specific squad, you will not be able to access its details.
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be application/json | string | true |
authorization | Should be with Bearer Token | string | true |
Possible Responses
200
Get all squads
CURL EXAMPLE
curl -X GET "https://{subdomain}.zepel.io/api/v2/squads" \
-H "content-type: application/json" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3"
REQUEST HEADERS
content-type: application/json
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
squads 200
[
{
"id": "646136d5-f77f-41c6-bca3-4d347fe6d54o",
"title": "Web App",
"description": "This is a sample squad created by Zepel so you can quickly understand how to use Zepel within your team.",
"created_at": "2019-11-28T09:31:12.418Z",
"updated_at": "2019-11-28T09:31:12.769Z",
"key": "WAP"
},
{
"id": "646136d5-f77f-41c6-bca3-4d347fe6d54o",
"title": "Android App",
"description": "This is a squad for Android App",
"created_at": "2019-11-28T09:31:12.418Z",
"updated_at": "2019-11-28T09:31:12.769Z",
"key": "AAP"
}
]
Create a squad
POST: /squads
Creates a new squad within your account.
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be application/json | string | true |
authorization | Should be with Bearer Token | string | true |
Body Parameters
Name | Description | Type | Required |
---|---|---|---|
id | Squad ID should be in UUID format. | string | false |
title | Squad title should be a string and with limit of 80 characters | string | true |
description | Squad description should be a string | string | false |
Possible Responses
200
Create a squad
CURL EXAMPLE
curl -X POST "https://{subdomain}.zepel.io/api/v2/squads" \
-H "content-type: application/json" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3" \
-d @request_body
REQUEST HEADERS
content-type: application/json
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
squad 200
{
"id": "646136d5-f77f-41c6-bca3-4d347fe6d54o",
"title": "Android App",
"description": "This is a squad for Android App",
"created_at": "2019-11-28T09:31:12.418Z",
"updated_at": "2019-11-28T09:31:12.769Z",
"key": "ERE"
}
Get a squad
GET: /squads/{squad_id}
Returns all the information about a specific squad.
URI Parameters
Name | Description | Type | Required |
---|---|---|---|
squad_id | string | true |
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be application/json | string | true |
authorization | Should be with Bearer Token | string | true |
Possible Responses
200
Get a squad
CURL EXAMPLE
curl -X GET "https://{subdomain}.zepel.io/api/v2/squads/{squad_id}" \
-H "content-type: application/json" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3"
REQUEST HEADERS
content-type: application/json
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
squad 200
{
"id": "646136d5-f77f-41c6-bca3-4d347fe6d54o",
"title": "Web App",
"description": "This is a sample squad created by Zepel so you can quickly understand how to use Zepel within your team.",
"created_at": "2019-11-28T09:31:12.418Z",
"updated_at": "2019-11-28T09:31:12.769Z",
"key": "WAP"
}
Get all squad members
GET: /squads/{squad_id}/squad_members
Returns details of all members who are collaborated in a squad.
URI Parameters
Name | Description | Type | Required |
---|---|---|---|
squad_id | string | true |
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be application/json | string | true |
authorization | Should be with Bearer Token | string | true |
Possible Responses
200
Get all squad members
CURL EXAMPLE
curl -X GET "https://{subdomain}.zepel.io/api/v2/squads/{squad_id}/squad_members" \
-H "content-type: application/json" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3"
REQUEST HEADERS
content-type: application/json
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
squad_members 200
[
{
"id": "e3735941-d8e1-4be0-b4b9-54929aa07bd7",
"squad": {
"id": "3fe0aaee-de05-4fe3-9056-b5720b84f4e4",
"name": "Android App",
"description": "This is a squad for Android App"
},
"users": {
"id": "e3735941-d8e1-4be0-b4b9-54929aa07bd7",
"name": "John Doe",
"username": "johndoe",
"confirmed_user": true
},
"created_at": "2019-03-21T14:07:57.660Z",
"updated_at": "2019-11-26T07:15:39.920Z"
},
{
"id": "e3735941-d8e1-4be0-b4b9-54929aa07bd7",
"squad": {
"id": "3fe0aaee-de05-4fe3-9056-b5720b84f4e4",
"name": "Android App",
"description": "This is a squad for Android App"
},
"users": {
"id": "r4735941-d8e1-4be0-b4b9-54929aa07bd7",
"name": "Eliza Check",
"username": "elizacheck",
"confirmed_user": true
},
"created_at": "2019-03-21T14:07:57.660Z",
"updated_at": "2019-11-26T07:15:39.920Z"
}
]
Get all squad boards
GET: /squads/{squad_id}/squad_boards
Returns all the boards associated to a specific squad along with their details.
URI Parameters
Name | Description | Type | Required |
---|---|---|---|
squad_id | string | true |
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be application/json | string | true |
authorization | Should be with Bearer Token | string | true |
Possible Responses
200
Get all squad boards
CURL EXAMPLE
curl -X GET "https://{subdomain}.zepel.io/api/v2/squads/{squad_id}/squad_boards" \
-H "content-type: application/json" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3"
REQUEST HEADERS
content-type: application/json
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
squad_boards 200
[
{
"id": "e3735941-d8e1-4be0-b4b9-54929aa07bd7",
"squad": {
"id": "3fe0aaee-de05-4fe3-9056-b5720b84f4e4",
"name": "Android App",
"description": "This is a squad for Android App"
},
"boards": {
"id": "33e7adf2-8e6f-4e33-9954-99373c416c52",
"name": "Dev Board"
},
"created_at": "2019-03-21T14:07:57.660Z",
"updated_at": "2019-11-26T07:15:39.920Z"
},
{
"id": "e3735941-d8e1-4be0-b4b9-54929aa07bd7",
"squad": {
"id": "3fe0aaee-de05-4fe3-9056-b5720b84f4e4",
"name": "Android App",
"description": "This is a squad for Android App"
},
"boards": {
"id": "33e7adf2-8e6f-4e33-9954-99373c416c52",
"name": "Design Board"
},
"created_at": "2019-03-21T14:07:57.660Z",
"updated_at": "2019-11-26T07:15:39.920Z"
}
]
Sections
Sections in Zepel allows you to group similar work items inside a list or a feature. You can use it as a subdivision of your feature or list to make it easier to read or to give your team more context.
Get all sections
GET: /squads/{squad_id}/lists/{list_id}/sections
Returns all sections within a list or feature along with its details.
URI Parameters
Name | Description | Type | Required |
---|---|---|---|
squad_id | string | true | |
list_id | string | true |
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be application/json | string | true |
authorization | Should be with Bearer Token | string | true |
Possible Responses
200
Get all sections
CURL EXAMPLE
curl -X GET "https://{subdomain}.zepel.io/api/v2/squads/{squad_id}/lists/{list_id}/sections" \
-H "content-type: application/json" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3"
REQUEST HEADERS
content-type: application/json
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
sections 200
[
{
"id": "3669ab41-09ee-47f0-98ad-ccc12e6d9fcc",
"title": "Filters for Image",
"type": "Section",
"tags": [
"hashtag_1"
],
"updated_at": "2019-11-26T11:43:27.531Z",
"created_at": "2019-11-26T11:43:15.384Z",
"list_id": "cfc40d7e-35a4-4ac1-916f-2c929e19fce7",
"squad_id": "3fe0aaee-de05-4fe3-9056-b5720b84f4e4",
"key": "NE-147",
"attachment_ids": [
"n4535941-d8e1-4be0-b4b9-54929aa07bd7"
]
},
{
"id": "3669ab41-09ee-47f0-98ad-ccc12e6d9fcc",
"title": "Search for images",
"type": "Section",
"tags": [
"hashtag_1"
],
"updated_at": "2019-11-26T11:43:27.531Z",
"created_at": "2019-11-26T11:43:15.384Z",
"list_id": "cfc40d7e-35a4-4ac1-916f-2c929e19fce7",
"squad_id": "3fe0aaee-de05-4fe3-9056-b5720b84f4e4",
"key": "NE-147",
"attachment_ids": [
"n4535941-d8e1-4be0-b4b9-54929aa07bd7"
]
}
]
Create a section
POST: /squads/{squad_id}/lists/{list_id}/sections
Creates a section within the specified list or feature.
URI Parameters
Name | Description | Type | Required |
---|---|---|---|
squad_id | string | true | |
list_id | string | true |
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be application/json | string | true |
authorization | Should be with Bearer Token | string | true |
Body Parameters
Name | Description | Type | Required |
---|---|---|---|
id | Section id in UUID format. | string | false |
title | Title should be a string | string | false |
description | Description should be a string | string | false |
tags | To add a hashtag to a section, send tags as an array. | array | false |
Possible Responses
200
Create a section
CURL EXAMPLE
curl -X POST "https://{subdomain}.zepel.io/api/v2/squads/{squad_id}/lists/{list_id}/sections" \
-H "content-type: application/json" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3" \
-d @request_body
REQUEST HEADERS
content-type: application/json
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
section 200
{
"id": "3669ab41-09ee-47f0-98ad-ccc12e6d9fcc",
"title": "Filters for Image",
"type": "Section",
"tags": [
"hashtag1"
],
"updated_at": "2019-11-26T11:43:27.531Z",
"created_at": "2019-11-26T11:43:15.384Z",
"list_id": "cfc40d7e-35a4-4ac1-916f-2c929e19fce7",
"squad_id": "3fe0aaee-de05-4fe3-9056-b5720b84f4e4",
"key": "NE-147",
"attachment_ids": [
"n4535941-d8e1-4be0-b4b9-54929aa07bd7"
]
}
Get a section
GET: /squads/{squad_id}/lists/{list_id}/sections/{section_id}
Returns a specific section within a list or feature.
URI Parameters
Name | Description | Type | Required |
---|---|---|---|
squad_id | string | true | |
list_id | string | true | |
section_id | string | true |
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be application/json | string | true |
authorization | Should be with Bearer Token | string | true |
Possible Responses
200
Get a section
CURL EXAMPLE
curl -X GET "https://{subdomain}.zepel.io/api/v2/squads/{squad_id}/lists/{list_id}/sections/{section_id}" \
-H "content-type: application/json" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3"
REQUEST HEADERS
content-type: application/json
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
section 200
{
"id": "3669ab41-09ee-47f0-98ad-ccc12e6d9fcc",
"title": "Filters for Image",
"type": "Section",
"tags": [
"hashtag1"
],
"updated_at": "2019-11-26T11:43:27.531Z",
"created_at": "2019-11-26T11:43:15.384Z",
"list_id": "cfc40d7e-35a4-4ac1-916f-2c929e19fce7",
"squad_id": "3fe0aaee-de05-4fe3-9056-b5720b84f4e4",
"key": "NE-147",
"attachment_ids": [
"n4535941-d8e1-4be0-b4b9-54929aa07bd7"
]
}
Update a section
PUT: /squads/{squad_id}/lists/{list_id}/sections/{section_id}
Updates a particular section within the specified list or feature.
URI Parameters
Name | Description | Type | Required |
---|---|---|---|
squad_id | string | true | |
list_id | string | true | |
section_id | string | true |
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be application/json | string | true |
authorization | Should be with Bearer Token | string | true |
Body Parameters
Name | Description | Type | Required |
---|---|---|---|
id | Section id in UUID format. | string | false |
title | Title should be a string | string | false |
description | Description should be a string | string | false |
tags | To add a hashtag to a section, send tags as an array. | array | false |
Possible Responses
200
Update a section
CURL EXAMPLE
curl -X PUT "https://{subdomain}.zepel.io/api/v2/squads/{squad_id}/lists/{list_id}/sections/{section_id}" \
-H "content-type: application/json" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3" \
-d @request_body
REQUEST HEADERS
content-type: application/json
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
section 200
{
"id": "3669ab41-09ee-47f0-98ad-ccc12e6d9fcc",
"title": "Filters for Image",
"type": "Section",
"tags": [
"hashtag1"
],
"updated_at": "2019-11-26T11:43:27.531Z",
"created_at": "2019-11-26T11:43:15.384Z",
"list_id": "cfc40d7e-35a4-4ac1-916f-2c929e19fce7",
"squad_id": "3fe0aaee-de05-4fe3-9056-b5720b84f4e4",
"key": "NE-147",
"attachment_ids": [
"n4535941-d8e1-4be0-b4b9-54929aa07bd7"
]
}
Users
Users in Zepel are all the members who are part of your Zepel account. Using this API endpoint, you can get all the details about a specific member.
Get user information
GET: /users/{user_id}
Returns all the information about a specific user in the account.
URI Parameters
Name | Description | Type | Required |
---|---|---|---|
user_id | string | true |
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be application/json | string | true |
authorization | Should be with Bearer Token | string | true |
Possible Responses
200
Get user information
CURL EXAMPLE
curl -X GET "https://{subdomain}.zepel.io/api/v2/users/{user_id}" \
-H "content-type: application/json" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3"
REQUEST HEADERS
content-type: application/json
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
user 200
{
"id": "e3735941-d8e1-4be0-b4b9-54929aa07bd7",
"name": "John Doe",
"username": "johndoe",
"first_name": "John",
"last_name": "Doe",
"confirmed_user": true,
"created_at": "2019-03-21T14:07:57.660Z",
"updated_at": "2019-11-26T07:15:39.920Z"
}
Streams
Streams in Zepel allows you to group customer requests from multiple sources, prioritize them, and delegate them to corresponding squads to build customer-centric software.
Create New Request
POST: /streams/requests
Post customer requests gathered from multiple sources in Zepel.
Header Parameters
Name | Description | Type | Required |
---|---|---|---|
content-type | Should be application/json | string | true |
authorization | Should be with Bearer Token | string | true |
Body Parameters
Name | Description | Type | Required |
---|---|---|---|
id | ID should be in UUID format. | string | false |
title | Either title or description must be added | string | false |
description | Either title or description must be added | string | false |
request_link | Either title or description must be added | string | false |
requestor | name - Name of the person. Must be in string format email - email of the person requesting. Must be in string format. | object | false |
Possible Responses
200
Create New Request
CURL EXAMPLE
curl -X POST "https://{subdomain}.zepel.io/api/v2/streams/requests" \
-H "content-type: application/json" \
-H "authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3" \
-d @request_body
REQUEST HEADERS
content-type: application/json
authorization: Bearer 82c312bdd5c3627327005bceb0b5b88afea4862a249e735611251f2a11e9c9b3
RESPONSE BODY
request 200
{
"id": "3669ab41-09ee-47f0-98ad-ccc12e6d9fcc",
"title": "A webapp extension",
"description": "Requesting for a Google Chrome extension for the web app",
"request_link": "https://acmecorp.canny.io/admin/board/feature-requests/p/a-webapp-extension",
"created_at": "2019-03-21T14:07:57.660Z",
"requestors": {
"id": "3669ab41-09ee-47f0-98ad-ccc12e6d9fcc",
"name": "John Doe",
"email": "john@doe.com",
"created_at": "2019-03-21T14:07:57.660Z"
}
}