Skip to content

Latest commit

 

History

History
795 lines (655 loc) · 14.7 KB

File metadata and controls

795 lines (655 loc) · 14.7 KB

v1

Token

POST /auth/login/

Header:

Accept application/json
Content-Type application/json

Body:

{
  "email": "[email protected]",
  "password": "123456e"
}

Sample Request:

curl --request POST \
  --url {app_domain}/auth/login/ \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
    "email": "[email protected]",
    "password": "123456e"
  }'

Response: 200 OK

{
  "auth_token": "c22e85b69c40681be5db1797bef1447572439f80",
  "user_id": 1
}

User List

GET /v1/users/

Header:

Authorization TOKEN c22e85b69c40681be5db1797bef1447572439f80
Accept application/json

Sample Request:

curl --request GET \
  --url {app_domain}/v1/users/ \
  --header 'authorization: Token c22e85b69c40681be5db1797bef1447572439f80' \
  --header 'accept: application/json'

Response: 200 OK

[
  {
    "id": 1,
    "email": "[email protected]",
    "first_name": "Doit",
    "last_name": "Apps"
  }
]

User Create

POST /v1/users/

Header:

Accept application/json
Content-Type application/json

Body:

{
  "email": "[email protected]",
  "first_name": "Doit",
  "last_name": "Apps",
  "password": "123456e",
  "confirm_password": "123456e"
}

Sample Request:

curl --request POST \
  --url {app_domain}/v1/users/ \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
    "email": "[email protected]",
    "first_name": "Doit",
    "last_name": "Apps",
    "password": "123456e",
    "confirm_password": "123456e"
  }'

Response: 201 Created

{
  "id": 1,
  "email": "[email protected]",
  "first_name": "Doit",
  "last_name": "Apps"
}

User Retrieve

GET /v1/users/1/

Header:

Authorization TOKEN c22e85b69c40681be5db1797bef1447572439f80
Accept application/json

Sample Request:

curl --request GET \
  --url {app_domain}/v1/users/1/ \
  --header 'authorization: Token c22e85b69c40681be5db1797bef1447572439f80' \
  --header 'accept: application/json'

Response: 200 OK

{
  "id": 1,
  "email": "[email protected]",
  "first_name": "Doit",
  "last_name": "Apps",
  "image": "{app_domain}/media/users/user_1/images/image.png",
  "image_128x128": "{app_domain}/media/thumbnail/users/user_1/images/image.png.128x128_q85.png",
  "is_active": true,
  "is_verify": true
}

User Update

PUT /v1/users/1/

Header:

Authorization TOKEN c22e85b69c40681be5db1797bef1447572439f80
Accept application/json
Content-Type application/json

Body:

{
  "email": "[email protected]",
  "first_name": "Doit",
  "last_name": "User"
}

Sample Request:

curl --request PUT \
  --url {app_domain}/v1/users/1/ \
  --header 'authorization: TOKEN c22e85b69c40681be5db1797bef1447572439f80' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
    "email": "[email protected]",
    "first_name": "Doit",
    "last_name": "User"
  }'

Response: 200 OK

{
  "id": 1,
  "email": "[email protected]",
  "first_name": "Doit",
  "last_name": "User"
}

User Image Update

POST /v1/users/1/image/update/

Header:

Authorization TOKEN c22e85b69c40681be5db1797bef1447572439f80
Accept application/json

Body:

{
  "image": [object Object]
}

Sample Request:

curl --request POST \
  --url {app_domain}/v1/users/1/image/update/ \
  --header 'authorization: TOKEN c22e85b69c40681be5db1797bef1447572439f80' \
  --header 'accept: application/json' \
  --form 'image=@doit/static/img/logos/logo.png'

Response: 200 OK

User Image Delete

DELETE /v1/users/1/image/delete/

Header:

Authorization TOKEN c22e85b69c40681be5db1797bef1447572439f80
Accept application/json

Sample Request:

curl --request DELETE \
  --url {app_domain}/v1/users/1/image/delete/ \
  --header 'authorization: Token c22e85b69c40681be5db1797bef1447572439f80' \
  --header 'accept: application/json'

Response: 204 No Content

User Password Change

POST /v1/users/1/password/change/

Header:

Authorization TOKEN c22e85b69c40681be5db1797bef1447572439f80
Accept application/json
Content-Type application/json

Body:

{
  "old_password": "123456e",
  "new_password": "123456d",
  "confirm_new_password": "123456d"
}

