Authentication
Example request
curl https://nextplease.io/api/v1/sessions \
-H "Content-Type: application/json" \
-d '{"email":"example@gmail.com","password":"password"}'
Example response
{
"authentication_token":"4nxAn76-TumRoaexkDqV"
}
Next Please uses authentication tokens to allow access to the API.
You send email and password for the user you are trying to authenticate and receive a token.
Requests
Get all requests
Example request
curl https://nextplease.io/api/v1/requests \
-H "X-User-Token: 4nxAn76-TumRoaexkDqV"
Example response
[
{
"id": 123,
"title": "Example title",
"content": "Description for example request",
"category_id": 123,
"public": true,
"public_content": "This is the public description for example request",
"created_at": "2018-08-08T18:46:03.081Z",
"status": "open"
}
]
This endpoint retrieves all requests. You can filter by status using a status param.
HTTP Request
GET https://nextplease.io/api/v1/requests
Attributes
| Attribute | Type | Description |
|---|---|---|
| id | integer | Unique identifier for the request. |
| title | string | This is the title of the request. |
| content | text | This is the description of the request. |
| category_id | integer | The ID for the category this request belongs to. |
| public | boolean | This will be true if the request is publicly available. This is false by default. |
| public_content | text | This is the description that is shown on the public roadmap or changelog. |
| created_at | datetime | When the request was created. |
| status | string | The status for the request. This can be "open", "review", "planned", "pending", or "closed" |
Get a specific request
Example request
curl "https://nextplease.io/api/v1/requests/<ID>"
-H "X-User-Token: 4nxAn76-TumRoaexkDqV"
Example response
{
"id": 123,
"title": "Example title",
"content": "Description for example request",
"category_id": 123,
"public": true,
"public_content": "This is the public description for example request",
"created_at": "2018-08-08T18:46:03.081Z",
"status": "open",
"tags": [
{
"id": 123,
"name": "Example tag"
}
],
"people": [
{
"id": 123,
"name": "John Doe",
"email": "john@doe.com",
"user_id": 1,
"created_at": "2018-08-12T01:36:12.893Z"
}
],
"comments": [
{
"id": 123,
"content": "A comment!",
"user_id": 1,
"created_at": "2018-08-12T01:50:44.148Z"
}
],
"attachments": [
{
"id": 123,
"title": "An attachment",
"link": "https://google.com",
}
]
}
This endpoint retrieves a specific request along with all associated people and comments.
HTTP Request
GET https://nextplease.io/api/v1/requests/<ID>
Attributes
| Attribute | Type | Description |
|---|---|---|
| id | integer | Unique identifier for the request. |
| title | string | This is the title of the request. |
| content | text | This is the description of the request. |
| category_id | integer | The ID for the category this request belongs to. |
| public | boolean | This will be true if the request is publicly available. This is false by default. |
| public_content | text | This is the description that is shown on the public roadmap or changelog. |
| created_at | datetime | When the request was created. |
| status | string | The status for the request. This can be "open", "review", "planned", "pending", or "closed" |
Create a request
Example request
curl https://nextplease.io/api/v1/requests \
-H "Content-Type: application/json" \
-H "X-User-Token: 4nxAn76-TumRoaexkDqV" \
-d '{"title":"Request title","content":"Description of the request.","category_id":1}'
Example response
{
"message":"Successfully created request",
"request":{
"id":123,
"title":"Example title",
"content":"Description for example request",
"category_id":123,
"public":true,
"public_content":"This is the public description for example request",
"created_at":"2018-08-12T02:03:15.802Z",
"status": "open",
}
}
This endpoint will create a new request.
HTTP Request
POST https://nextplease.io/api/v1/requests
Parameters
| Attribute | Type | Description |
|---|---|---|
| title | string | This is the title of the request. |
| content | text | This is the description of the request. |
| category_id | integer | The ID for the category this request belongs to. |
| public | boolean | (Optional) This will be true if the request is publicly available. This is false by default. |
| public_content | text | (Optional) This is the description that is shown on the public roadmap or changelog. |
Update a request
Example request
curl https://nextplease.io/api/v1/requests/<ID> \
-H "Content-Type: application/json" \
-H "X-User-Token: 4nxAn76-TumRoaexkDqV" \
-d '{"title":"New request title"}' \
-X PUT
Example response
{
"message":"Successfully updated request",
"request":{
"id":123,
"title":"New request title",
"content":"Description for example request",
"category_id":123,
"public":true,
"public_content":"This is the public description for example request",
"created_at":"2018-08-12T02:03:15.802Z",
"status": "open",
}
}
This endpoint will update an existing request.
HTTP Request
PUT https://nextplease.io/api/v1/requests/<ID>
Parameters
| Attribute | Type | Description |
|---|---|---|
| title | string | This is the title of the request. |
| content | text | This is the description of the request. |
| category_id | integer | The ID for the category this request belongs to. |
| public | boolean | (Optional) This will be true if the request is publicly available. This is false by default. |
| public_content | text | (Optional) This is the description that is shown on the public roadmap or changelog. |
Delete a request
Example request
curl https://nextplease.io/api/v1/requests/<ID> \
-H "Content-Type: application/json" \
-H "X-User-Token: 4nxAn76-TumRoaexkDqV" \
-X DELETE
Example response
{
"message":"Successfully deleted request"
}
This endpoint will delete a request.
HTTP Request
DELETE https://nextplease.io/api/v1/requests/<ID>
People
Get all people
Example request
curl https://nextplease.io/api/v1/people \
-H "X-User-Token: 4nxAn76-TumRoaexkDqV"
Example response
[
{
"id": 123,
"name": "Example person",
"email": "example@gmail.com",
"created_at": "2018-08-08T18:46:03.081Z",
"company": {
"id": 123,
"name": "Example Co.",
"website": "https://example.com"
}
}
]
This endpoint retrieves all people.
HTTP Request
GET https://nextplease.io/api/v1/people
Attributes
| Attribute | Type | Description |
|---|---|---|
| id | integer | Unique identifier for the person. |
| name | string | The name of the person. |
| string | The email of the person. | |
| created_at | datetime | When the person was created. |
Get all companies
Example request
curl https://nextplease.io/api/v1/companies \
-H "X-User-Token: 4nxAn76-TumRoaexkDqV"
Example response
[
{
"id": 123,
"name": "Example company",
"website": "example.com",
"created_at": "2018-08-08T18:46:03.081Z",
"people": [
{
"id": 123,
"email": "example@gmail.com"
}
]
}
]
This endpoint retrieves all companies and the people associated with each.
HTTP Request
GET https://nextplease.io/api/v1/companies
Attributes
| Attribute | Type | Description |
|---|---|---|
| id | integer | Unique identifier for the company. |
| name | string | The name of the company. |
| website | string | The company's website. |
| created_at | datetime | When the person was created. |
| people | array | Collection of associated people with their ID and email. |
Get a specific person
Example request
curl "https://nextplease.io/api/v1/people/<ID>"
-H "X-User-Token: 4nxAn76-TumRoaexkDqV"
Example response
{
"id": 123,
"name": "Example person",
"email": "example@gmail.com",
"created_at": "2018-08-08T18:46:03.081Z",
"requests": [
{
"id": 123,
"title": "Request title",
"content": "Description of the request.",,
"category_id": 1,
"public": false,
"public_content": null,
"created_at": "2018-08-12T02:08:45.008Z",
"archived_at": null
}
],
"company": {
"id": 123,
"name": "Example Co.",
"website": "https://example.com"
}
}
This endpoint retrieves a specific person along with all associated requests.
HTTP Request
GET https://nextplease.io/api/v1/people/<ID>
Attributes
| Attribute | Type | Description |
|---|---|---|
| id | integer | Unique identifier for the person. |
| name | string | The name of the person. |
| string | The email of the person. | |
| created_at | datetime | When the person was created. |
Create a person
Example request
curl https://nextplease.io/api/v1/people \
-H "Content-Type: application/json" \
-H "X-User-Token: 4nxAn76-TumRoaexkDqV" \
-d '{"name":"Example person","email":"example@gmail.com","company_name":"Example Co."}'
Example response
{
"message": "Successfully created person",
"person": {
"id": 123,
"name": "Example person",
"email": "example@gmail.com",
"company_id": 123,
"created_at": "2018-08-08T18:46:03.081Z",
}
}
This endpoint will create a new person.
HTTP Request
POST https://nextplease.io/api/v1/people
Parameters
| Attribute | Type | Description |
|---|---|---|
| name | string | The name of the person. |
| string | The email of the person. | |
| company_name | string | The name of the company this person belongs to. We will find or create a company that matches this name. |
Update a person
Example request
curl https://nextplease.io/api/v1/people/<ID> \
-H "Content-Type: application/json" \
-H "X-User-Token: 4nxAn76-TumRoaexkDqV" \
-d '{"name":"New name"}' \
-X PUT
Example response
{
"message":"Successfully updated person",
"person":{
"id":123,
"name":"New name",
"email": "example@gmail.com",
"company_id": 123,
"created_at": "2018-08-08T18:46:03.081Z",
}
}
This endpoint will update an existing person.
HTTP Request
PATCH https://nextplease.io/api/v1/people/<ID>
Parameters
| Attribute | Type | Description |
|---|---|---|
| name | string | The name of the person. |
| string | The email of the person. | |
| company_name | string | The name of the company this person belongs to. We will find or create a company that matches this name. |
Delete a person
Example request
curl https://nextplease.io/api/v1/people/<ID> \
-H "Content-Type: application/json" \
-H "X-User-Token: 4nxAn76-TumRoaexkDqV" \
-X DELETE
Example response
{
"message":"Successfully deleted person"
}
This endpoint will delete a person.
HTTP Request
DELETE https://nextplease.io/api/v1/people/<ID>
Categories
Get all categories
Example request
curl https://nextplease.io/api/v1/categories \
-H "X-User-Token: 4nxAn76-TumRoaexkDqV"
Example response
[
{
"id": 123,
"name": "Example category",
"description": "Description for example category",
"created_at": "2018-08-08T18:46:03.081Z"
}
]
This endpoint retrieves all categories for an account.
HTTP Request
GET https://nextplease.io/api/v1/categories
Attributes
| Attribute | Type | Description |
|---|---|---|
| id | integer | Unique identifier for the category. |
| name | string | This is the name of the category. |
| description | text | This is the description of the category. |
| created_at | datetime | When the category was created. |
Tags
Get all tags
Example request
curl https://nextplease.io/api/v1/tags \
-H "X-User-Token: 4nxAn76-TumRoaexkDqV"
Example response
[
{
"id": 123,
"name": "Example tag"
}
]
This endpoint retrieves all tags for an account.
HTTP Request
GET https://nextplease.io/api/v1/tags
Attributes
| Attribute | Type | Description |
|---|---|---|
| id | integer | Unique identifier for the tag. |
| name | string | This is the name of the tag. |
Roadmap
Get all roadmap items
Example request
curl https://nextplease.io/api/v1/roadmaps \
-H "X-User-Token: 4nxAn76-TumRoaexkDqV"
Example response
[
{
"id": 123,
"priority": 1,
"stage_id": 1,
"created_at": "2018-08-10T22:16:06.547Z",
"roadmapable_type": "Request",
"roadmapable": {
"id": 123,
"title": "Example request"
}
}
]
This endpoint retrieves all items on the roadmap.
HTTP Request
GET https://nextplease.io/api/v1/roadmaps
Attributes
| Attribute | Type | Description |
|---|---|---|
| id | integer | Unique identifier for the roadmap item. |
| priority | integer | Priority order of roadmap items from first to last. |
| stage_id | integer | Unique identifier for the stage this roadmap item belongs to. |
| created_at | datetime | When the item was added to the roadmap. |
| roadmapable_type | string | This tells you the type of object that is on the roadmap. For now, this can only be a "Request". |
Get all changelog items
Example request
curl https://nextplease.io/api/v1/roadmaps/shipped \
-H "X-User-Token: 4nxAn76-TumRoaexkDqV"
Example response
[
{
"id": 123,
"priority": 1,
"stage_id": 1,
"shipped_at": "2018-08-11T22:42:00.000Z",
"created_at": "2018-08-10T22:16:06.547Z",
"roadmapable_type": "Request",
"roadmapable": {
"id": 123,
"title": "Example request"
}
}
]
This endpoint retrieves all items on the changelog.
HTTP Request
GET https://nextplease.io/api/v1/roadmaps/shipped
Attributes
| Attribute | Type | Description |
|---|---|---|
| id | integer | Unique identifier for the roadmap item. |
| priority | integer | Priority order of roadmap items from first to last. |
| stage_id | integer | Unique identifier for the stage this roadmap item belongs to. |
| shipped_at | datetime | When the roadmap item was marked shipped. |
| created_at | datetime | When the item was added to the roadmap. |
| roadmapable_type | string | This tells you the type of object that is on the roadmap. For now, this can only be a "Request". |
Get all stages
Example request
curl https://nextplease.io/api/v1/stages \
-H "X-User-Token: 4nxAn76-TumRoaexkDqV"
Example response
[
{
"id": 123,
"name": "Example stage",
"order": 1,
}
]
This endpoint retrieves all roadmap stages.
HTTP Request
GET https://nextplease.io/api/v1/stages
Attributes
| Attribute | Type | Description |
|---|---|---|
| id | integer | Unique identifier for the stage. |
| name | string | Name of the stage. |
| order | integer | Order of the stage, shown on the roadmap. |
Comments
Get a specific comment
Example request
curl "https://nextplease.io/api/v1/comments/<ID>"
-H "X-User-Token: 4nxAn76-TumRoaexkDqV"
Example response
{
"id": 123,
"content": "This an example comment",
"user_id": 1,
"commentable_type":"Request",
"commentable_id": 123,
"created_at": "2018-08-08T18:46:03.081Z",
"comments": [
{
"id": 123,
"content": "A comment!",
"user_id": 1,
"created_at": "2018-08-12T01:50:44.148Z"
}
]
}
This endpoint retrieves a specific comment along with all replies.
HTTP Request
GET https://nextplease.io/api/v1/comments/<ID>
Attributes
| Attribute | Type | Description |
|---|---|---|
| id | integer | Unique identifier for the comment. |
| content | text | Content of the comment. |
| user_id | integer | Unique identifier for the user who left this comment. |
| commentable_type | string | This tells you the type of object that this comment is attached to. Commentables can be "Request" or "Comment" types. |
| commentable_id | integer | Unique identifier of the commentable. |
Account info
Get account info
Example request
curl https://nextplease.io/api/v1/accounts \
-H "X-User-Token: 4nxAn76-TumRoaexkDqV"
Example response
[
{
"id": 123,
"company_name":"ACME, Inc.",
"brand_color":"DD3A92",
"avatar":"http://s3.us-east-2.amazonaws.com/nextplease/../../",
"logo":"http://s3.us-east-2.amazonaws.com/nextplease/../../",
"created_at": "2018-08-08T18:46:03.081Z"
}
]
This endpoint retrieves some information for the current account.
HTTP Request
GET https://nextplease.io/api/v1/accounts
Attributes
| Attribute | Type | Description |
|---|---|---|
| id | integer | Unique identifier for the account. |
| company_name | string | The company name for the account. |
| brand_color | string | The hex code brand color for the account. |
| avatar | string | The company avatar url if one exists. |
| logo | string | The company logo url if one exists. |
| created_at | datetime | When the accounts was created. |
Users
Get all users
Example request
curl https://nextplease.io/api/v1/users \
-H "X-User-Token: 4nxAn76-TumRoaexkDqV"
Example response
[
{
"id": 123,
"email":"example@gmail.com",
"name": "Example User",
"username":"exampleuser",
"role":"owner",
"avatar":"http://s3.us-east-2.amazonaws.com/nextplease/../../",
"created_at": "2018-08-08T18:46:03.081Z"
}
]
This endpoint retrieves all users for an account.
HTTP Request
GET https://nextplease.io/api/v1/users
Attributes
| Attribute | Type | Description |
|---|---|---|
| id | integer | Unique identifier for the user. |
| string | The users email address. | |
| name | string | The users name. |
| username | string | The username. |
| role | string | The users access level. Options include owner, admin, engineer, product owner, member |
| avatar | string | The users avatar if one exists. |
| created_at | datetime | When the user was added to the account. |