---
# System prepended metadata

title: API Contract - API CMS (Article Management)

---

# API Contract - API CMS (Article Management)

## Get "v1/articles" request only using Bearer Token

__Request__
>Get by Bearer token only. This will return Article Managment list item.
>_`limit` is not required, default `10`_
>_`page` is not required, default `1`_
>_`search` is not required_
>_`sort_by` is not required, default `created_at`_
>_`sort_dir` is not required, default `desc`_
```json
Authorization: Bearer [TOKEN]
Content-Type: application/json

GET v1/articles (list of feature)
```
__Response__ **200**

```json
{
    "result" :{
        "data": [
            {
                "id": "string", //optional untuk edit details nantinya
                "page_name": "string", //ditampilkan di list item
                "created_at": "string", //ditampilkan di list item
                "updated_at": "string", //ditampilkan di list item
            }
        ]
        "total_data": "number",
        "page": "number",
        "total_page": "number"
    },
    "message": "Success"
}
```

## Get "v1/articles/section" 
__Request__
>Get by Bearer token and id. This will return Article Managment Detail for website value.
>`page_id` is required, this determine which current website needs to be edited

```json
Authorization: Bearer [TOKEN]
page_name: string
Content-Type: application/json

GET v1/articles/section (details for edit response)
```
__Response__ **200**

```json
{
    "result" :{
      "website": [
            {
                "section_name": "string",
                "section_script": "string",
                "created_at": "string",
                "updated_at": "string"
            }       
        ]
    },
    "message": "Success"
}
```

## POST "v1/articles"
__Request__
>This request will add a new page according to page_name in the payload.

```json
Authorization: Bearer [TOKEN]
Content-Type: application/json

POST v1/articles
{
    "page_name": "string"
}
```
__Response__ **200**

```json
{
    "message": "Success"
}
```


## Patch "v1/articles"
__Request__
>This request will change the value of page name with page id.

```json
Authorization: Bearer [TOKEN]
Content-Type: application/json

Patch v1/articles
{
    "page_id": "string",
    "page_name": "string"
}
```
__Response__ **200**

```json
{
    "message": "Success"
}
```

## Patch "v1/articles/section"
__Request__
>This request will change all sections in db to match section request.
>Note that this request can insert new section, update existing section, and also delete section if necessary

```json
Authorization: Bearer [TOKEN]
Content-Type: application/json

Patch v1/articles/detail
{
    "page_id": "string"
    "sections": [
        {
            "section_name": "string",
            "section_script": "string"
        }     
    ]
}
```
__Response__ **200**

```json
{
    "message": "Success"
}
```

## Delete "v1/articles"
__Request__
>This request will delete page with id = page_id and sections inside it

```json
Authorization: Bearer [TOKEN]
Content-Type: application/json

Delete v1/articles
{
    "page_id": "string"
}
```
__Response__ **200**

```json
{
    "message": "Success"
}
```