API Spec POQU

Table of Contents

Auth

Register

URL:/auth/register

Method: POST

Auth required : NO

Request Data

{
  name,
  email,
  password,
  phone
}

Response Data

{
  success: true | false,
  message: "register success"
  data: null
}

Login

URL:/auth/login

Method: POST

Auth required : NO

Request Data

{
  identifier,
  password
}

Response Data

{
  success: true | false,
  message: "login success",
  errors: "error stack",
  data: {
    token: {
      access,
      refresh,
      ttl
    },
    user
  }
}

Refresh Token

URL:/auth/refresh

Method: POST

Auth required : NO

Request Data

{
  refresh_token
}

Response Data

{
  success: true | false,
  message: "refresh success",
  errors: "error stack",
  data: {
    access,
    refresh,
    ttl
  }
}

Podcast

List

URL:/podcast

Method: GET

Query Params

optional:

category=[string] (use category slug)

page=[integer]

size=[integer]

Auth required : YES

Response Data

{
  success: true | false,
  message: "data loaded"
  data: [
    {
      id,
      title,
      description,
      duration_time,
      duration_second,
      audio_link,
      cover_link,
      podcaster:{
        id,
        name,
        description,
        bio
      },
      categories: [
        {
          name,
          slug
        }
      ]
    }
  ]
}

Get by ID

URL:/podcast/:id

Method: GET

URL Params

required: id=[integer]

Auth required : YES

Response Data

{
  success: true | false,
  message: "data loaded"
  data:{
    id,
    title,
    description,
    duration_time,
    duration_second,
    audio_link,
    cover_link,
    podcaster:{
      id,
      name,
      description,
      bio
    },
    categories: [
      {
        id,
        name,
        slug
      }
    ]
  }
}

Category

List

URL:/categories

Method: GET

Query Params optional:

page=[integer]

size=[integer]

Auth required : YES

Response Data

{
  success: true | false,
  message: "data loaded"
  data: [
    {
      id,
      slug,
      name
    }
  ]
}