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