Skip to content

Endpoints

William Huang edited this page Mar 22, 2017 · 5 revisions

Here are the possible endpoints available in this API:

Note: ALL headers require authentication tokens to be passed in the Authorization: schema, unless specified.


Authenticate

  • POST /login/
    • Authentication: not required.
    • Description: Authenticate a career_account-password combination and return a valid token for future API requests.
    • Request:
    {
        "career_account": "username",
        "password": "password"
    }
    • Response:
    {
       "career_account": <career_account>,
       "email": <email>,
       "first_name": <first_name>,
       "id": <id>,
       "last_name": <last_name>,
       "token": <token>
    }
    
  • DELETE /logout/
    • Description: Invalidates the authentication token
    • Request: none
    • Response:
    {
        "success": "User logged out"
    }
    

Users

  • POST /register

    • Authentication: not required.
    • Description: Register a new user.
    • Request:
    {
        career_account: <career_account>,
        password: <password>,
        first_name: <first_name>,
        last_name: <last_name>
    }
    
    • Response:
    {
       "career_account": <career_account>,
       "email": <email>,
       "first_name": <first_name>,
       "id": <id>,
       "last_name": <last_name>,
       "token": <token>
    }
    
  • GET /users

    • Authentication: not required.
    • Description: Retrieve ALL existing users in the system and their information.
    • Request: none
    • Response:
        [
            {
                "career_account": <career_account>,
                "first_name": <first_name>,
                "id": <id>,
                "last_name": <last_name>
            },
            {
                "career_account": <career_account>,
                "first_name": <first_name>,
                "id": <id>,
                "last_name": <last_name>
            },
            ...
        ]
    
  • GET /users/:id

    • Description: Get details of a user given an :id
    • Request: none
    • Response:
    {
        "career_account": <career_account>,
        "first_name": <first_name>,
        "id": <id>,
        "last_name": <last_name>
    }
    
  • PATCH users/:id

    • Description: Update a user's career_account, password, first_name, or last_name. At least one field is required, but any can be provided together.
    • Request:
    {
        career_account: <career_account>,
        password: <password>,
        first_name: <first_name>,
        last_name: <last_name>
    }
    
    • Response:
    {
       "career_account": <career_account>,
       "email": <email>,
       "first_name": <first_name>,
       "id": <id>,
       "last_name": <last_name>,
       "token": <token>
    }
    
  • DELETE users/:id

    • Description: Deletes the given user.
    • Request: none
    • Response: none
    • Status 204 No Content
  • GET /me

    • Description: Convenience endpoint for retrieving the current user's information.
    • Request: none
    • Response:
    {
       "career_account": <career_account>,
       "email": <email>,
       "first_name": <first_name>,
       "id": <id>,
       "last_name": <last_name>,
       "token": <token>
    }
    

Clone this wiki locally