Sample Request:

curl --request POST \
  --url {app_domain}/v1/users/1/password/change/ \
  --header 'authorization: TOKEN c22e85b69c40681be5db1797bef1447572439f80' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
    "old_password": "123456e",
    "new_password": "123456d",
    "confirm_new_password": "123456d"
  }'

Response: 200 OK

User Password Forgot

POST /v1/users/password/forgot/

Header:

Accept application/json
Content-Type application/json

Body:

{
  "email": "[email protected]"
}

Sample Request:

curl --request POST \
  --url {app_domain}/v1/users/password/forgot/ \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
    "email": "[email protected]"
  }'

Response: 200 OK

User Activation Resend

POST /v1/users/activation/resend/

Header:

Accept application/json
Content-Type application/json

Body:

{
  "email": "[email protected]"
}

Sample Request:

curl --request POST \
  --url {app_domain}/v1/users/activation/resend/ \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
    "email": "[email protected]"
  }'

Response: 200 OK

Task List

GET /v1/tasks/

Header:

Authorization TOKEN c22e85b69c40681be5db1797bef1447572439f80
Accept application/json

Sample Request:

curl --request GET \
  --url {app_domain}/v1/tasks/ \
  --header 'authorization: Token c22e85b69c40681be5db1797bef1447572439f80' \
  --header 'accept: application/json'

Response: 200 OK

[
  {
    "id": 1,
    "user": 1,
    "title": "Kitap",
    "status": "empty"
  },
  {
    "id": 2,
    "user": 1,
    "title": "Spor",
    "status": "uncompleted"
  }
]

Note:

status: {
  "empty",
  "uncompleted",
  "completed"
}

Task Create

POST /v1/tasks/

Header:

Authorization TOKEN c22e85b69c40681be5db1797bef1447572439f80
Accept application/json
Content-Type application/json

Body:

{
  "title": "Spor",
  "description": "Cardio Günü",
  "reminders":[
    {
      "date": "2017-08-22T12:10:44+03:00"
    },
    {
      "date": "2017-08-22T14:26:53+03:00"
    }
  ]
}

Sample Request:

curl --request POST \
  --url {app_domain}/v1/tasks/ \
  --header 'authorization: Token c22e85b69c40681be5db1797bef1447572439f80' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
    "title": "Spor",
    "description": "Cardio Günü",
    "reminders":[
      {
        "date": "2017-08-22T12:10:44+03:00"
      },
      {
        "date": "2017-08-22T14:26:53+03:00"
      }
    ]
  }'

Response: 201 Created

{
  "id": 1,
  "title": "Spor",
  "description": "Cardio Günü",
  "reminders":[
    {
      "id": 1,
      "task": 2,
      "date": "2017-08-22T09:10:44"
      "locale_date": "2017-08-22T12:10:44+03:00",
      "is_completed": false
    },
    {
      "id": 2,
      "task": 2,
      "date": "2017-08-22T11:26:53"
      "locale_date": "2017-08-22T14:26:53+03:00",
      "is_completed": false
    }
  ]
}

Task Retrieve

GET /v1/tasks/1/

Header:

Authorization TOKEN c22e85b69c40681be5db1797bef1447572439f80
Accept application/json

Sample Request:

curl --request GET \
  --url {app_domain}/v1/tasks/1/ \
  --header 'authorization: Token c22e85b69c40681be5db1797bef1447572439f80' \
  --header 'accept: application/json'

Response: 200 OK

{
  "id": 1,
  "user": 1,
  "title": "Kitap",
  "description": "1 saat kitap oku.",
  "status": "completed",
  "reminders": [
    {
      "id": 1,
      "task": 1,
      "date": "2017-07-25T16:27:18",
      "locale_date": "2017-07-25T19:27:18+03:00",
      "is_completed": true
    }
  ]
}

Task Update

PUT /v1/tasks/1/

Header:

Authorization TOKEN c22e85b69c40681be5db1797bef1447572439f80
Accept application/json
Content-Type application/json

Body:

{
  "title": "Spor",
  "description": "Cardio Günü, yüzme"
}

Sample Request:

curl --request PUT \
  --url {app_domain}/v1/tasks/1/ \
  --header 'authorization: Token c22e85b69c40681be5db1797bef1447572439f80' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
    "title": "Spor",
    "description": "Cardio Günü, yüzme"
  }'

Response: 200 OK

{
  "id": 1,
  "title": "Spor",
  "description": "Cardio Günü, yüzme"
}

