POST /ideas

Creates a new idea in ProdPad.

The data for the new idea is a JSON object passed in the POST body.

Resource URL

POST https://api.prodpad.com/v1/ideas

Parameters

apikey required If the apikey parameter is missing or incorrect a 401 error will be returned

Post Body

Fields

name type required Description
description string Yes if title is not supplied Description of the idea. Can include HTML markup. Either a description or title is required otherwise a 400 will be returned
title string Yes if description is not supplied Title of the idea. Can include HTML markup. Either a description or title is required otherwiese a 400 error will be returned
creator hash Yes The key used is “id” and the value is the user id of someone with a role in the account who will be set as the creator of the idea. The user ids for an account can be fetched using the GET /users endpoint
business_case hash No The business case has two keys: “problem” with a value that is a string describing the problem being solved and “value” with a value that is a string describing the value of solving this problem. Both values will accept HTML
functional string No The functional specs for the idea. HTML is valid for this field
functional string No The functional specs for the idea. HTML is valid for this field
notes string No Notes on the idea. HTML is valid for this field.
user_stories array of hashes No Each hash has two keys: “story” which has a string value and “acceptance_criteria” which has a string value. HTML is valid for both key values. This field is not required.
comments array of hashes No Each hash has two keys: “comment” which has a string value and “user_id” which has a integer value and is one of the user ids with a role in the account. The user ids can be fetched using the GET /users endpoint.
products array of hashes No Each hash contains one key “id” which has an integer value. This is the product id that you want to associate the idea too. The product ids can be fetched using the GET /products endpoint
personas array of hashes No Each hash contains one key “id” which has an integer value. This is the product id that you want to associate the idea too. The persona ids can be fetched using the GET /personas endpoint
tags array of hashes No Each hash contains one key “id” which has an integer value. This is the tag id that you want to add to the idea. The tag ids can be fetched using GET /tags endpoint.
external_links array of hashes No Each hash has three keys: “external_id” which has a string value, “title” which has a string value and “url” which has a string value.
status hash No The hash contains the key “id” which has an integer value. This is the status id that you want added to the idea. The status ids can be fetched using GET /statues endpoint
state hash No Can be used to set the idea to being “active” (default), “active_public” (shown on the CFP portal) or “archived”.

Payload

{
  "description":"this is a new idea by API posting for Simon Cast Lion using email and setting public using active_public",
  "title" : "A title",
  "creator" : {
    "email" : "example@gmail.com"  
  },
  "state": "active_public",
  "business_case" : {
"problem" : "Why this API posting is important",
"value" : "This is valuable"
  },
  "functional" : "This is the functional spec",
  "notes" : "Have a look at the documentation",
  "user_stories" : [
{
     "story" : "here is a user story",
     "acceptance_criteria" : "here is acceptance criteria"
},
{
     "story" : "here is another user story",
     "acceptance_criteria" : "here is the second acceptance criteria"
}
  ],
  "comments"  :  [
{
     "comment" :  "Will this comment be assigned to user?",
     "user_id" : 11553
}
  ],
  "products" : [
     {
             "id" : 7216
     },
     {
             "id" : 7042
     }
  ],
  "personas" : [
     {
             "id" : 2710
     }
  ],
  "tags" : [
     {
             "id" : 20448
     },
     {
             "name": "something else"
     }
  ],
  "status" : {
     "id" : 25402
  },
  "external_links" : [
{
     "external_id" : "3434252532",
     "url" : "http://www.example.com/some_link",
     "title" : "External Url" 

Notes

  • All dates are in UTC
  • The text fields can include HTML markup
  • If “name” is included instead of “id” in the tags array, then it will attempt to match the name to the existing tags in your account and if it doesn’t find a match create a new tag.

 


Changes the status of an idea.

The data for a vote is in the POST body using a JSON object.

Resource URL

POST https://api.prodpad.com/v1/ideas/:id/statuses

Parameters

apikey required If the apikey parameter is missing or incorrect a 401 error will be returned

Post Body

Fields

name type required Description
status_id integer Yes The id of the status that the idea is to be set to. The status ids can be feteched using GET /statuses enpoint.
idea_id integer Yes The id of the idea that is having its status changed. Idea ids can be feteched using GET /ideas endpoint.
user_id integer Yes The user id of the person making the status change. The users can be fetched using GET /users endpoint.
comment string No A comment explaining the reason for the status change.

Payload

{
 
"status_id":"32",
 
"user_id" : 2,
 
"idea_id" : 1,
 
"comment" : "This has now been released in sprint 32."
}

Response

Status: 201 OK
{
   
"id" : 1,
   
"statuses": {
       
"id" : 32,
       
"added" : "2014-05-19 20:31:55"
   
},
   
"comments" : {
       
"id" : 2345,
       
"comment" : "This has now been released in sprint 32.",
       
"created_at": "2014-05-19 20:31:55",
   
},
}

Notes

  • All dates are in UTC
  • The first id in the response represents the idea id


Creates a new vote for the idea.

The data for a vote is in the POST body using a JSON object. This is an alias of the POST /votes endpoint.

Resource URL

POST https://api.prodpad.com/v1/ideas/:id/votes

Parameters

apikey required If the apikey parameter is missing or incorrect a 401 error will be returned

Post Body

Fields

name type required Description
vote string Yes One of “Yea”,”Nay” or “Maybe”
idea_id integer Yes The id of the idea that is being voted on. Idea ids can be feteched using GET /ideas endpoint.
user_id integer Yes The user id of the person making the vote. The users can be fetched using GET /users endpoint.
comment string Yes A comment explaining the reasoning for the vote.

Payload

{
 
"vote":"Yea",
 
"user_id" : 2,
 
"idea_id" : 1,
 
"comment" : "This idea has been asked about by 6 separate clients unprompted."
}

Response

Status: 201 OK
{
       
"id" : 1155,
   
"vote" : "Yea",
   
"ideas" : {
       
"id" : 1
   
},
   
"comments" : {
       
"id" : 2345,
       
"comment" : "This idea has been asked about by 6 separate clients unprompted.",
       
"ideas" : {
           
"id": 1,
       
},
       
"created_at": "2014-05-19 20:31:55",
   
},
   
"created_at": "2014-05-19 20:31:55",
   
"updated_at": "2014-05-19 20:31:55",
}

Notes

  • All dates are in UTC
  • The text fields can include HTML markup
Have more questions? Submit a request

Comments