Polls


Polls is a simple API allowing consumers to view polls and vote in them. You can view this documentation over at Apiary.

Polls API Root

This resource does not have any attributes. Instead it offers the initial API affordances in the form of the links in the JSON body.

It is recommend to follow the “url” link values, Link or Location headers where applicable to retrieve resources. Instead of constructing your own URLs, to keep your client decoupled from implementation details.

Retrieve the Entry Point

REQUEST

RESPONSE

Headers
Content-Type application/json
200 application/json
                        {
    "questions_url": "/questions"
}

                      
                        
                      
Question

Resources related to questions in the API.

Question

A Question object has the following attributes:

  • question

  • published_at - An ISO8601 date when the question was published.

  • url

  • choices - An array of Choice objects.

View a Questions Detail

REQUEST

RESPONSE

Headers
Content-Type application/json
200 application/json
                        {
    "question": "Favourite programming language?",
    "published_at": "2014-11-11T08:40:51.620Z",
    "url": "/questions/1",
    "choices": [
        {
            "choice": "Swift",
            "url": "/questions/1/choices/1",
            "votes": 2048
        }, {
            "choice": "Python",
            "url": "/questions/1/choices/2",
            "votes": 1024
        }, {
            "choice": "Objective-C",
            "url": "/questions/1/choices/3",
            "votes": 512
        }, {
            "choice": "Ruby",
            "url": "/questions/1/choices/4",
            "votes": 256
        }
    ]
}

                      
                        
                      
Choice

Vote on a Choice

This action allows you to vote on a question’s choice.

REQUEST

RESPONSE

Headers
Location /questions/1
Questions Collection

List All Questions

REQUEST

RESPONSE

Headers
Content-Type application/json
Link </questions?page=2>; rel="next"
200 application/json
                        [
    {
        "question": "Favourite programming language?",
        "published_at": "2014-11-11T08:40:51.620Z",
        "url": "/questions/1",
        "choices": [
            {
                "choice": "Swift",
                "url": "/questions/1/choices/1",
                "votes": 2048
            }, {
                "choice": "Python",
                "url": "/questions/1/choices/2",
                "votes": 1024
            }, {
                "choice": "Objective-C",
                "url": "/questions/1/choices/3",
                "votes": 512
            }, {
                "choice": "Ruby",
                "url": "/questions/1/choices/4",
                "votes": 256
            }
        ]
    }
]

                      
                        
                      

Create a New Question

You may create your own question using this action. It takes a JSON object containing a question and a collection of answers in the form of choices.

  • question (string) - The question

  • choices (array[string]) - A collection of choices.

REQUEST

Headers
Content-Type application/json
application/json
                          {
    "question": "Favourite programming language?",
    "choices": [
        "Swift",
        "Python",
        "Objective-C",
        "Ruby"
    ]
}

                        
                          
                        

RESPONSE

Headers
Content-Type application/json
Location /questions/2
201 application/json
                        {
    "question": "Favourite programming language?",
    "published_at": "2014-11-11T08:40:51.620Z",
    "url": "/questions/2",
    "choices": [
        {
            "choice": "Swift",
            "url": "/questions/2/choices/1",
            "votes": 0
        }, {
            "choice": "Python",
            "url": "/questions/2/choices/2",
            "votes": 0
        }, {
            "choice": "Objective-C",
            "url": "/questions/2/choices/3",
            "votes": 0
        }, {
            "choice": "Ruby",
            "url": "/questions/2/choices/4",
            "votes": 0
        }
    ]
}