Task Delete

DELETE /v1/tasks/1/

Header:

Authorization TOKEN c22e85b69c40681be5db1797bef1447572439f80
Accept application/json

Sample Request:

curl --request DELETE \
  --url {app_domain}/v1/tasks/1/ \
  --header 'authorization: Token c22e85b69c40681be5db1797bef1447572439f80' \
  --header 'accept: application/json'

Response: 204 No Content

Reminder List

GET /v1/reminders/

Header:

Authorization TOKEN c22e85b69c40681be5db1797bef1447572439f80
Accept application/json

Sample Request:

curl --request GET \
  --url {app_domain}/v1/reminders/ \
  --header 'authorization: Token c22e85b69c40681be5db1797bef1447572439f80' \
  --header 'accept: application/json'

Response: 200 OK

[
  {
    "id": 1,
    "task": 1,
    "date": "2017-07-25T16:27:18",
    "locale_date": "2017-07-25T19:27:18+03:00",
    "is_completed": true
  },
  {
    "id": 2,
    "task": 2,
    "date": "2017-08-22T09:10:44",
    "locale_date": "2017-08-22T11:10:44+02:00",
    "is_completed": true
  },
  {
    "id": 3,
    "task": 2,
    "date": "2017-08-22T11:26:53",
    "locale_date": "",
    "is_completed": true
  }
]

Reminder Create

POST /v1/reminders/

Header:

Authorization TOKEN c22e85b69c40681be5db1797bef1447572439f80
Accept application/json
Content-Type application/json

Body:

{
  "task": 1,
  "date": "2017-08-23T18:47:18+03:00"
}

Sample Request:

curl --request POST \
  --url {app_domain}/v1/reminders/ \
  --header 'authorization: Token c22e85b69c40681be5db1797bef1447572439f80' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
    "task": 1,
    "date": "2017-08-23T18:47:18+03:00"
  }'

Response: 201 Created

{
  "id": 1,
  "task": 1,
  "date": "2017-08-23T15:47:18"
  "locale_date": "2017-08-23T18:47:18+03:00",
  "is_completed": false
}

Reminder Retrieve

GET /v1/reminders/1/

Header:

Authorization TOKEN c22e85b69c40681be5db1797bef1447572439f80
Accept application/json

Sample Request:

curl --request GET \
  --url {app_domain}/v1/reminders/1/ \
  --header 'authorization: Token c22e85b69c40681be5db1797bef1447572439f80' \
  --header 'accept: application/json'

Response: 200 OK

{
  "id": 1,
  "task": 1,
  "date": "2017-07-25T16:27:18",
  "locale_date": "2017-07-25T19:27:18+03:00",
  "is_completed": true
}

Reminder Update

PUT /v1/reminders/1/

Header:

Authorization TOKEN c22e85b69c40681be5db1797bef1447572439f80
Accept application/json
Content-Type application/json

Body:

{
  "date": "2017-07-26T16:27:18+03:00"
}

Sample Request:

curl --request PUT \
  --url {app_domain}/v1/reminders/1/ \
  --header 'authorization: Token c22e85b69c40681be5db1797bef1447572439f80' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
    "date": "2017-07-26T16:27:18+03:00"
  }'

Response: 200 OK

{
  "id": 1,
  "date": "2017-07-26T13:27:18",
  "locale_date": "2017-07-26T16:27:18+03:00",
  "is_completed": true
}

Reminder Delete

DELETE /v1/reminders/1/

Header:

Authorization TOKEN c22e85b69c40681be5db1797bef1447572439f80
Accept application/json

Sample Request:

curl --request DELETE \
  --url {app_domain}/v1/reminders/1/ \
  --header 'authorization: Token c22e85b69c40681be5db1797bef1447572439f80' \
  --header 'accept: application/json'

Response: 204 No Content

Contact Create

POST /v1/contacts/

Header:

Accept application/json
Content-Type application/json

Body:

{
  "first_name": "Doit",
  "last_name": "Apps",
  "email": "[email protected]",
  "message": "Good job!"
}

Sample Request:

curl --request POST \
  --url {app_domain}/v1/contacts/ \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
    "first_name": "Doit",
    "last_name": "Apps",
    "email": "[email protected]",
    "message": "Good job!"
  }'

Response: 201 Created

{
  "first_name": "Doit",
  "last_name": "Apps",
  "email": "[email protected]",
  "message": "Good job!"
}