NAV Navbar
shell

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.
email 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.
email 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.
email 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.
email 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.
email 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.